.. _ls: 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=):: * 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=)[默认是修改时间]:: * 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