ls

名称:ls - list directory contents 列出目录内容

语法 ls [option][file]

补充说明:执行ls指令可以列出目录内容,包括文件和子目录的名称

参数:

-a  列出目录下的所有文件,包含以. 开头的隐含文件。【常用】

-R  列出所有自目录的文件,-a只会列出本目录下的文件其他文件下的不会列出来。

-l   列出文件的详细信息【常用】

-s  在每个文件名后加上文件的大小

-t  按照时间排序【常用】

-X  按照扩展名.后的字母排序

-S      按照文件的大小排序【常用】

-R  递归的列举在当前目录下的所有目录中的内容【常用】

-r   逆向。从后向前地列举目录中的内容【常用】

-F     列出文件类型。在每一个列举想之后添加一个符号。符号分别表示:/表明是目录、@表明是其他文件的符号裂解。 * 表示是一个可执行文件。【常用】

-u  以文件上次被访问的时间来排序

-i输出文件的i节点的索引信息

-m  横向输出并以,分割

-c   输出文件的i节点的修改时间,并以此排序。

-1  一行只输出一行

实例:

1)查看目录及子目录下的文

ls -R

2)只显示目录或只显示非目录

[root@bogon tmp]# ls -l |grep ^d

drwx------ 2 root root 4096 Apr 25 16:43ssh-NwUepv2987

drwxr-xr-x 2 root root 4096 Apr 25 16:49 test

[root@bogon tmp]# ll

total 8

drwx------ 2 root root 4096 Apr 25 16:43ssh-NwUepv2987

drwxr-xr-x 2 root root 4096 Apr 25 16:49 test

[root@bogon tmp]# ls -l |grep ^[^d]

total 8


3)按照文件大小排序

[root@bogon tmp]# ls  -S

ssh-NwUepv2987 test


4)递归查询某个目录,并查看文件类型

[root@bogon tmp]# ls  -FR

ssh-NwUepv2987/ test/

./ssh-NwUepv2987:

agent.2987=

./test:

file  test/

./test/test:

(5)统计当前目录文件&目录的数量

[root@linux-lwt tmp]# ls  -l | grep "^-" | wc -l

4

[root@linux-lwt tmp]# ls  -l | grep "^d" | wc -l  

3

加上参数-R 就统计当前目录下所有的。

(6)以下命令看得懂的看吧,统计总的文件大小。

[root@gucuiwen root]# ls -l |awk 'BEGIN{sum=0}{sum+=$5}END{print sum}'
4104092

-----------------------后续自我小结----------------------

ls在查看文件信息上面,基本上功能已经很全了。比如说创建时间,大小,命令。包括可以只查看多少层,只查看目录,只查看文件等。之后凡是要查看文件的信息第一反应就是ls就能够做到。本文里面倒是少了一些实例。

---------------------------------------------------------