ls命令¶
ls [路径] 显示当前目录文件列表:
–color 不同属性以不同颜色显示(默认参数)
-a 全部显示
-i 显示 inode 值
-l 详细信息
-F 显示文件类型后缀 目录/ 链接@ 可执行文件* 端口文件= 管道文件| >
-A 显示隐藏文件
-R 递归显示子目录文件列表
-S 按文件大小排序
-t 按修改时间排序
-u 按访问时间排序
-d 只显示目录,不递归显示目录下的文件
-s 显示每个文件实际使用的文件系统的块数,块BLOCKSIZE的大小默认为512字节,可通过修改环境变量BLOCKSIZE来改变
-k 与-s选项配合使用, 把单位由BLOCKSIZE替换为KB(千字节)显示文件大小,相当于修改环境变量BLOCKSIZE
ls 还可以使用 a 、 u 、 g 、 o 表示归属关系,使用 = 、 + 、 – 表示权限变化,使用 r 、w 、 x 表示权限内容:
a 所有用户 u 归属用户 g 归属群组 o 其它用户
= 具有权限 + 增加权限 – 去除权限
r 可读权限 w 可写权限 x 可执行权限
例如:
a+x 给所有用户增加可执行权限
go-wx 将归属群组和其它用户的可写、可执行权限去掉
u=rwx 归属用户具有可读、可写、可执行权限
常见命令:
* ls -lh * ls -d, --directory 只展示目录 * ls -r, --reverse 有排序时反转 * ls -R, --recursive 递归列出子目录
排序(ls -l –sort=<WORD>):
* ls -lS 等同于 ls -l --sort=size 按大小降序排序 * ls -lt 等同于 ls -l --sort=time 按时间降序排序 * ls -lU 等同于 ls -l --sort=none * ls -lX 等同于 ls -l --sort=extension * ls -lv 等同于 ls -l --sort=version
显示时间(ls –time=<WORD>)[默认是修改时间]:
* ls -c, --time=ctime * ls -u, --time: 最后使用的最后日期
实例:
ls -lh // 查看逻辑大小
$ zhaoweiguo$ ls -lh Docker.raw
-rw-r--r--@ 1 zhaoweiguo staff 15G Jun 25 13:56 Docker.raw
ls -lskh // 查看物理大小
$ zhaoweiguo$ ls -lhks Docker.raw
3728116 -rw-r--r--@ 1 zhaoweiguo staff 15G Jun 25 13:56 Docker.raw
文件 标识位
说明:
- 表示普通文件
d 表示文件夹
c 表示字符设备文件
b 表示块设备文件
s 表示套接字 socket 文件
l 表示符号链接,也即软链
p 表示管道文件
设备相关文件:
# ls -l /dev/
crw------- 1 root root 5, 1 Dec 14 19:53 console
crw-r----- 1 root kmem 1, 1 Dec 14 19:53 mem
crw-rw-rw- 1 root root 1, 3 Dec 14 19:53 null
crw-r----- 1 root kmem 1, 4 Dec 14 19:53 port
crw-rw-rw- 1 root root 1, 8 Dec 14 19:53 random
crw--w---- 1 root tty 4, 0 Dec 14 19:53 tty0
crw--w---- 1 root tty 4, 1 Dec 14 19:53 tty1
crw-rw-rw- 1 root root 1, 9 Dec 14 19:53 urandom
brw-rw---- 1 root disk 253, 0 Dec 31 19:18 vda
brw-rw---- 1 root disk 253, 1 Dec 31 19:19 vda1
brw-rw---- 1 root disk 253, 16 Dec 14 19:53 vdb
brw-rw---- 1 root disk 253, 32 Jan 2 11:24 vdc
crw-rw-rw- 1 root root 1, 5 Dec 14 19:53 zero
1. 第一位字符。如果是字符设备文件,则以 c 开头,如果是块设备文件,则以 b 开头
2. 这里面的两个号,一个是主设备号,一个是次设备号。
主设备号定位设备驱动程序
次设备号作为参数传给启动程序,选择相应的单元。
a. mem、null、random、urandom、zero 都是用同样的主设备号 1,也就是它们使用同样的字符设备驱动
b. vda、vda1、vdb、vdc 也是同样的主设备号,也就是它们使用同样的块设备驱动
管道文件:
$ mkfifo hello
$ ls -l
prw-r--r-- 1 root root 0 May 21 23:29 hello