1.简介
ls命令用来显示目录内容,在Linux中是使用率较高的命令。ls命令的输出信息可以进行彩色加亮显示,以分区不同类型的文件。
2.命令格式
ls [OPTION]... [FILE]...
3.选项说明
-a,--all:显示所有档案及目录(ls内定将档案名或目录名称以“.”开头的文件视为影藏文件,默认不会列出);
-A,--almost-all:显示除影藏文件“.”和“..”以外的所有文件列表;
--author:与-l选项结合使用,打印出每一个文件的作者;
-b, --escape:将文件中的不可输出的字符以反斜线“\”加字符编码的方式输出;
--block-size=SIZE:使用指定的SIZE作为统计文件大小的单位。SIZE可以取如下字符串,或对应的数值: KB 1000, K 1024, MB 1000*1000, M 1024*1024,以及G, T, P, E, Z, Y等;
-B, --ignore-backups:不要列出以~结尾的隐含条目,默认列出;
-c:与“-lt”选项连用时,按照文件状态改变时间排序输出目录内容,排序的依据是文件的索引节点中的ctime字段。与“-l”选项连用时,展示ctime,则按照明文名称排序;
-C:多列显示输出结果。这是默认选项;
--color[=WHEN]:使用不同的颜色高亮显示不同类型文件,WHEN的默认取值为'always',也可以是'never'或'auto';
-d, --directory:仅显示目录名,而不显示目录下的内容列表。显示符号链接文件本身,而不显示其所指向的目录或文件;
-D, --dired:以Emacs的dired模式输出;
-f:此参数的效果和同时指定“aU”参数相同,并关闭“-ls --color”参数效果;
-F, --classify:在每个输出项后追加文件的类型标识符,具体含义:“*”表示具有可执行权限的普通文件,“/”表示目录,“@”表示符号链接,“|”表示命令管道FIFO,“=”表示sockets套接字。当文件为普通文件时,不输出任何标识符;
--file-type:与“-F”选项的功能相同,但是不显示“*”;
--format=WORD:WORD可取值为across,等价于-x选项。取值为commas,等价于-m。取值为horizontal,等价于-x。取值为long,等价于-l。取值为single-column,等价于-1。取值为verbose,等价于-l。取值为vertical,等价于-C;
--full-time:列出完整的日期与时间;
-g:类似于-l,但不列出所属者;
--group-directories-first:目录排在文件之前列出;
-G, --no-group:在长格式(-l)输出时,不输出组名;
-h, --human-readable:以可读方式显示文件大小;
--si:以1000代替1024计算文件大小;
-H, --dereference-command-line:使用命令列中的符号链接指示的真正目的地;
--dereference-command-line-symlink-to-dir:遵循命令行中列出的符号链接;
--hide=PATTERN:不列出符合PATTERN模型的隐藏文件;
--indicator-style=WORD:追加指示符WORD到每一个文件或目录名称后,none默认 slash (-p), file-type (--file-type), classify (-F);
-i, --inode:显示文件索引节点号(inode)。一个索引节点代表一个文件;
-I, --ignore=PATTERN:不列出匹配PATTERN的文件或目录名;
-k:以KB(千字节)为单位显示文件大小,类似于--block-size=1K;
-1:数字1,与“-C”选项功能相反,所有输出信息用单列格式输出,不输出为多列;
-l:以长格式显示目录下的内容列表。输出的信息从左到右依次包括文件名,文件类型、权限模式、硬连接数、所有者、组、文件大小和文件的最后修改时间等;
-L,--dereference:如果遇到性质为符号链接的文件或目录,直接列出该链接所指向的原始文件或目录;
-m:用“,”号区隔每个文件和目录的名称;
-n:以用户识别码和群组识别码替代其名称;
-N,--literal: 直接列出文件和目录名称,包括控制字符;
-o: 此参数的效果类似于"-l",但不列出用户组信息;
-p, --indicator-style=slash:追加斜杠/指示符到目录名后;
-q, --hide-control-chars:用"?"号取代控制字符,列出文件和目录名称;
--show-control-chars:显示文件和目录名称中的控制字符;
-Q, --quote-name:把文件和目录名称以双引号“”标示起来;
--quoting-style=WORD:使用指定的引号模式来标识档案名称,WORD的取值有:literal, locale, shell, shell-always, c, escape;
-r, --reverse:以文件名反序排列并输出目录内容;
-R, --recursive:递归处理,将指定目录下的所有文件及子目录一并处理;
-s,--size:显示文件和目录的大小,以区块为单位;
-S:以文件大小进行排序;
--sort=WORD:以指定的内容进行排序,而非默认的档案名称,WORD可取值:none(不排序,等于-U);extension(以条目名的最后一个扩展名排序,等于-X);size(以用条目大小排序,等于-S);time(以条目内容最后被修改时间排序,等于-t);version(以条目版本进行排序,等于-v);
--time=WORD:当使用-t或--sort=time来按照时间排序时,WORD可取值为atime、access、use(表示使用访问时间排序);或者ctime、status(状态改变时间排序),来取代默认以内容修改时间排序;
--time-style=STYLE:使用-l选项时,显示时间使用指定的样式风格STYLE,可取值为full-iso,long-iso,iso,locale,还有+FORMAT,FORMAT,这两项设置格式可以参考date命令的设置方法;
-t:用文件和目录的内容修改时间排序;
-T, --tabsize=COLS:设置每一列之间的Tab间隔符代表的宽度为COLS,默认为8个空格;
-u:与-lt同用,表示使用访问时间排序,与-l同用,显示访问时间而非内容修改时间;
-U:列出文件和目录名称时不予排序;
-v:文件和目录的名称列表以版本进行排序;
-w,--width=COLS:设置每列的最大字符数为COLS;
-x:以从左到右,由上至下的横列方式显示文件和目录名称;
-X:以文件和目录的最后一个扩展名排序;
--help:显示帮助信息;
--version:显示版本信息;
4.常用示例
(1)ls命令按照修改日期递减排序
ls -t
如果想按照修改日期递增的话使用ls -rt
就行了。
(2)显示隐藏文件,包括当前目录和父级目录。
[dablelv@TENCENT64 ~]$ ll -a
total 148
drwxr-x--- 8 dablelv dablelv 4096 Nov 23 23:56 .
drwxr-xr-x 22 root root 4096 Jun 7 15:15 ..
-rw------- 1 dablelv dablelv 71812 Nov 24 00:38 .bash_history
-rw-r--r-- 1 dablelv dablelv 2153 May 2 2017 .bash_profile
-rw------- 1 dablelv dablelv 595 Nov 24 16:57 .lesshst
drwx------ 2 dablelv dablelv 4096 Jul 23 20:42 .ssh
ll实际是ls -l
的别成,使用alias命令可以查看相关命令。
[dablelv@TENCENT64 ~]$ alias
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias vi='vim'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
(3)以指定的文件大小类型展示。
[dablelv@TENCENT64 ~]$ ll --block-size=K
total 24K
drwxrwxr-x 10 dablelv dablelv 4K Nov 21 15:08 code_root
-rwxrwxr-x 1 dablelv dablelv 1K Nov 21 00:18 dable.php
-rw-rw-r-- 1 dablelv dablelv 1K Nov 21 00:18 dablelala.php
-rw-rw-r-- 1 dablelv dablelv 0K Nov 23 23:56 dablelv~
-rw-rw-r-- 1 dablelv dablelv 1K Nov 21 00:40 dablenewnew
drwxrwxrwx 2 dablelv dablelv 4K Nov 21 00:29 new
drwxrwxr-x 6 dablelv dablelv 4K Nov 21 00:24 test
参考文献
[1]man ls
[2]Linux命令大全.ls命令
[3]每天一个命令(2)