ls
是比较常用的 Linux 命令之一,用来查看目录下包含的文件信息。对于刚接触 Linux 的朋友来说,也是一个必须要掌握的命令。
ls 命令格式
ls [选项] [文件名...]
ls
命令最后的「文件名」部分是可以省略的,默认为 .
,代表当前目录。并以文件名比较顺序排序。ls
命令会输出到 stdout,也就是标准输出。
ls 命令示例
显示当前目录下的文件信息:
ls
显示 /etc 目录下的文件信息:
ls /etc
显示文件更多信息,包含权限,用户名,用户组以及文件大小和时间信息:
ls -l
显示目录下所有子目录的文件信息:
ls -R
按文件大小从大到小顺序排列显示当前目录下的文件列表:
ls -lSh
ls 命令选项
缩写 | 完整名称 | 说明 |
---|---|---|
-a |
--all |
不隐藏任何以 . 开始的项目。 |
-A |
--almost-all |
列出除 . 及 .. 以外的任何项目。 |
--author |
与 -l 同时使用时,列出每个文件的作者。 |
|
-b |
--escape |
以 C 风格的转义序列表示不可打印的字符。 |
--block-size= 大小 |
与 -l 同时使用时,将文件大小以此处给定的大小为单位进行缩放。例如 --block-size=M 。 |
|
-B |
--ignore-backups |
不列出任何以 ~ 字符结束的项目。 |
-c |
与 -lt 共同使用时,根据 ctime 排序并显示 ctime (文件状态最后更改的时间)。与 -l 共同使用时,显示 ctime 并按照名称排序。 其它情况按照 ctime 排序,最新的最前。 |
|
-C |
每栏由上至下列出项目。 | |
--color [=WHEN] |
控制是否使用带颜色的输出。WHEN 可以是 always (默认缺省值)、auto 或 never 。 |
|
-d |
--directory |
当遇到目录时列出目录本身而非目录内的文件。 |
-D |
--dired |
产生适合 Emacs 的 dired 模式使用的结果。 |
-f |
不进行排序,-aU 选项生效,禁用 -ls --color 。 |
|
-F |
--classify |
加上文件类型的指示符号(*/=@| 其中一个)。 |
--file-type |
类似,但不后缀 * 字符。 |
|
--format= 关键字 |
交错 -x ,逗号分隔 -m ,水平 -x ,长 -l , 单栏 -1 ,详细 -l ,垂直 -C 。 |
|
--full-time |
类似 -l --time-style=full-iso 。 |
|
-g |
类似 -l ,但不列出所有者。 |
|
-group-directories-first |
在文件前分组目录。此选项可与 --sort 一起使用,但是一旦使用 --sort=none 将禁用分组。 |
|
-G |
--no-group |
以一个长列表的形式,不输出组名。 |
-h |
--human-readable |
与 -l 和 -s 一起,以易于阅读的格式输出文件大小(例如 1K 234M 2G等)。 |
--si |
同上面类似,但是使用 1000 为基底而非 1024。 | |
-H |
--dereference-command-line |
跟随命令行列出的符号链接。 |
--dereference-command-line-symlink-to-dir |
跟随命令行列出的指向目录的符号链接。 | |
--hide= PATTERN |
隐藏符合 shell PATTERN 模式的项目 (-a 或 -A 将覆盖此选项)。 |
|
--hyperlink [=WHEN] |
文件名使用超链接;WHEN 可以是 always (缺省时的默认选项)、auto 或 never 。 |
|
--indicator-style= 方式 |
指定在每个项目名称后加上指示符号方式:none (默认)、slash (-p)、file-type (--file-type )以及 classify (-F )。 |
|
-i |
--inode |
显示每个文件的索引编号(inode 号)。 |
-I |
--ignore= 模式 |
不显示任何匹配指定 shell 模式的项目。 |
-k |
--kibibytes |
默认使用 1024 字节的块显示磁盘使用量;只用于 -s 和每个目录的总计。 |
-l |
使用较长格式列出信息。 | |
-L |
--dereference |
当显示符号链接的文件信息时,显示符号链接所指示的对象而并非符号链接本身的信息。 |
-m |
所有项目以逗号分隔,并填满整行行宽。 | |
-n |
--numeric-uid-gid |
类似 -l ,但列出用户和组的 ID 号。 |
-N |
--literal |
输出未经引号括起的项目名称。 |
-o |
类似 -l ,但不列出有关组的信息。 |
|
-p |
--indicator-style=slash |
对目录附加 / 作为指示符号。 |
-q |
--hide-control-chars |
以 ? 字符代替无法打印的字符。 |
--show-control-chars |
原样显示无法打印的字符(这是默认行为,除非被调用本程序的名称是 ls 而且是在终端中进行输出)。 |
|
-Q |
--quote-name |
将条目名称括上双引号。 |
--quoting-style= 方式 |
使用指定引用的方式显示条目的名称: literal, locale, shell, shell-always, shell-escape, shell-escape-always, c, escape (该选项优先于 QUOTING_STYLE 环境变量的配置)。 |
|
-r |
--reverse |
逆序排列。 |
-R |
--recursive |
递归显示子目录。 |
-s |
--size |
以块数形式显示每个文件分配的尺寸。 |
-S |
按文件大小而不是字典序排序目录内容,大的文件靠前。。 | |
--sort= WORD |
按指定方式排序。可用值和参考选项:none (-U ), size (-S ), time (-t ), version (-v ), extension (-X )。 |
|
--time= WORD |
设置输出的文件时间类型。可用值:atime ,ctime , birth 。 |
|
--time-style= TIME_STYLE |
使用 -l 时显示的时间/日期格式。 |
|
-t |
按时间排序,最新的最前。 | |
-T |
--tabsize= COLS |
指定制表符的宽度,默认为 8 字符。 |
-u |
同 -lt 一起使用:按照访问时间排序并显示; 同 -l 一起使用:显示访问时间并按文件名排序其它:按照访问时间排序,最新的最靠前。 |
|
-U |
不进行排序;按照目录顺序列出项目。 | |
-v |
在文本中进行数字的自然排序。 | |
-w |
--width= COLS |
设置输出宽度为 COLS 对应的值。0 代表无限制。 |
-x |
逐行列出项目而不是逐栏列出。 | |
-X |
根据扩展名按字母顺序排序。 | |
-Z |
--context |
输出每个文件的所有安全上下文信息。 |
-1 |
每行只列出一个文件。与 -q 或 -b 共用时避免 \n 。 |
|
--help |
显示此帮助信息并退出。 | |
--version |
显示版本信息并退出。 |