在 Linux 系统当中, ls 命令可能是最常被运行的。
【语法】
ls [-aAdfFhilnrRSt] 文件名称或目录名称
【常用参数】
-a 或 --all
:全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来;【常用】-l
:以长格式(详细信息)列出文件,包含文件的属性与权限等数据;【常用】-d 或 --directory
:仅列出目录本身,而不是列出目录内的文件数据;-R 或 --recursive
:若列出对象为路径且目录下有文件,则将所有文件依序列出;【常用】-t
:按照最后修改时间顺序列出文件,由旧到新;【常用】-h 或 --human-readable
:以人类可读的格式显示文件大小(K、M、G等);【常用】-A 或 --almost-all
:显示除 . 和 … 外的所有文件(包括隐藏文件);-r 或 --reverse
:反向排序(配合 -t、-S 等使用);-S
:按文件大小排序(大文件优先);-F 或 --classify
:在文件名后附加标识符(如 / 表示目录,* 表示可执行文件);-i 或 --inode
:显示文件的 inode 编号;-n 或 --numeric-uid-gid
:以数字形式显示 UID 和 GID(替代用户名和组名);-1
:每行只显示一个文件(默认在终端宽度不足时自动启用);-m
:以逗号分隔的列表形式显示文件;-Q 或 --quote-name
:用引号括住文件名(适用于含空格的文件名);--group-directories-first
:先显示目录,后显示文件;--time-style=<格式>
:自定义时间显示格式(如 +%Y-%m-%d);--color
:彩色输出(通常默认启用,–color=auto);--help
在标准输出上显示帮助信息;--version
在标准输出上输出版本信息并退出。
【举例】
- 列出根目录下的所有目录:
[root@xiaocaigou ~]# 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
- 详细列出当前目录所有文件(含隐藏文件):
[root@xiaocaigou ~]# ls -la
- 按大小反向排序文件(大文件优先):
[root@xiaocaigou ~]# ls -lShr
- 递归列出 /var/log 目录内容,并显示人类可读的文件大小:
[root@xiaocaigou ~]# ls -lhR /var/log
- 仅显示目录的详细信息(不递归):
[root@xiaocaigou ~]# ls -ld /etc
- 按修改时间排序(最新文件最后显示):
[root@xiaocaigou ~]# ls -ltr
【进阶用法】
- 当文件名包含空格、特殊字符或者开始字符为破折号时,可以使用反斜杠(\)进行转义,或者使用引号将文件名括起来。例如:
[root@xiaocaigou ~]# ls "my file.txt" # 列出文件名为"my file.txt"的文件
[root@xiaocaigou ~]# ls my\ file.txt # 列出文件名为"my file.txt"的文件
[root@xiaocaigou ~]# ls -- -filename # 列出文件名为"-filename"的文件
- ls 命令还可以使用通配符进行模式匹配,例如 * 表示匹配任意字符,? 表示匹配一个字符,[…] 表示匹配指定范围内的字符。例如:
ls *.txt # 列出所有扩展名为.txt的文件
ls file?.txt # 列出文件名为file?.txt的文件,其中?表示任意一个字符
ls [abc]*.txt # 列出以a、b或c开头、扩展名为.txt的文件
如列出目前工作目录下所有名称是 s 开头的文件,越新的排越后面:
ls -ltr s*
《小菜狗 Linux 操作系统快速入门笔记》目录:
《小菜狗 Linux 操作系统快速入门笔记》(01.0)文章导航目录【实时更新】
每日一更!
公众号、CSDN等博客:小菜狗编程笔记
谢谢点赞关注哈!目前在飞书持续优化更新~
日更较慢有需要完整笔记请私我,C/C++/数据结构-算法/单片机51-STM32-GD32-ESP32/嵌入式/Linux操作系统/uboot/Linux内核-驱动-应用/硬件入门-PCB-layout/Python/后期小程序和机器学习!