基本语法
ls [-alrtAFR] [name...]
参数
实例
ls-l# 以长格式显示当前目录中的文件和目录ls-a# 显示当前目录中的所有文件和目录,包括隐藏文件ls-lh# 以人类可读的方式显示当前目录中的文件和目录大小ls-t# 按照修改时间排序显示当前目录中的文件和目录ls-R# 递归显示当前目录中的所有文件和子目录ls-l/etc/passwd# 显示/etc/passwd文件的详细信息
详细列出当前目录所有文件(含隐藏文件):
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 命令时,第一列的字符表示文件或目录的类型和权限。其中第一个字符表示文件类型,例如:
在使用 ls -l 命令时,第一列的其余 9 个字符表示文件或目录的访问权限,分别对应三个字符一组的 rwx 权限。例如
:前三个字符表示所有者的权限,中间三个字符表示所属组的权限,后三个字符表示其他用户的权限。例如:
-rw-r--r--1 user group4096Feb2112:00 file.txt
表示文件名为file.txt的文件,所有者具有读写权限,所属组和其他用户只有读取权限。
查找最近修改的文件:
ls -lt | head -5
显示最近修改的 5 个文件。
统计文件数量:
ls | wc -l
统计当前目录下的文件数量(不包括隐藏文件)。
注意事项
ls 命令的输出颜色可以通过 --color 选项控制:
在脚本中使用 ls 时要注意,直接解析 ls 的输出可能不可靠,建议使用其他方法。
不同 Linux 发行版的 ls 命令可能有细微差别,可以通过 man ls 查看具体帮助文档。