简介
系统版本:Centos7.6
软件版本:ls 8.22
ls命令是Linux系统中常用的一个命令,用于显示指定目录下的文件和目录。在未指定路径的默认情况下会列出当前目录下的文件(开头为"."的不显示),在必选的选项中,"-"开头的短选项和"--"开头的长选项的要求是一致的。
基本语法
bash
> ls [option] [file]
选项介绍
选项 | 选项说明 |
---|---|
-a, --all | 不要忽略以点号(".")起始的条目,即显示目录下的所有文件,包括隐藏文件 |
-A, --almost-all | 不要列出隐含的"."和".." |
--author | 与 -l 同时使用时,列出每个文件的作者 |
-b, --escape | 将无法显示的字符显示为 C 风格的转义形式 |
--block-size=SIZE | 与 -l 同时使用时,打印文件大小前将其除以指定的块大小;例如:"--block-size=M"会以 1,048,576 字节为单位打印尺寸,假设原始的尺寸是 5,242,880 字节,使用 '--block-size=M' 进行转换和打印后,显示的数值就会是 5 (因为 5,242,880 ÷ 1,048,576 ≈ 5 ) |
-B, --ignore-backups | 不要列出以 ~ 结尾的隐藏项目 |
-c | 与 -lt 一起使用时:按照 ctime 排序,并显示 ctime(文件状态信息最后变更的时间);与 -l 一起使用时:显示 ctime 并按照名称排序,否则按照 ctime 排序,最新的最前 |
-C | 逐列列出项目 |
--color[=WHEN] | 指定何时使用彩色输出,WHEN可以是 never、auto、always(默认) |
-d, --directory | 列出目录本身,而不是目录的内容 |
-D, --dired | 产生适合 Emacs 的 dired 模式使用的输出 |
-f | 按照目录顺序列出各项目,启用 -aU 选项,禁用 -ls --color 选项 |
-F, --classify | 指定何时在项目后追加指示符号(*/=>@| 中的一个) |
--file-type | 类似 -F, --classify,但不追加 "*" 字符 |
--format=WORD | across 同 -x 、commas 同 -m 、horizontal 同 -x 、long 同 -l 、single-column 同 -1 、verbose 同 -l 、vertical 同 -C |
--full-time | 等于 -l --time-style =full-iso |
-g | 类似 -l,但不列出所有者 |
--group-directories-first | 将目录排在文件前面;此选项可与 --sort 一起使用,但是一旦使用 --sort =none (-U) 则禁用此选项 |
-G, --no-group | 使用长列表格式时,不输出组名 |
-h, --human-readable | 同时使用 -l 或 -s 时,将大小表示为可读的形式(如:1K、234M、2G 等) |
--si | 类似 -h, --human-readable,但是使用1000的乘方,而不使用1024 |
-H, --dereference-command-line | 跟随命令行中列出的符号链接 |
--dereference-command-line-symlink-to-dir | 跟随命令行中列出的、指向目录的符号链接 |
--hide=PATTERN | 隐藏符合指定 shell 模式(PATTERN)的项目(-a 或 -A 使此选项失效) |
--indicator-style=WORD | 指定在项目名称后追加的指示符号的风格:none(默认)、slash(同 -p )、file-type(同 --file-type )、classify(同 -F) |
-i, --inode | 显示每个文件的索引编号(inode 号) |
-I, --ignore=PATTERN | 隐藏符合给定 shell 模式(PATTERN)字符串的项目 |
-k, --kibibytes | 显示文件系统使用量时,默认使用 1024 字节的块大小 |
-l | 使用长列表格式 |
-L, --dereference | 显示符号链接的文件信息时,显示符号链接指向的文件的信息,而非符号链接本身的信息 |
-m | 所有项目以逗号分隔,并填满整行行宽 |
-n | 类似 -l,但会以数字的形式列出用户和组的 ID 号 |
-N | 输出不加引号的项目名称 |
-o | 类似 -l,但不列出有关组的信息 |
-p, --indicator-style=slash | 对目录追加 "/" 作为指示符号 |
-q, --hide-control-chars | 以 "?" 字符代替不可打印的字符 |
--show-control-chars | 原样显示无法打印的字符(这是默认行为,除非被调用时的程序名是"ls"且在终端中进行输出) |
-Q, --quote-name | 在项目名称两侧加上双引号 |
--quoting-style=WORD | 使用指定的加引号方式显示项目名称:literal、locale、shell、shell-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 | 改变使用的时间类型,默认为修改时间;访问时间(同 -u ):atime、access、use;变更时间(同 -c):ctime、status;和 --sort=time 同时使用时,按照关键字进行排序(最新的最前) |
--time-style=STYLE | 使用 -l 时显示的时间/日期格式;样式 STYLE 有:full-iso 、long-iso 、iso 、locale 或者 +FORMAT ;FORMAT 的解释类似于在 date 命令中的解释;如果 FORMAT 是 FORMAT1<换行>FORMAT2 ,那么 FORMAT1 适用于旧文件,FORMAT2 适用于新文件;如果 STYLE 以 posix- 为前缀,那么 STYLE 仅在非 POSIX 区域设置中生效 |
-t | 按时间排序,最新的最前 |
-T, --tabsize=COLS | 指定制表符(Tab)宽度为给定列数,而非默认的 8 |
-u | 与 -lt 同时使用时:显示访问时间且按访问时间排序;与 -l 同时使用时:显示访问时间但按名称排序;其他情况:按访问时间排序,最新的最前 |
-U | 不进行排序;按照目录顺序列出项目 |
-v | 对文本中的数字(或版本号)进行自然排序 |
-w, --width=COLS | 设置输出宽度为指定列数。0 表示无限制 |
-x | 逐行列出项目而不是逐列列出 |
-X | 按照扩展名的字母顺序排序 |
-1 | 每行只列出一个文件 |
--lcontext | 输出安全上下文信息,没有自动适应屏幕宽度,对于大多数屏幕来说都会超出 |
-Z, --context | 输出每个文件的所有安全上下文信息,有自动适应屏幕宽度,只显示模式、用户、组、安全上下文信息和文件名 |
--scontext | 只输出安全上下文信息和文件名 |
--help | 显示此帮助信息 |
--version | 显示版本信息 |
退出状态
选项 | 选项说明 |
---|---|
0 | 表示正常 |
1 | 表示小问题(如:无法访问子目录) |
2 | 表示严重问题(如:无法使用命令行参数) |
基本用法
1、显示当前目录下的文件和子目录
bash
> ls
2、显示指定目录下的文件和子目录
bash
> ls directory
3、显示指定文件的信息
bash
> ls file
4、以长格式显示当前目录下的文件和子目录的详细信息
bash
> ls -l
5、显示当前目录下的所有文件和子目录,包括隐藏文件
bash
> ls -a
6、以易读的方式显示文件大小
bash
> ls -lh
7、按修改时间对当前目录下的文件和子目录进行排序
bash
> ls -t
注意事项
1、SIZE:是一个整数以及可选的单位(例如:10M 表示 10 * 1024 * 1024)。单位有 K、M、G、T、P、E、Z、Y(1024 的幂)或者 KB、MB 等(1000 的幂)。
2、默认情况下,使用 --color=never
,来禁用颜色来区分文件类型的功能。使用 --color=auto
时,只有标准输出连接到终端时,ls
才会生成颜色代码。可以通过环境变量LS_COLORS
来更改颜色设置,也可以使用 dircolors
命令来设置。