显示目录中的文件列表
ls [-aAbBcCdfFgGHiIklLmnNopqQrRsStuUvxXZ1] [gnu-opts] [files]
ls [--help] [--version]
ls命令用于显示指定目录或当前目录中的文件列表。其中,files是一个或多个目录(或文件)。如果未指定任何目录或文件,默认的目录为当前目录。
如果未指定任何选项与参数,通常仅逐列显示当前目录中的文件和子目录的名字,忽略文件名首字符为句点“.”的隐藏文件。如果文件名中含有控制字符等不可打印字符,则使用问号“?”替代相应的字符。如果未指定任何排序选项,显示的文件列表将会按照文件名的字符编码排序,或逐行显示,逐列(垂直排序)显示。
-a, --all 列出所有文件,包括文件名首字符为句点“.”的隐藏文件。
-A, --almost-all 类似于“-a”选项,但禁止输出当前目录“.”和父目录“..”。
-b, --escape 以八进制数值编码的转义字符序列显示不可打印的字符。
-B, --ignore-backups 禁止显示文件名含有波浪号“~”后缀的备份文件。
-c, --time=ctime, --time=status 与“-l”选项一起使用时,使用文件信息节点的状态修改时间取代文件的最近访问时间。与“-t”选项一起使用,显示文件列表时,按照文件信息节点的状态修改时间排序。
-C, --format=vertical 逐列显示每个文件,垂直排序。这是默认的选项。
-d, --directory 类似于普通文件,仅仅显示目录名本身,而不显示其中的文件列表。如果命令行文件名参数含有符号链接文件,仅显示符号链接文件本身,而不显示其引用的文件,除非指定了“-H”或“-L”等选项。
-f 类似于“-a”选项,但仅显示文件的名字,省略排序步骤,按文件在目录文件中的自然存储位置依次显示,禁止用颜色表示文件。
-F, --classify 在显示的文件名后面附加一个文件类型标志,如“*”(可执行文件)、“/”(目录)、“=”(套接字)、“@”(符号链接文件)或“|”(管道文件)等,空表示普通文件。
-g 类似于“-l”选项,但在长列表的输出中省略文件属主一列。
-G, --no-group 类似于“-l”选项,但在长列表的输出中省略用户组一列。
-h, --human-readable 类似于“-l”选项,但采用容易阅读和理解的形式(如1.2K或6M等)表示文件的大小。其中K表示1024(而非1000)个字节,M表示10242(而非10002)个字节,如此类推。
-H, --dereference-command-line 如果命令行文件参数是一个指向目录的符号链接文件,则显示其引用目录中的文件。如果命令行文件参数是一个指向文件的符号链接文件,则显示其引用的文件。
-i, --inode 显示每个文件的信息节点号。
-I pattern, --ignore=pattern 禁止输出文件名匹配指定Shell文件名模式(非正则表达式)的文件,即使指定了“-a”或“-A”选项。
-k 以1024个字节(常规的KB)为单位显示文件的大小,相当于指定了“--block-size=1K”选项。
-l, --format=long, --format=verbose 采用长列表形式显示文件。除了文件名之外,还会显示文件的类型、访问权限、链接计数、文件属主、用户组、文件大小和访问时间等。除非另有指定,文件大小以字节为单位。在输出的信息中,第一列的第一个字符表示文件类型,如“-”(普通文件)、“b”(块特殊文件)、“c”(字符特殊文件)、“d”(目录)、“l”(符号链接文件)、“p”(管道文件)和“s”(套接字)等。第一列从第二个字符开始的9个字符分为三组,分别表示文件属主、用户组和其他人的读(“r”)、写(“w”)与执行(“x”)权限。“-”表示缺乏相应的权限。每一组的执行位(“x”)可能是“s”(表示文件的setuid或setgid以及执行位已设置)、“S”(表示文件的setuid或setgid位已经设置,但执行位未设置)、“t”(表示文件的粘性位与第三组的执行位均已设置)和“T”(表示文件的粘性位已经设置,但第三组的执行位未设置)等。此外,如果系统启用了SELinux,且文件设置了SELinux安全属性,第一个字段后面还会附加一个句点“.”。在输出文件名列表之前,第一行的“total blocks”表示目录中所有文件已分配数据块的总和。通常,一个数据块为1KB。如果指定了“-h”等选项,计数单位也随之而变。注意,每个硬链接文件是单独计算的。
-L, --dereference 如果文件是一个符号链接文件,显示的文件名是符号链接文件本身,但显示的文件属性均来自其引用的文件。当与“-R”选项一起使用时,对于递归过程中遇到的每一个指向目录的符号链接文件,列出其相应目录中的文件。
-m, --format=commas 使用逗号“,”作为分隔符,逐个逐行地显示每个文件名。
-n, --numeric-uid-gid 类似于“-l”选项,但以用户ID和用户组ID分别取代用户名和用户组名。
-N, --literal 按原始文件名显示,文件名中的不可打印字符以问号“?”表示。
-o 类似于“-l”选项,但省略用户组一列。
-p, --indicator-style=slash 在目录名之后附加一个斜线“/”字符,以示区别。
-q, --hide-control-chars 使用问号“?”替代文件名中的不可打印字符。
-Q, --quote-name 在文件名前后加双引号,以八进制数字编码的转义字符形式显示文件名中的不可打印字符。
-r, --reverse 按字符编码顺序反向排序。
-R, --recursive 递归地列出每个子目录中的文件。
-s, --size 在最左边增加一列,显示每个文件已分配的存储空间,存储空间按1KB的数据块计数。如果指定了“-h”等选项,存储单位也随之而变。
-S, --sort=size 按照文件的大小排序,文件越大位置越靠前。
-t, --sort=time 按照文件的最近修改时间排序,时间越新位置越靠前。
-T cols, --tabsize=cols 使用指定的数值取代默认值8作为制表符的递进定位度量。
-u, --time=atime, --time=access, --time=use 与“-l”选项一起使用时,显示文件的访问时间。与“-t”选项一起使用,显示文件列表时,按照文件的最近访问时间排序。
-U, --sort=none 省略常规的排序步骤,只需按照文件在目录中的自然存储顺序依次列出即可。
-v, --sort=version 按照文件名中的版本数字排序。
-w cols, --width=cols 使用指定的列宽(而非默认的列宽)显示文件(的属性字段)。
-x, --format=across, --format=horizontal 类似于“-C”选项,但采用逐行多列的方式显示每个文件,水平排序。
-X, --sort=extension 按照文件扩展名的字符编码顺序依次列出文件。
-1, --format=single-column 每行仅显示一个文件。
--author 同“-l”选项一起使用时,增加一列显示每个文件的作者名。
--block-size=size 使用指定字节数的数据块作为文件大小的计量单位。指定的size可以是KB(1000)、K(1024)、MB(10002)、M(10242)、GB(10003)或G(10243)之一(前面可以加一个整数)。其他可用的单位还有T、P、E、Z和Y,其表示方法类似。
--color[=when] 利用彩色字符显示文件名以区分文件类型。其中的when可设置为默认的always(总是采用彩色输出)、never(禁止彩色输出)或auto(根据终端类型自动确定)。
--file-type 类似于“-F”选项,但省略“*”标志。
--format=word 按照指定的格式显示文件列表,其中,across相当于“-x”选项,commas相当于“-m”选项,horizontal相当于“-x”选项,long、single-column和verbose均相当于“-l”选项,vertical相当于“-C”选项。
--full-time 类似于“-l”选项,但显示的时间信息更完整。
--group-directories-first 首先列出目录,然后再列出文件。
--si 类似于“-h”选项,但使用1000(而非1024)作为递进单位。
--hide=pattern 禁止输出文件名匹配指定Shell文件名模式(非正则表达式)的文件,但在指定了“-a”或“-A”选项时无效。Shell文件名模式仅支持“?”、“*”或“[ ]”等通配符,且不能使用任何通配符匹配文件名首字符的句点“.”。
--show-control-chars 如果文件名含有控制字符等不可打印的字符,按其本来面目显示。
--sort=word 按照指定的方法排序,而非默认的文件名排序。其中word可以指定作none(相当于“-U”选项)、extension(相当于“-X”选项)、size(相当于“-S”选项)、time(相当于“-t”选项)或version(相当于“-v”选项)。
--time=word 与“-l”选项一起使用时,显示指定的时间,而非默认的修改时间。其中word可以指定作atime(类似于“-u”选项,显示访问时间)、access(访问时间)、use(访问时间)、ctime(类似于“-c”选项,显示信息节点的状态改变时间)或status(信息节点的状态改变时间)。与“--sort=time”选项一起使用时,按照这里指定的时间排序显示。
--lcontext 显示文件的SELinux安全属性(完整形式,在“-l”选项的基础上增加了SELinux安全属性)。
-Z, --context 显示文件的SELinux安全属性(简短形式,显示文件的模式、用户、用户组、SELinux安全属性和文件名)。
--scontext 仅显示文件的SELinux安全属性与文件名。
1. 显示当前目录中的文件列表。
$ ls -l
2. 按照文件的最近访问时间排序,显示当前目录中的文件列表。
$ ls -lt
3. 显示当前目录中的文件列表,包括隐藏的文件。
$ ls -la
4. 显示当前目录中的文件列表,包括隐藏的文件。同时显示每个文件的信息节点。
$ ls -ail
索引:A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z