Linux下使用ll或ls -l查看文件的信息
(ll和ls-l的区别:ll会显示出当前目录下的隐藏文件,而ls -l不会)
文件信息分为:文件类型、权限、链接数、所属用户、所属用户组、文件大小、最后修改时间、文件名,具体的可以见下图。
一、文件类型:
d:文件夹
-:普通文件
l:链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如猫等串口设备)
s:套接口文件/数据接口文件(例如启动一个MySql服务器时会产生一个mysql.sock文件)
二、文件权限
权限 | 对应数字 | 意义 |
r | 4 | 可读 |
w | 2 | 可写 |
x | 1 | 可执行 |
-:某一位置为空时显示-,表示不具备这个权限
权限位由9位组成,前3位表示文件拥有者的权限,中间3位表示文件所属用户组的权限,后3位表示其他用户的权限。
举例如下:
drwxr-xr-x 2 root mail 4096 1月 12 03:44 account
表示文件夹account,root是他的所属拥有者,具有可读可写可执行的权限;mail是他的所属用户组,具有可读、可执行的权限,不具备可写的权限;其他用户针对这个文件夹具有可读、可执行的权限,不具备可写的权限
更改权限命令:
chmod 权限 文件名
chmod有两种用法
1.chmod 用户+(-)权限 文件名
用户 | 意义 |
u | 所有者(user) |
g | 所属群组(group) |
o | 其他人(other) |
a | 全部的人(all) |
(增加权限用+,减少权限用-,直接等于的权限用=)
例:给文件test.txt的其他用户增加可读的权限
chmod o+r test.txt
权限其他说明:
文件都有默认权限:
类型 | 默认权限 |
文件 | rw-rw-rw- |
目录 | rwxrwxrwx |
但是这个权限不一定是我们linux系统的默认权限,每个系统都有一个权限掩码(unmask)
使用命令查看权限掩码(umask查看数字掩码;umask -S查看字符掩码)
数字掩码:默认掩码减去数字掩码代表的权限
字符掩码:取默认淹没和字符掩码的交集代表权限
修改权限掩码的命令:umask 007(或者umask u=rw,g=rwx,o=r)
2.chmod 权限数字 文件名
权限数字由3位数组成,第1位数表示所有者的权限;第2位数表示所属群组的权限;第3位数表示其他人的权限
例:将test.txt文件变更权限为文件拥有者可读可写可执行,文件所属组可读可写可执行;其他人可读可执行不可写。
chmod 775 test.txt
说明:数字是对应权限的数值和。例如7=4+2+1,所以7代表可读可写可执行。5=4+1,所以5代表可读可执行不可写。0代表不可读不可写不可执行
三、文件所属的拥有者和所属群组
1.更改文件拥有者
命令:chown 用户名 文件
例如:chown work test.txt(将test.txt的拥有者变更为work)
2.更改文件的所属群组
命令:chgrp 群组名称 文件
例如:chgrp named test(将test的所属群组变更为named)
其他:
1.chmod和chgrp、chown都有一个参数-R,可以递归的将目录及它以下的子目录一起变更权限等
2.有的ll后,发现第一段的权限后还有一个“.”或者“+”,如下图所示:
在网上查了一下,
“.”表示有selinux的安全标签,具有安全上下文属性(可以用ll -LZ查看)
“+”表示文件应用了其他访问控制的安全措施
(感兴趣的大家可以自己去查询一下,我也没有去查询太多的内容。)