linux命令—ls

linux命令—ls

命令简介

ls(List Files)是 linux 中最基础且高频使用的命令之一,用于列出目录内容。无论是查看文件、检查权限还是分析磁盘空间,ls 都是不可或缺的工具

用法ls命令的语法格式如下代码语言:JavaScript代码运行次数:0运行复制

ls [选项] [目录/文件]#不添加参数时:默认列出当前目录的非隐藏文件#添加目录路径:显示目标目录内容#添加文件路径:显示该文件信息(若存在)

ls命令的常用选项及说明如下

选项

说明

-l,–format=long, –format=verbose

长格式显示详细信息。输出的信息从左到右依次包括文件名、文件类型、权限、硬链接数、所有者名、组名、大小(byte)、及时间信息(如未指明是其它时间即指修改时间)

-a,–all

显示所有文件和目录,包括以点(.)开头的隐藏文件

-h, –human-readable

与 -l 和 -s 一起,以易于阅读的格式输出文件大小(例如 1K 234M 2G等)

-d, –Directory

当遇到目录时列出目录本身而非目录内的文件

-t,–sort=time

按修改时间排序,最新的最前

-r, –reverse

逆序排列

-S, –sort=size

按文件大小而不是字典序排序目录内容,大文件靠前

-R, –recursive

递归列出全部目录的内容

-i, –inode

显示每个文件的索引编号(inode号)

命令案例场景1.基础文件查看代码语言:javascript代码运行次数:0运行复制

[root@blog ~]# ls -l #ls -l #命令等效于部分Linux发行版中的ll别名drwxr-xr-x. 2 root root           6  5月 29 22:07 下载drwxr-xr-x. 2 root root           6  5月 29 22:07 桌面-rw-------. 1 root root        1505  5月 29 21:30 anaconda-ks.cfg-rw-r--r--. 1 root root 12761628672  6月 14 14:46 rhel-9.6-x86_64-dvd.iso字段解析  第一列:文件类型(-普通文件,d目录)及权限  第二列:硬链接数  第三列:所有者  第四列:所属组  第五列:文件大小(字节)  第六列:文件的创建日期或者是最近的修改日期  第七列:文件或目录的名称

2.以易读的格式输出文件目录大小代码语言:javascript代码运行次数:0运行复制

[root@blog ~]# ls -lhdrwxr-xr-x. 2 root root    6  5月 29 22:07 下载drwxr-xr-x. 2 root root    6  5月 29 22:07 桌面-rw-------. 1 root root 1.5K  5月 29 21:30 anaconda-ks.cfg-rw-r--r--. 1 root root  12G  6月 14 14:46 rhel-9.6-x86_64-dvd.iso#-h参数将字节自动转换为K/M/G单位,提升可读性

3.按时间排序文件代码语言:javascript代码运行次数:0运行复制

[root@blog ~]# ls -lt #按修改时间倒序(最新在最前)-rw-r--r--. 1 root root 12761628672  6月 14 14:46 rhel-9.6-x86_64-dvd.isodrwxr-xr-x. 2 root root           6  5月 29 22:07 下载drwxr-xr-x. 2 root root           6  5月 29 22:07 桌面-rw-------. 1 root root        1505  5月 29 21:30 anaconda-ks.cfg[root@blog ~]# ls -ltr #按修改时间正序(最旧在最前)-rw-------. 1 root root        1505  5月 29 21:30 anaconda-ks.cfgdrwxr-xr-x. 2 root root           6  5月 29 22:07 桌面drwxr-xr-x. 2 root root           6  5月 29 22:07 下载-rw-r--r--. 1 root root 12761628672  6月 14 14:46 rhel-9.6-x86_64-dvd.iso#按修改时间倒序排列,最近修改的文件排在最前,配合-r可实现升序排列

4.查看隐藏文件代码语言:javascript代码运行次数:0运行复制

