ls— Linux 手册页
文章目录
名称语法
ls - 列出文件和目录
ls [选项]…[文件]…
描述
ls 命令用于列出指定路径下的文件和目录。它提供了查看文件信息、排序输出和筛选特定类型文件的功能。ls 命令最早出现在 Unix 系统中,是一个常见的文件操作工具。它被设计为快速、简单和高效的列出文件和目录的方式。
选项
适用于 ls 命令的选项有:
| 选项 | 描述 |
|---|---|
| -a, --all | 不忽略以 . 开头的条目 |
| -A, --almost-all | 不列出隐含的 . 和 … |
| –author | 在 -l 时显示每个文件的作者 |
| -b, --escape | 对非图形字符打印 C 风格转义符 |
| –block-size=SIZE | 在 -l 时按 SIZE 缩放大小进行打印;例如,‘–block-size=M’;参见下面的 SIZE 格式 |
| -B, --ignore-backups | 不列出以 ~ 结尾的隐含条目 |
| -c | 对 -lt:按 ctime(文件状态信息的最后更改时间)排序并显示;对 -l:显示 ctime 并按名称排序;否则:按 ctime 排序,最新的先显示 |
| -C | 按列方式列出条目 |
| –color[=WHEN] | 根据 WHEN 对输出进行着色;更多信息请参阅下面的说明 |
| -d, --directory | 仅列出目录本身,而不是其内容 |
| -D, --dired | 生成适用于 Emacs 的 dired 模式的输出 |
| -f | 按目录顺序列出所有条目 |
| -F, --classify[=WHEN] | 在条目后添加指示符(其中之一为 */=>@ |
| –file-type | 类似于上述,但不追加 ‘*’ |
| –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 | 类似于上述,但使用 1000 的幂次而不是 1024 |
| -H, --dereference-command-line | 跟随命令行上列出的符号链接 |
| –dereference-command-line-symlink-to-dir | 跟随指向目录的每个命令行符号链接 |
| –hide=PATTERN | 不列出与 shell PATTERN 匹配的隐含条目(被 -a 或 -A 覆盖) |
| –hyperlink[=WHEN] | 链接文件名 WHEN |
| –indicator-style=WORD | 附加样式为 WORD 的指示符到条目名称后面:none(默认值)、slash (-p)、file-type (–file-type)、classify (-F) |
| -i, --inode | 打印每个文件的索引号 |
| -I, --ignore=PATTERN | 不列出与 shell PATTERN 匹配的隐含条目 |
| -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=WORD | 使用 WORD 引用样式的条目名称:literal、locale、shell、shell-always、shell-escape、shell-escape-always、c、escape (覆盖 QUOTING_STYLE 环境变量) |
| -r, --reverse | 反向排序 |
| -R, --recursive | 递归列出子目录内容 |
| -s, --size | 打印每个文件的分配大小(以块为单位) |
| -S | 按文件大小排序,最大的排在前面 |
| –sort=WORD | 按 WORD 而不是名称进行排序:none (-U),size (-S),time (-t),version (-v),extension (-X),width |
| –time=WORD | 选择要显示或排序的时间戳;访问时间 (-u):atime、access、use;元数据更改时间 (-c):ctime、status;修改时间(默认值):mtime、modification;创建时间:birth、creation |
| –time-style=TIME_STYLE | 在 -l 中选择时间/日期格式;请参阅下面的 TIME_STYLE |
| -t | 按时间排序,最新的排在前面;参见 --time |
| -T, --tabsize=COLS | 假设每个 COLS 处有一个制表符停止位,而不是 8 |
| -u | 对于 -lt:按访问时间排序并显示;对于 -l:显示访问时间并按名称排序;否则:按访问时间排序,最新的先显示 |
| -U | 不排序;按目录顺序列出条目 |
| -v | 在文本中自然排序(版本)数字 |
| -w, --width=COLS | 将输出宽度设置为 COLS。0 表示无限制 |
| -x | 按行而不是按列列出条目 |
| -X | 按条目扩展字母表顺序排序 |
| -Z, --context | 打印每个文件的安全上下文 |
| –zero | 以 NUL 而不是换行符结束每行输出 |
十种主要用法及其代码示例
1.列出当前目录的文件和子目录
$ ls
输出示例:
file1.txt file2.txt directory1 directory2
2.列出指定目录的文件和子目录
$ ls directory
输入示例:
$ ls /home/user/Documents
输出示例:
file1.txt file2.txt directory1 directory2
3.列出所有文件,包括隐藏文件
$ ls -a
输出示例:
. .. file1.txt file2.txt .hidden_file directory1 directory2
4.使用长格式显示文件详细信息
$ ls -l
输出示例:
-rw-r--r-- 1 user group 1024 Mar 10 09:00 file1.txt
-rw-r--r-- 1 user group 2048 Mar 11 10:15 file2.txt
drwxr-xr-x 2 user group 4096 Mar 12 14:30 directory1
drwxr-xr-x 2 user group 4096 Mar 13 16:45 directory2
5.以人类可读的方式显示文件大小
$ ls -lh
输出示例:
-rw-r--r-- 1 user group 1.0K Mar 10 09:00 file1.txt
-rw-r--r-- 1 user group 2.0K Mar 11 10:15 file2.txt
drwxr-xr-x 2 user group 4.0K Mar 12 14:30 directory1
drwxr-xr-x 2 user group 4.0K Mar 13 16:45 directory2
6.反向排序显示文件列表
$ ls -r
输出示例:
directory2 directory1 file2.txt file1.txt
7.按修改时间排序显示文件列表
$ ls -t
输出示例:
directory2 directory1 file2.txt file1.txt
8.仅显示目录本身,而不列出子目录内容
$ ls -d
输出示例:
directory1 directory2
9.在文件名后加上文件类型标识符
$ ls -F
输出示例:
file1.txt file2.txt directory1/ directory2/
10.递归列出指定目录及其子目录的内容
$ ls -R directory
输入示例:
$ ls -R /home/user/Documents
输出示例:
file1.txt file2.txt
directory1:
file3.txt file4.txt
directory2:
file5.txt file6.txt
其他类似命令
- tree:tree 命令用于以树形结构显示文件和目录的层次关系。
详细区别
ls 和 tree 都是用于显示文件和目录的命令,但它们之间存在一些区别。主要区别包括:
- ls 命令以简洁的方式列出文件和目录,并提供了多种选项用于排序、过滤和显示详细信息。
- tree 命令以树状结构显示文件和目录的层次关系,可以更直观地展示文件系统的结构。
本文详细介绍了Linux中的ls命令,包括其基本语法、十种主要用法、选项解析以及与tree命令的区别,帮助用户更好地理解和使用这个常用文件操作工具。
5万+

被折叠的 条评论
为什么被折叠?



