ls命令是linux常用命令之一,用于在命令控制台提示符中列出目录和文件信息。
一、ls命令用法:
ls命令运行在命令提示符终端,用法如下。其中【选项】和为可选参数,可以一零个或者多个选项;【文件】也为可选参数,可以为零个或者多个;如果未指定文件,默认为列出当前目录下的文件:用法:ls [选项]... [文件]...
二、ls命令参数详解:
下面是爱E族(aiezu.com)收集整理的ls详细选项,如有错误的地方,欢迎指正:参数名描述
-a
--all列出所有的文件和目录,包括以“.”号开头的;
-A
--almost-all列出所有的文件和目录,包括以“.”号开头的(除了“.”和“..”);
-b
--escape将文件名中的不可见字符,使用“\”开头的八进制转换字符表示;
--block-size=SIZE指定每块的大小,如果指定了此值,将显示块数,不再显示文件大小;
可能的值:
数 字,如:50、1024、102400;
数字+单位,如:1k、2m、5g、10t;
-B
--ignore-backups不要显示以“~”结尾的文件;
-c按文件修改时间排序,可以使用“-l”选项显示创建时间;
-C使用列的顺序输出文件列表;
--color[=WHEN]是否使用不同的颜色区分文件类型,可能的值:
never:从不;
always:总是;
auto:自动。
-d
--directory列出目录的信息,而不是列出命令里面的内容;
-D
--diredGenerate output designed for Emacs' dired mode;
-f不排序, 使用“-aU”选项, 停用“-lst”选项;
-F
--classify给文件名末尾添加一个标识符(*/=@|中的一个):
“*”:可执行文件;
“/”:目录;
“=”:socket文件;
“@”:符号链接(symbolic link)文件;
“|”:FIFOs文件;
--format=WORD设置输出的格式,可能的值:
across:相当于“-x”;
commas:相当于“-m”;
horizontal:相当于“-x”;
long:相当于“-l”;
single-column:相当于“-1”;
verbose:相当于“-l”;
vertical:相当于“-C”;
--full-time列出文件完整的修改日期和时间;
-g(ignored)
-G
--no-group不显示文件的用户组;
-h
--human-readable自动将文件大小使用方便阅读的方式表示,如:1.23K, 2.4M, 9G;
-H
--si单位转换使用1000,而不是1024;
如:1M = 1000K,而不是 1M = 1024K;
--indicator-style=WORD按指定样式给文件名追加一个标识,可能的值:
none:不添加,默认值;
classify:相当于“-F”;
file-type: 相当于“-p”;
slash:目录添加斜杠;
-i
--inode输出文件使用的index node;
-I
--ignore=PATTERNDo not list implied entries matching shell PATTERN
-k
--kilobytes以K为单位显示文件大小,相当于“--block-size=1024”;
-l以长列表的形式显示文件的详细信息;
-L
--dereference列出符号链接指向的条目,而不是列出符号链接;
-m所有的相连并使用“,”逗号分隔;
-n
--numeric-uid-gid使用数字UIDs、GIDs来代替名字;
-N
--literal输出原始名称,对特殊字符不做特别处理,如:控制字符;
-o使用没有组信息的长列表格式
-p
--file-type根据文件类型,给文件名末尾添加一个标识符(/=@|中的一个);
-q
--hide-control-chars以?号代替不可显示字符(默认);
--show-control-chars显示控制字符,不使用?号代替;
-Q
--quote-name给名称加上双引号;
--quoting-style=WORD条目名称使用的引号样式,可选的值:literal、shell、shell-always、c、c-maybe、escape、clocale;
-r
--reverse使用反序排序;
-R
--recursive递归列出目录和子目录的文件;
-s
--size以块为单位输出文件大小;
-S根据文件大小排序;
--sort=WORD排序关键词,可能的值: "none", "time", "size", "extension", "version";
--time=WORD显示文档的指定时间,而不是显示修改时间,可能的值:
atime, access, use, ctime or status;
如果“--sort=time”,也可以使用此时间作为排序键;
-t使用修改时间排序;
-T
--tabsize=COLS设置tab制表符的长度,而不是使用默认的8字符长度;
-u按最后访问时间排序; 使用“-l”显示最后访问时间;
-U不排序,使用目录的默认顺序;
-v按版本排序
-w
--width=COLS指定屏幕宽度,而不是使用屏幕的实际宽度;
-x按行的顺序显示,而不是按列的顺序;
-X按字母顺序排序;
-1每行显示一个文件;
--help显示帮助信息;
--version输出版本号;
三、用法演示:
1、“-a”和“-A”选项的区别:[root@aiezu.com ~]# ls -a
. .. anaconda-ks.cfg .bash_history .bash_logout .bash_profile .bashrc .cshrc mysqlaccess.log .mysql_history .tcshrc .viminfo
[root@aiezu.com ~]# ls -A
anaconda-ks.cfg .bash_history .bash_logout .bash_profile .bashrc .cshrc mysqlaccess.log .mysql_history .tcshrc .viminfo
2、“-b”和“--show-control-chars”选项演示:
下面通过创建两个含不可显示字符“\001”和“\n”的文件名,来展示“-b”和“--show-control-chars”选项的区别:[root@aiezu.com mm]# touch "`echo -e "aiezu.com\001.txt"`"
[root@aiezu.com mm]# touch "`echo -e "aiezu\n.com.txt"`"
[root@aiezu.com mm]# ls
aiezu.com?.txt aiezu?.com.txt
[root@aiezu mm]# ls -b
aiezu.com\001.txt aiezu\n.com.txt
[root@aiezu.com mm]# ls --show-control-chars
aiezu.com.txt aiezu
.com.txt
3、文件大小:[root@S2 opt]# ls -l aiezu.com.zip
-rw-r--r-- 1 root root 8007112 Nov 22 21:45 aiezu.com.zip
[root@S2 opt]# ls -lh aiezu.com.zip
-rw-r--r-- 1 root root 7.7M Nov 22 21:45 aiezu.com.zip
[root@S2 opt]# ls -l --block-size=1k aiezu.com.zip
-rw-r--r-- 1 root root 7820 Nov 22 21:45 aiezu.com.zip
[root@S2 opt]# ls -s aiezu.com.zip
7820 aiezu.com.zip
4、ls命令“-F 参数”与“-p”参数演示:
5、文件创建时间、访问时间、修改时间:#文件的创建时间
[root@aiezu mm]# ls -lc aiezu.com.conf
-rw-r--r--. 1 root root 2 11月 22 22:43 aiezu.com.conf
[root@aiezu mm]# ls --full-time --time=ctime aiezu.com.conf
-rw-r--r--. 1 root root 2 2016-11-22 22:43:23.572000000 +0800 aiezu.com.conf
#文件的修改时间:
[root@aiezu mm]# ls -l aiezu.com.conf
-rw-r--r--. 1 root root 2 11月 22 22:41 aiezu.com.conf
[root@aiezu mm]# ls --full-time aiezu.com.conf
-rw-r--r--. 1 root root 2 2016-11-22 22:41:55.575000000 +0800 aiezu.com.conf
#文件的访问时间:
[root@aiezu mm]# ls -lu aiezu.com.conf
-rw-r--r--. 1 root root 2 11月 22 22:42 aiezu.com.conf
[root@aiezu mm]# ls --full-time --time=atime aiezu.com.conf
-rw-r--r--. 1 root root 2 2016-11-22 22:42:15.060000000 +0800 aiezu.com.conf