linux 文件访问权限说明及ls命令
举例来说明一下:
-|rw-|r--|r--
1、r代表可读,w表示可写,-表示该文件的所有者没有对文件的执行权限,具有可执行权限则用x表示。
2、第一个字符是文件类型(文件类型分两种:普通文件和目录文件,若为普通文件,用连字号-表示;若为目录文件就用d表示。)
3、剩下的字符表示对文件的访问权限
4、第一个字符的后3个字符表示
文件所有者对文件的访问权限。
5、后续3个字符表示
组成员用户对文件的访问权限。
6、再后续的3个字符为文件的
其他用户对文件的访问权限。
修改权限在终端输入:
chmod o+w xxx.xxx
表示给其他人授予写xxx.xxx这个文件的权限
chmod go-rw xxx.xxx
表示删除xxx.xxx中组群和其他人的读和写的权限
其中:
u 代表所有者(user)
g 代表所有者所在的组群(group)
o 代表其他人,但不是u和g (other)
a 代表全部的人,也就是包括u,g和o
r 表示文件可以被读(read)
w 表示文件可以被写(write)
x 表示文件可以被执行(如果它是程序的话)
其中:rwx也可以用数字来代替
r ------------4
w -----------2
x ------------1
- ------------0
行动:
+ 表示添加权限
- 表示删除权限
= 表示使之成为唯一的权限
ls的用法: ls [OPTION]... [FILE]...
列举文件信息(默认当前目录), 如果-cftuvSUX或者--sort没有设置则按照字典顺序排序条目
1) 控制显示范围
ls -a
不忽略以.开头的条目,即显示所有文件和目录包括隐藏文件和隐藏目录
ls -A
类似ls -a,但是不显式.和..目录
2) 控制显示格式
ls -1
每行列举一个文件,注意是1234的1,不是字母l
ls -x
以从左到右,由上至下的横列方式显示文件和目录名称
ls -n
类似-l, 但是列举用户和分组的id,即不显式owner和group的名字,而替代为id(数字)
ls -l的结果:
-rw-r--r-- 1 sky sky 0 Aug 31 23:43 a.txt
-rw-r--r-- 1 sky sky 0 Aug 31 23:43 b.tar
ls -n的结果:
-rw-r--r-- 1 1000 1000 0 Aug 31 23:43 a.txt
-rw-r--r-- 1 1000 1000 0 Aug 31 23:43 b.tar
ls -Q,
显示时为每个文件和文件夹的名字增加前后双引号,如
"a.txt" "b.tar" "b.txt" "bash" "bash_list.sh" "bin" "dev" "workspace"
ls -F
为条目增加指示符,例如"lib"目录显示为"lib/",文件不变,举例如:
a.txt b.tar b.txt bash/ bash_list.sh@ bin/ dev/ workspace/
ls -m
显示时用","号区隔每个文件和目录的名称,举例如
a.txt, b.tar, b.txt, bash, bash_list.sh, bin, dev, workspace
3) 控制显示内容
ls -l 使用长格式,每个文件或者目录一行,显示详细信息
具体对应:
显示方式、链接数目、所有者、组、大小(按字节)和每个文件最近一次修改时间ls -lG
G用于在长格式时不显示group名称
ls -o
类似ls -l,但是不显示owner名称
ls -g
类似ls -l,但是不显示group信息,等同于ls -lG
ls -lh -h参数通常和-l一起使用, 以可读的格式打印大小(如, 1K 234M 2G)
ls --si -l
--si参数类似-h参数,以可读的格式打印大小,但是计算单位是1000Bytes而非1024Bytes
ls -s
显示每个文件的大小,以block为单位,结果如:
0 a.txt 0 b.tar 0 b.txt 4 bash 0 bash_list.sh 4 bin 4 dev 4 workspace
ls -i
显示文件和目录的inode编号,结果如:
148712 a.txt 148775 b.txt 148773 bash_list.sh 148156 dev
148771 b.tar 148657 bash 148154 bin 148155 workspace
ls -q,
当遇到不可打印字符(即控制字符)时以?替代
4) 控制排序
ls -r
反向排序
ls -U
不排序,按照目录顺序列举条目
ls -f
不排序,开启-aU,关闭-ls --color,即ls -fl中的l会失效
ls -lS
-S参数指示用文件和目录的大小排序
ls -lt
-t参数指示用文件和目录的更改时间排序
ls -X
以文件和目录的扩展名按照字母顺序排序
ls -v
以版本顺序排序
5) 递归列举
ls -R
递归列举子目录