1.、文件类型
Linux系统认为一切皆文件,所以Linux将所有的东西都看作是文件,将其分了这些类:
- 普通文件:“-”
- 目录文件:“d” (directory)
- 管道文件:“p” (piping)
- 链接文件:“l” (link)
- 设备文件:块设备 “b” (block) 字符设备 “c” (char)
- 套接字文件:“s” (socket)
分别解释一下什么意思:
- 管道文件:进程间通讯的一种手段
- 链接文件:软链接(字符链接)和硬链接,软链接可以认为是windows下的快捷方式
- 设备文件:块设备:可以从任意位置读取一定长度的设备,例如磁盘、U盘、TF卡等
- 设备文件:字符设备,只能一字节一字节的读取,不能随机读取,例如鼠标、键盘等
- 套接字文件:网络通讯的一种方式
【注】Linux系统不以后缀名去区分文件类型
,后缀名的作用就是帮助我们确定用哪个软件打开它。
在ubuntu系统中,/bin和/usr/bin其实是同一个地方,但是在红帽子系统上,这俩是区分开的。
2、文件权限
- r 读权限 值:4
- w 写权限 值:2
- x 执行权限 值:1 (对于普通文件代表执行权限,对于目录文件,代表可进入权限)
- -无权限 值:0
举个简单的栗子:
- u:user 属主的访问权限(拥有者)
- g:group 属组的访问权限(和拥有者同小组的人)
- o:other 其他人的访问权限
3、修改文件权限
这里有两个修改方法:
- 文字设定法
- 数字设定法
3.1 文字设定法
chmod修改权限的命令
- u:user 属主的访问权限(拥有者)
- g:group 属组的访问权限(和拥有者同小组的人)
- o:other 其他人的访问权限
- a:all 所有人
- +:添加权限
- -:去掉权限
- =:表示直接赋值权限
注意:如果想同时给属主,属组,其他人修改权限。用逗号隔开即可
举个简单的栗子:
当前文件的权限如下:
如果想给main2这个可执行文件进行权限修改,去除属主的执行权限,命令如下:
让属主、属组,其他人都没权限,命令如下:
最后,让main2恢复到最开始的权限(rwxrwxr-x),命令如下:
3.2 数字设定法
- r:read值4(100)
- w:write值2(010)
- x:execute值1(001)
chmod XXX filename (0<= x <= 7)
- 0:没有权限
- 1:–x(001)
- 2:-w-(010)
- 3:-wx(011)
- 4:r–(100)
- 5:r-x(101)
- 6:rw-(110)
- 7:rwx(111)
touch filename 创建普通文件
mkdir dirname 创建目录文件