一、简介
ls(英文全拼:list directory contents) 命令用于显示指定工作目录下或文件的属性信息(列出目前工作目录所含的文件及子目录)。
ls命令是Linux下最常用的命令之一。
ls命令默认不加任何参数的情况下,它会列出当前工作目录下的文件信息,常和cd或pwd命令搭配使用,非常方便。带上参数后,还可以做更多的认息查看。
二、语法
用法:ls [选项]... [文件]...
常用参数说明:
参数 | 参数说明 |
| 显示所有文件(包括以 |
| 显示除 |
| 以长格式(详细信息)列出文件(权限、所有者、大小、修改时间等) |
| 与 |
| 按修改时间排序(最新优先 |
| 反向排序(配合 |
| 按文件大小排序(大文件优先) |
| 递归列出子目录内容 |
| 在文件名后附加标识符(如 |
| 彩色输出(通常默认启用, |
| 显示文件的 inode 编号 |
| 以数字形式显示 UID 和 GID(替代用户名和组名) |
| 仅显示目录本身,而非其内容(常用于配合 |
| 每行只显示一个文件(默认在终端宽度不足时自动启用) |
| 以逗号分隔的列表形式显示文件 |
| 用引号括住文件名(适用于含空格的文件名) |
| 先显示目录,后显示文件 |
| 自定义时间显示格式(如 |
1、详细列出当前目录所有文件(含隐藏文件)
[root@app01 ~]# ls -la总用量 48dr-xr-x---. 5 root root 262 7月 19 17:23 .dr-xr-xr-x. 18 root root 255 7月 5 10:38 ..-rw-------. 1 root root 2076 7月 2 16:03 anaconda-ks.cfg-rw-------. 1 root root 3549 7月 19 12:37 .bash_history-rw-r--r--. 1 root root 18 12月 29 2013 .bash_logout-rw-r--r-- 1 root root 177 7月 5 11:09 .bash_profile-rw-r--r--. 1 root root 176 12月 29 2013 .bashrcdrwx------. 4 root root 31 7月 2 16:07 .cache………………省略部分输出信息………………
2、按文件大小反向排序
[root@app01 soft]# ls -lShr总用量 1.8G-rw-r--r-- 1 app app 175M 7月 5 11:06 jdk-17.0.15_linux-x64_bin.tar.gz-rw-r--r-- 1 app app 185M 7月 5 11:06 nacos-server-3.0.2.zip-rw-r--r-- 1 root root 583M 7月 5 16:45 mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz-rw-r--r-- 1 app app 848M 7月 5 11:06 mysql-8.0.42-linux-glibc2.28-x86_64.tar.xz
3、按文件大小排序(大文件优先)
[root@app01 soft]# ls -lSh总用量 1.8G-rw-r--r-- 1 app app 848M 7月 5 11:06 mysql-8.0.42-linux-glibc2.28-x86_64.tar.xz-rw-r--r-- 1 app app 583M 7月 5 16:45 mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz-rw-r--r-- 1 app app 185M 7月 5 11:06 nacos-server-3.0.2.zip-rw-r--r-- 1 app app 175M 7月 5 11:06 jdk-17.0.15_linux-x64_bin.tar.gz
4、递归列出/app目录内容
[root@app01 jdk]# ls -lhR /app/app:总用量 0drwxr-xr-x 9 app app 136 7月 5 11:07 jdkdrwxr-xr-x 12 mysql mysql 163 7月 6 17:49 mysql-8.0.32drwxr-xr-x 7 app app 96 7月 6 16:57 nacosdrwxr-xr-x 2 app app 176 7月 5 16:45 soft/app/jdk:总用量 24Kdrwxr-xr-x 2 app app 4.0K 7月 5 11:07 bindrwxr-xr-x 5 app app 123 7月 5 11:07 confdrwxr-xr-x 3 app app 132 7月 5 11:07 includedrwxr-xr-x 2 app app 4.0K 7月 5 11:07 jmodsdrwxr-xr-x 72 app app 4.0K 7月 5 11:07 legaldrwxr-xr-x 5 app app 4.0K 7月 5 11:07 lib/app/jdk/bin:总用量 448K-rwxr-xr-x 1 app app 13K 2月 20 18:49 jar-rwxr-xr-x 1 app app 13K 2月 20 18:49 jarsigner-rwxr-xr-x 1 app app 13K 2月 20 18:49 java………………省略部分输出信息………………
-h参数,以可读的格式显示文件大小(如 KB、MB)。
5、仅显示目录的详细信息(不递归)
[root@app01 jdk]# ls -ld /appdrwxr-xr-x. 6 app app 62 7月 5 16:46 /app
6、按修改时间排序(最新文件最后显示)
[root@app01 soft]# ls -ltr总用量 1832048-rw-r--r-- 1 app app 183197735 7月 5 11:06 jdk-17.0.15_linux-x64_bin.tar.gz-rw-r--r-- 1 app app 193786188 7月 5 11:06 nacos-server-3.0.2.zip-rw-r--r-- 1 app app 888706200 7月 5 11:06 mysql-8.0.42-linux-glibc2.28-x86_64.tar.xz-rw-r--r-- 1 app app 610315332 7月 5 16:45 mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz
7、列出“/app”目录下的所有目录
[]jdk mysql-8.0.32 nacos soft
四、知识扩充
当文件名包含空格、特殊字符或者开始字符为破折号时,可以使用反斜杠(\)进行转义,或者使用引号将文件名括起来。如下所示:
[root@app01 soft]"my filename.txt"//列出文件名为"my filename.txt"的文件[root@app01 soft]//列出文件名为"my filename.txt"的文件
ls 命令还可以使用通配符进行模式匹配,例如 * 表示匹配任意字符,? 表示匹配一个字符,[...] 表示匹配指定范围内的字符。如下所示:
[][][]
列出目前工作目录下所有名称是my开头的文件,越新的排越后面排。
[root@app01 soft]# ls -ltr my*-rw-r--r-- 1 app app 888706200 7月 5 11:06 mysql-8.0.42-linux-glibc2.28-x86_64.tar.xz-
rw-r--r-- 1 app app 610315332 7月 5 16:45 mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz
在使用 ls -l 命令时,第一列的字符表示文件或目录的类型和权限。
drwxr-xr-x 2 app app 176 7月 5 16:45 soft其中第一个字符表示文件类型,其属性说明如下:
-:表示普通文件
d:表示目录
l:表示符号链接
c:表示字符设备文件
b:表示块设备文件
s:表示套接字文件
p:表示管道文件
第一列的其余 9 个字符表示文件或目录的访问权限,分别对应三个字符一组的 rwx 权限,其属性说明如下:
r:表示读取权限
w:表示写入权限
x:表示执行权限
-:表示没有对应权限
其第一列中前三个字符表示所有者的权限,中间三个字符表示所属组的权限,后三个字符表示其他用户的权限。例如:
drwxr-xr-x 2 app app 176 7月 5 16:45 softsoft目录,所有者具有读写执行权限,所属组和其他用户只有读执行权限。
查找最近修改的文件(显示最近修改的 5 个文件)
[root@app01 log]# ls -lt | head -5统计文件数量
[]注:统计当前目录下的文件数量(不包括隐藏文件)。
ls 命令的输出颜色可以通过 --color 选项控制,颜色说明如下:
蓝色:目录
绿色:可执行文件
红色:压缩文件
青色:链接文件
黄色:设备文件
如果在使用ls命令时,没有输出颜色,可参照“vi编辑器没有彩色显示解决方案”。
注:不同 Linux 发行版的 ls 命令可能有细微差别,可以通过 man ls 查看具体帮助文档。