[root@blog ~]# ls -la #显示包括.bashrc、.ssh等配置文件在内的所有隐藏文件,和普通文件及目录总用量 12462572dr-xr-x---. 14 root root        4096  6月 14 14:44 .dr-xr-xr-x. 18 root root         235  5月 29 21:25 ..drwxr-xr-x.  2 root root           6  5月 29 22:07 下载drwxr-xr-x.  2 root root           6  5月 29 22:07 桌面-rw-------.  1 root root        1505  5月 29 21:30 anaconda-ks.cfg-rw-------.  1 root root         102  5月 30 12:03 .bash_history-rw-r--r--.  1 root root          18  2月 12 22:29 .bash_logout-rw-r--r--.  1 root root         141  2月 12 22:29 .bash_profile-rw-r--r--.  1 root root         429  2月 12 22:29 .bashrc-rw-r--r--.  1 root root 12761628672  6月 14 14:46 rhel-9.6-x86_64-dvd.isodrwx------.  2 root root           6  5月 29 21:25 .ssh#解析:.表示当前目录,..表示上级目录

5.磁盘空间分析代码语言:javascript代码运行次数:0运行复制

[root@blog ~]# ls -lSh #按文件大小降序排列,快速定位大文件/目录-rw-r--r--. 1 root root  12G  6月 14 14:46 rhel-9.6-x86_64-dvd.iso-rw-------. 1 root root 1.5K  5月 29 21:30 anaconda-ks.cfgdrwxr-xr-x. 2 root root    6  5月 29 22:07 下载drwxr-xr-x. 2 root root    6  5月 29 22:07 桌面

6.递归目录遍历代码语言:javascript代码运行次数:0运行复制

[root@blog ~]# ls -lR /etc/NetworkManager/ #递归显示目录及其所有子目录中的文件总用量 4drwxr-xr-x. 2 root root    6  3月  3 22:10 conf.ddrwxr-xr-x. 5 root root   57  5月 29 21:25 dispatcher.ddrwxr-xr-x. 2 root root    6  3月  3 22:10 dnsmasq.ddrwxr-xr-x. 2 root root    6  3月  3 22:10 dnsmasq-shared.d-rw-r--r--. 1 root root 2263  3月  3 22:10 NetworkManager.confdrwxr-xr-x. 2 root root   33  5月 29 21:30 system-connections/etc/NetworkManager/conf.d:/etc/NetworkManager/dispatcher.d:drwxr-xr-x. 2 root root 6  3月  3 22:10 no-wait.ddrwxr-xr-x. 2 root root 6  3月  3 22:10 pre-down.ddrwxr-xr-x. 2 root root 6  3月  3 22:10 pre-up.d/etc/NetworkManager/dispatcher.d/no-wait.d:/etc/NetworkManager/dispatcher.d/pre-down.d:/etc/NetworkManager/dispatcher.d/pre-up.d:/etc/NetworkManager/dnsmasq.d:/etc/NetworkManager/dnsmasq-shared.d:/etc/NetworkManager/system-connections:-rw-------. 1 root root 229  5月 29 21:30 ens160.nmconnection

7.使用正则过滤代码语言:javascript代码运行次数:0运行复制

[root@blog ~]# ls -l  *.cfg #仅显示.cfg结尾的文件-rw-------. 1 root root 1505  5月 29 21:30 anaconda-ks.cfg[root@blog ~]# ls -l rhel-*.iso #仅显示rhel开头与.iso结尾的文件-rw-r--r--. 1 root root 12761628672  6月 14 14:46 rhel-9.6-x86_64-dvd.iso[root@blog ~]# ls [a-c]* #与通配符结合,列出以a/b/c开头的文件anaconda-ks.cfg

8.显示文件inode号代码语言:javascript代码运行次数:0运行复制

[root@blog ~]# ls -i #查看文件的inode编号(文件系统的唯一标识)67478510 anaconda-ks.cfg   69108591 下载  34476647 桌面   69108244 rhel-9.6-x86_64-dvd.iso

注意事项使用man ls查看完整手册,或ls –help 获取快速帮助。掌握ls是高效使用 Linux 的第一步权限限制:若目录无读取权限(如 /root),ls 会报错 Permission denied。需使用sudo提升权限(sudo ls /root)特殊字符处理:文件名含空格或换行符时,需用引号包裹或转义:ls “my file.txt”;ls ‘my file.txt’;ls my file.txt性能影响:在含数十万文件的目录中使用-R或复杂组合选项(如 -lhtR)可能导致卡顿,建议优先使用find替代递归遍历。隐藏文件逻辑:ls默认不显示隐藏文件,需显式使用 -a。若需排除.和..目录,可用ls -A。

以上就是

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享