ls也就是list的简写,可以用于显示目录的内容,也可以显示文件的属性,比如节点、文件种类、权限、拥有者、大小、创建时间等。相当于Windows下的dir命令。

ls 的基础语法

语法格式:

#ls [option][file]

各选项:

-a 显示所有文件,包含隐藏文件;包括“.”和“..”

-A 显示所有文件,包含隐藏文件,不包括“.”和“..”目录;

-B 不列出文件名以~结尾的文件;

-C 按列列出文件;

-d 仅可以查看目录自身的属性参数及信息;

-F 这个参数加上后,能给目录添加上/,给可执行文件加上*,给符号链接加上@  等等,来标记文件名,目的是让用户方便查看;

-l 长格式输出

-h 习惯人们可阅读的方式来显示文件或目录的大小,比如K、M或G等;

-p 在目录的后面附加/标记;

-r 逆序列出文件;

-t  按文件最后访问(或修改)的时间排序,最新的排在最前面;

-U 按原始排序,

-L 递归显示,也就是说,当我们列某个目录的下的所有文件和目录时,能把它的下级目录的内容显示出来。

--help  获得帮助;

默认情况下,只输入ls ,就会列出用户所处当前目录的所有文件,用短格式输出,但不会列出隐藏文件。

ls -l的结果说明

使用-l选项,可以以长格式的方式显示目录内容,如:

clip_image002

在此输出结果中,总共显示出七列内容:

第一列为文件种类及权限。此列共有10个字符,其中第一个字符表示文件的种类。即,-表示是普通文件,d表示为目录,c表示为字符设备,b表示为块设备。而紧跟其后的10个字符,可以分为3块,每3个字符为一块,表示了此文件(目录)的属主、属组及others的权限。其中,r表示read,w表示write,x表示execute,-表示无权限。

如,上图中的第一行,-rw-------,表示这是一个普通文件,文件的属主有读取和写入的权限,文件的属组无权限,others无权限。

第二列表示硬链接个数(文件每增加一个硬链接,数字会增加1,默认从1开始,1表示无硬链接文件,如果是一个目录,它的默认值应该是2。目录是不能做硬链接的)。

第三列为文件(目录)的属主。

第四列为文件(目录)的属组。

第五列为文件(目录)的大小,单为为字节。

第六列为文件(目录)创建时间或最后一次访问时间,顺序为月、日、时间,如果该时间离现在过久,则直接显示年份。

第七列为文件名。

由于ls –l命令比较常用,在某些发行版中,已经将ll命令定义为ls –l的别名了。

ls常用选项

ls 显示目录的内容时,会将文件按a到z的字母顺序显示,优先级如下:

数字

a-z 

A-Z

也就是说如果不加任何排序的选项,文件名第一个字母是数字的,将优先显示;其次才是A-Z,然后才是a-z。我们可以加不同的选项以排序显示:

按文件的大小排序,-S选项;

clip_image004

如果是逆序排序时,我们要用到-r选项;

clip_image006

按最后访问的时候排序,要用到-t选项;

根据扩展名进行排序,要用到选项 -X ;

clip_image008

递归显示目录的文件,要用到-R选项;

递归显示目录下的所有文件,如果该目录下有子目录,也会把子目录的文件一并显示出来。

ls输出内容在终端显示颜色的选项 --color;

在一般的情况下,ls输出内容是有颜色的,比如目录是蓝色,压缩文件是红字的显示。如果没有颜色,可以加上选项。当然也可以去掉颜色。

--color=never  表示输出结果时没有彩色

--color=auto  表示自动

--color=always 表示输出内容有彩色

通配符在ls命令中的应用

* 代表0个或多个字符,而[]内部包括任何字符,而?代表任何单个字符。

比如我们显示在/目录下的所有以m开头的文件:

clip_image010

我们显示当前目录下以数字开头的所有文件:

clip_image011

再如:

clip_image013