用法1:列出/home/alvin/test_dir目录下所有文件及目录的详细资料
命令:
- ls -lR /home/alvin/test_dir/
结果:
- [alvin@VM_0_16_centos test_dir]$ ls -lR /home/alvin/test_dir/
- /home/alvin/test_dir/:
- total 28
- -rw-rw-r– 1 alvin alvin 37 Nov 18 09:12 atb_aux.c
- -rw-rw-r– 1 alvin alvin 8 Nov 18 09:12 atb_can.c
- -rw-rw-r– 1 alvin alvin 24 Nov 18 09:12 atb_orch.c
- -rw-rw-r– 1 alvin alvin 5 Nov 18 09:12 atb_ota.c
- drwxrwxr-x 2 alvin alvin 4096 Nov 18 09:12 include
- -rw-rw-r– 1 alvin alvin 0 Nov 18 09:12 Makefile
- drwxrwxr-x 2 alvin alvin 4096 Nov 18 09:12 output
- drwxrwxr-x 2 alvin alvin 4096 Nov 18 09:12 src
- /home/alvin/test_dir/include:
- total 0
- -rw-rw-r– 1 alvin alvin 0 Nov 18 09:12 a.h
- -rw-rw-r– 1 alvin alvin 0 Nov 18 09:12 b.h
- -rw-rw-r– 1 alvin alvin 0 Nov 18 09:12 c.h
- /home/alvin/test_dir/output:
- total 0
- -rwxrwxr-x 1 alvin alvin 0 Nov 18 09:12 app
- /home/alvin/test_dir/src:
- total 0
- -rw-rw-r– 1 alvin alvin 0 Nov 18 09:12 a.c
- -rw-rw-r– 1 alvin alvin 0 Nov 18 09:12 b.c
- -rw-rw-r– 1 alvin alvin 0 Nov 18 09:12 c.c
在这里,-l 选项大家应该比较熟悉,是以列表的形式显示结果的意思。而对于 -R 选项,意思是递归处理,将指定目录下的所有文件及子目录一并处理。
用法2:列出/home/alvin/test_dir目录下以atb开头的所有文件的详细内容
命令:
- ls -l atb*
结果:
- [alvin@VM_0_16_centos test_dir]$ ls -l atb*
- -rw-rw-r– 1 alvin alvin 37 Nov 18 09:12 atb_aux.c
- -rw-rw-r– 1 alvin alvin 8 Nov 18 09:12 atb_can.c
- -rw-rw-r– 1 alvin alvin 24 Nov 18 09:12 atb_orch.c
- -rw-rw-r– 1 alvin alvin 5 Nov 18 09:12 atb_ota.c
用法3:只列出目录下的子目录
(1) 方法1:
命令
- ls -F /home/alvin/test_dir | grep /$
结果:
- [alvin@VM_0_16_centos test_dir]$ ls -F /home/alvin/test_dir | grep /$
- include/
- output/
- src/
其中:-F选项表示在每个文件名后附上一个字符以说明改文件的类型。“*”:表示可执行的普通文件;“/”:表示目录;“@”:表示符号链接;“|”:表示FIFOs;“=”:表示套接字。
/$ 其实是一个正则表达式,表示以 / 结尾。grep /$ 表示过滤出以 / 结尾的结果,也就是子目录。