ls
是 Linux 系统中用于列出目录内容的核心命令,几乎所有日常操作都会用到。以下是其详细用法和常见场景说明
1. 基础语法
ls [选项] [目录/文件]
-
不指定目录时,默认列出当前目录的内容。
-
可以指定文件或目录路径,支持通配符(如
*
、?
)
2. 常用选项
2.1 显示格式控制
选项 | 说明 | 示例 |
---|---|---|
-l | 长格式显示(权限、所有者、大小、时间等) | ls -l /var/log |
-a | 显示所有文件(包括隐藏文件,以 . 开头的文件) | ls -a ~ |
-h | 人类可读的格式(自动转换文件大小单位,如K/M/G) | ls -lh |
-1 | 单列显示(每行一个文件,适合脚本处理) | ls -1 |
-F | 标记文件类型(目录加 / ,可执行文件加 * ) | ls -F |
2.2 排序与过滤
选项 | 说明 | 示例 |
---|---|---|
-t | 按修改时间排序(最新修改的在前) | ls -lt |
-r | 反向排序 | ls -ltr (按时间倒序) |
-S | 按文件大小排序(从大到小) | ls -lS |
--group-directories-first | 目录优先显示 | ls --group-directories-first |
-R | 递归列出子目录内容 | ls -R /etc |
2.3 颜色与高亮
-
默认情况下,
ls
会根据文件类型显示颜色(目录蓝色、可执行文件绿色等)。 -
若颜色丢失,可强制启用颜色:
ls --color=auto
。 -
禁用颜色:
ls --color=never
3. 实用场景示例
按时间排序找最下最新修改的文件
ls *.txt # 列出当前目录所有.txt文件
ls -d */ # 仅显示子目录(不递归内容)
ls /etc/*.conf # 列出/etc下所有.conf文件
4. 常见问题
4.1 权限不足
若目录不可读,会提示 Permission denied
,需使用 sudo
提权:
sudo ls /root # 查看需要root权限的目录
4.2 文件显示颜色含义
颜色 | 文件类型 |
---|---|
蓝色 | 目录 |
绿色 | 可执行文件 |
红色 | 压缩文件(如.tar、.zip) |
青色 | 符号链接(快捷方式) |
黄色 | 设备文件 |
5. 高级技巧
别名简化命令:在 ~/.bashrc
中设置别名,例如:
alias ll='ls -alhF --color=auto' # 输入ll即可显示详细列表
统计文件数量:
ls -1 | wc -l # 统计当前目录文件数(不含隐藏文件)
搜索文件
ls | grep shell