当前位置:首页>Linux>Linux命令每日一清单037:ls--目录列表命令速查表

Linux命令每日一清单037:ls--目录列表命令速查表

  • 2026-09-10 17:35:00
Linux命令每日一清单037:ls--目录列表命令速查表

ls(list)是Linux/Unix系统中最基础、最常用的命令之一,用于列出目录内容。它可以显示文件名、文件权限、所有者、大小、修改时间等详细信息,并支持多种排序、过滤和格式化选项。

作为用户接触的第一个命令之一,ls是日常文件管理的基础工具。掌握ls的各种选项能够帮助用户快速获取文件信息,高效浏览目录内容,是Linux命令行操作的必备技能。

1. 基本列表

命令说明
ls
列出当前目录的文件
ls /path/to/dir
列出指定目录的文件
ls -1
每行显示一个条目
ls -a
显示隐藏文件(包括.和..)
ls -A
显示隐藏文件(不包括.和..)
ls -R
递归列出子目录内容

2. 长格式与元数据

命令说明
ls -l
长格式列表(权限、大小、时间等)
ls -lh
人类可读的文件大小
ls -la
长格式包含隐藏文件
ls -n
显示数字UID和GID
ls -li
显示inode号
ls -ls
显示文件占用的块数
ls -lh --group-directories-first
目录优先显示

长格式输出示例:

-rw-r--r-- 1 user group 1234 Apr 15 10:30 file.txt
  • 第1字符:-=文件,d=目录,l=链接
  • 第2-10字符:权限(所有者、组、其他)
  • 硬链接数、所有者、组、大小、时间、文件名

3. 排序方式

命令说明
ls -lt
按修改时间排序(最新优先)
ls -ltr
按修改时间排序(最旧优先)
ls -lS
按文件大小排序(最大优先)
ls -lSr
按文件大小排序(最小优先)
ls -lX
按扩展名排序
ls -lv
版本号自然排序(1.9在1.10之前)
ls -l --sort=size
显式指定按大小排序
ls -l --sort=time
显式指定按时间排序
ls -l --sort=version
按版本号排序

4. 时间显示控制

命令说明
ls -l --time=atime
显示访问时间
ls -l --time=ctime
显示状态变更时间
ls -l --time-style=long-iso
ISO格式日期(YYYY-MM-DD HH:MM)
ls -l --full-time
完整时间戳(精确到秒)
ls -l --time-style="+%Y-%m-%d %H:%M:%S"
自定义时间格式
ls -lu
按访问时间排序
ls -lc
按状态变更时间排序

5. 目录视图

命令说明
ls -d */
仅列出当前目录下的子目录
ls -ld /path/to/dir
显示目录本身的元数据(而非内容)
ls -F
添加类型指示符(/=目录,*=可执行,@=链接)
ls -p
目录名后添加/
ls -R
递归列出子目录
ls -laR
递归长格式包含隐藏文件

6. 输出格式

命令说明
ls -m
逗号分隔输出
ls -x
按行排列(而非按列)
ls -Q
文件名加双引号
ls -b
使用反斜杠转义特殊字符
ls --color=auto
启用彩色输出
ls --color=always
强制彩色输出(用于管道)
ls --color=never
禁用彩色输出
ls -l --block-size=M
以MB为单位显示大小

7. 通配符过滤

命令说明
ls *.log
列出所有.log文件
ls file?.txt
匹配单个字符通配符
ls file[0-9].txt
匹配数字范围
ls [ab]*.conf
匹配以a或b开头的.conf文件
ls *.{txt,md,log}
匹配多种扩展名(花括号扩展)
ls -d .[^.]*
列出隐藏文件(常见shell模式)
ls -l $(find . -name "*.py")
结合find命令

8. 实用组合模式

命令说明
ls -lah
最常用的详细列表(人类可读+隐藏文件)
ls -lhS
最大文件优先(人类可读)
ls -lat
最新文件优先(包含隐藏文件)
ls -ltr
最旧文件优先
ls -1 | wc -l
统计当前目录文件数量
ls -l | grep '^d'
仅显示目录
ls -l | grep '^-'
仅显示文件
ls -l | grep '^l'
仅显示符号链接
ls -l --block-size=MB
以MB为单位显示文件大小
ls -l --time-style="+%Y-%m-%d" | sort -k6
按自定义日期排序

9. 常用选项速查

选项完整名称说明
-l
--format=long
长格式显示
-a
--all
显示所有文件(含.和..)
-A
--almost-all
显示隐藏文件(不含.和..)
-h
--human-readable
人类可读大小
-R
--recursive
递归列出子目录
-t
--sort=time
按修改时间排序
-S
--sort=size
按文件大小排序
-r
--reverse
反向排序
-i
--inode
显示inode号
-d
--directory
显示目录本身而非内容
-F
--classify
添加类型指示符
-p
--indicator-style=slash
目录名后加/
-m
--format=commas
逗号分隔输出
-1
--format=single-column
每行一个条目
-Q
--quote-name
文件名加引号
-n
--numeric-uid-gid
显示数字UID/GID
-X
--sort=extension
按扩展名排序
-v
--sort=version
版本号自然排序
--color
-
彩色输出
--full-time
-
完整时间戳
--group-directories-first
-
目录优先显示
--time-style
-
自定义时间格式
--block-size
-
指定块大小单位

10. ls vs dir vs vdir 对比

命令说明
ls
标准目录列表命令
dir
同ls -C -b(列式输出,转义字符)
vdir
同ls -l -b(长格式,转义字符)

注意:dir和vdir在某些系统上是独立命令,但通常与ls功能重叠。

11. 故障排查

问题解决方法
隐藏文件不显示
添加-a或-A选项
文件大小难以阅读
使用-h与-l结合(ls -lh)
排序顺序不符合预期
确认排序标志(-t时间、-S大小、-X扩展名、-r反向)
没有彩色输出
尝试ls --color=auto;检查别名设置(alias ls)
目录看起来为空
检查目录权限:ls -ld /path;确认用户是否有读取权限
通配符不展开
确保通配符未被引号包围;检查是否存在匹配文件
文件名包含特殊字符
使用-Q加引号;使用-b转义显示
ls输出太多
使用less分页:ls -la | less;或使用head/tail
递归列出太多文件
使用-R时注意大目录;可结合find命令

温馨提示: ls是日常使用频率最高的命令之一。建议掌握以下技巧:1)ls -lah是最实用的组合(人类可读+隐藏文件+长格式);2)ls -ltr查看最新修改的文件在末尾;3)ls -lhS快速查看最大文件;4)使用--color=auto让输出更易读;5)在.bashrc中可以设置别名:alias ll='ls -alF'、alias la='ls -A'、alias l='ls -CF';6)处理大量文件时避免直接ls,使用ls | head或find命令。对于需要脚本解析的场景,避免使用ls,推荐使用find或直接使用通配符。

本文PDF格式下载:

  关注公众号(haopython),请回复: LLTLS

最新文章

随机文章