ls
ls 命令 - 列出目录内容
ls(list)是 Linux 中最常用的命令之一,用于列出目录中的文件和子目录。掌握 ls 命令是使用 Linux 系统的第一步。
详细列出当前目录所有文件(含隐藏文件):
ls -la
按大小反向排序文件(大文件优先):
ls -lShr
递归列出 /var/log 目录内容,并显示人类可读的文件大小:
ls -lhR /var/log
仅显示目录的详细信息(不递归):
ls -ld /etc
按修改时间排序(最新文件最后显示):
ls -ltr
列出根目录下的所有目录:
# ls /
bin dev lib media net root srv upload www
boot etc lib64 misc opt sbin sys usr
home lost+found mnt proc selinux tmp var
将 /bin 目录以下所有目录及文件详细资料列出:
ls -lR /bin
当文件名包含空格、特殊字符或者开始字符为破折号时,可以使用反斜杠(\)进行转义,或者使用引号将文件名括起来。例如:
ls "my file.txt" # 列出文件名为"my file.txt"的文件
ls my\ file.txt # 列出文件名为"my file.txt"的文件
ls -- -filename # 列出文件名为"-filename"的文件
ls 命令还可以使用通配符进行模式匹配,例如 * 表示匹配任意字符,? 表示匹配一个字符,[...] 表示匹配指定范围内的字符。例如:
ls *.txt # 列出所有扩展名为.txt的文件
ls file?.txt # 列出文件名为file?.txt的文件,其中?表示任意一个字符
ls [abc]*.txt # 列出以a、b或c开头、扩展名为.txt的文件
列出目前工作目录下所有名称是 s 开头的文件,越新的排越后面:
ls -ltr s*
在使用 ls -l 命令时,第一列的字符表示文件或目录的类型和权限。其中第一个字符表示文件类型,例如:
- 表示普通文件
d 表示目录
l 表示符号链接
c 表示字符设备文件
b 表示块设备文件
s 表示套接字文件
p 表示管道文件
在使用 ls -l 命令时,第一列的其余 9 个字符表示文件或目录的访问权限,分别对应三个字符一组的 rwx 权限。例如
:
r 表示读取权限
w 表示写入权限
x 表示执行权限
- 表示没有对应权限
前三个字符表示所有者的权限,中间三个字符表示所属组的权限,后三个字符表示其他用户的权限。例如:
-rw-r--r-- 1 user group 4096 Feb 21 12:00 file.txt
表示文件名为file.txt的文件,所有者具有读写权限,所属组和其他用户只有读取权限。
查找最近修改的文件:
ls -lt | head -5
显示最近修改的 5 个文件。
统计文件数量:
ls | wc -l
统计当前目录下的文件数量(不包括隐藏文件)。
命令语法
ls [选项] [文件/目录]
常用参数
| -l | 以长格式显示,包含权限、大小、修改时间等详细信息 |
| -a | 显示所有文件,包括以 . 开头的隐藏文件 |
| -h | 以人类可读的格式显示文件大小(如 1K, 234M, 2G) |
| -t | 按修改时间排序,最新的在前 |
| -r | 反向排序 |
| -S | 按文件大小排序 |
| -R | 递归显示子目录内容 |
| --color | 彩色输出,区分文件类型 |
实战示例
- $ ls -la显示当前目录所有文件(含隐藏文件)的详细信息
- $ ls -lh以人类可读的大小显示文件详情
- $ ls -lt按修改时间排序显示
- $ ls -lS按文件大小降序排列
- $ ls /var/log/列出指定目录的内容
- $ ls *.log列出所有 .log 结尾的文件
温馨提示
建议在 ~/.bashrc 中添加 alias ll="ls -alF" 以便快速使用。