linux命令—ls

简介: `ls` 是 Linux 系统中用于列出目录内容的基础命令,功能强大且使用频率极高。它可以帮助用户查看文件、分析磁盘空间及检查权限等。常用选项如 `-l` 显示详细信息,`-a` 包含隐藏文件,`-h` 以易读格式展示大小,`-t` 按修改时间排序等。通过组合选项,可实现复杂需求,如递归遍历目录(`-R`)、显示 inode 号(`-i`)或结合正则过滤特定文件。注意权限限制、特殊字符处理及大规模目录操作可能带来的性能问题。掌握 `ls` 是高效使用 Linux 的关键一步。

命令简介

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

用法

ls命令的语法格式如下

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.基础文件查看

[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.以易读的格式输出文件目录大小

[root@blog ~]# ls -lh
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 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.按时间排序文件

[root@blog ~]# ls -lt #按修改时间倒序(最新在最前)
-rw-r--r--. 1 root root 12761628672  6月 14 14:46 rhel-9.6-x86_64-dvd.iso
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
[root@blog ~]# ls -ltr #按修改时间正序(最旧在最前)
-rw-------. 1 root root        1505  5月 29 21:30 anaconda-ks.cfg
drwxr-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.查看隐藏文件,公众号同名

[root@blog ~]# ls -la #显示包括.bashrc、.ssh等配置文件在内的所有隐藏文件,和普通文件及目录
总用量 12462572
dr-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.iso
drwx------.  2 root root           6  5月 29 21:25 .ssh
#解析:.表示当前目录,..表示上级目录

5.磁盘空间分析

[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.cfg
drwxr-xr-x. 2 root root    6  5月 29 22:07 下载
drwxr-xr-x. 2 root root    6  5月 29 22:07 桌面

6.递归目录遍历

[root@blog ~]# ls -lR /etc/NetworkManager/ #递归显示目录及其所有子目录中的文件
总用量 4
drwxr-xr-x. 2 root root    6  3月  3 22:10 conf.d
drwxr-xr-x. 5 root root   57  5月 29 21:25 dispatcher.d
drwxr-xr-x. 2 root root    6  3月  3 22:10 dnsmasq.d
drwxr-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.conf
drwxr-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.d
drwxr-xr-x. 2 root root 6  3月  3 22:10 pre-down.d
drwxr-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.使用正则过滤

[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号

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

注意事项

  1. 使用man ls查看完整手册,或ls --help 获取快速帮助。掌握ls是高效使用 Linux 的第一步
  2. 权限限制:若目录无读取权限(如 /root),ls 会报错 Permission denied。需使用sudo提升权限(sudo ls /root)
  3. 特殊字符处理:文件名含空格或换行符时,需用引号包裹或转义:ls "my file.txt";ls 'my file.txt';ls my\ file.txt
  4. 性能影响:在含数十万文件的目录中使用-R或复杂组合选项(如 -lhtR)可能导致卡顿,建议优先使用find替代递归遍历。
  5. 隐藏文件逻辑:ls默认不显示隐藏文件,需显式使用 -a。若需排除.和..目录,可用ls -A。
相关文章
|
2月前
|
Linux 应用服务中间件 Shell
二、Linux文本处理与文件操作核心命令
熟悉了Linux的基本“行走”后,就该拿起真正的“工具”干活了。用grep这个“放大镜”在文件里搜索内容,用find这个“探测器”在系统中寻找文件,再用tar把东西打包带走。最关键的是要学会使用管道符|,它像一条流水线,能把这些命令串联起来,让简单工具组合出强大的功能,比如 ps -ef | grep 'nginx' 就能快速找出nginx进程。
351 1
二、Linux文本处理与文件操作核心命令
|
2月前
|
Linux
linux命令—stat
`stat` 是 Linux 系统中用于查看文件或文件系统详细状态信息的命令。相比 `ls -l`,它提供更全面的信息,包括文件大小、权限、所有者、时间戳(最后访问、修改、状态变更时间)、inode 号、设备信息等。其常用选项包括 `-f` 查看文件系统状态、`-t` 以简洁格式输出、`-L` 跟踪符号链接,以及 `-c` 或 `--format` 自定义输出格式。通过这些选项,用户可以灵活获取所需信息,适用于系统调试、权限检查、磁盘管理等场景。
265 137
|
2月前
|
安全 Ubuntu Unix
一、初识 Linux 与基本命令
玩转Linux命令行,就像探索一座新城市。首先要熟悉它的“地图”,也就是/根目录下/etc(放配置)、/home(住家)这些核心区域。然后掌握几个“生存口令”:用ls看周围,cd去别处,mkdir建新房,cp/mv搬东西,再用cat或tail看文件内容。最后,别忘了随时按Tab键,它能帮你自动补全命令和路径,是提高效率的第一神器。
597 57
|
5月前
|
JSON 自然语言处理 Linux
linux命令—tree
tree是一款强大的Linux命令行工具,用于以树状结构递归展示目录和文件,直观呈现层级关系。支持多种功能,如过滤、排序、权限显示及格式化输出等。安装方法因系统而异常用场景包括:基础用法(显示当前或指定目录结构)、核心参数应用(如层级控制-L、隐藏文件显示-a、完整路径输出-f)以及进阶操作(如磁盘空间分析--du、结合grep过滤内容、生成JSON格式列表-J等)。此外,还可生成网站目录结构图并导出为HTML文件。注意事项:使用Tab键补全路径避免错误;超大目录建议限制遍历层数;脚本中推荐禁用统计信息以优化性能。更多详情可查阅手册mantree。
450 143
linux命令—tree
|
1月前
|
存储 安全 Linux
Linux卡在emergency mode怎么办?xfs_repair 命令轻松解决
Linux虚拟机遇紧急模式?别慌!多因磁盘挂载失败。本文教你通过日志定位问题,用`xfs_repair`等工具修复文件系统,三步快速恢复。掌握查日志、修磁盘、验重启,轻松应对紧急模式,保障系统稳定运行。
277 2
|
2月前
|
缓存 监控 Linux
Linux内存问题排查命令详解
Linux服务器卡顿?可能是内存问题。掌握free、vmstat、sar三大命令,快速排查内存使用情况。free查看实时内存,vmstat诊断系统整体性能瓶颈,sar实现长期监控,三者结合,高效定位并解决内存问题。
163 0
Linux内存问题排查命令详解
|
2月前
|
Unix Linux 程序员
Linux文本搜索工具grep命令使用指南
以上就是对Linux环境下强大工具 `grep` 的基础到进阶功能介绍。它不仅能够执行简单文字查询任务还能够处理复杂文字处理任务,并且支持强大而灵活地正则表达规范来增加查询精度与效率。无论您是程序员、数据分析师还是系统管理员,在日常工作中熟练运用该命令都将极大提升您处理和分析数据效率。
205 16
|
4月前
|
监控 Linux 网络安全
Linux命令大全:从入门到精通
日常使用的linux命令整理
757 13
|
5月前
|
Linux 网络安全 数据安全/隐私保护
使用Linux系统的mount命令挂载远程服务器的文件夹。
如此一来,你就完成了一次从你的Linux发车站到远程服务器文件夹的有趣旅行。在这个技术之旅中,你既探索了新地方,也学到了如何桥接不同系统之间的距离。
798 21
|
5月前
|
监控 Linux
Linux系统中使用df命令详解磁盘使用情况。
`df`命令是Linux系统管理员和用户监控和管理磁盘空间使用的重要工具。掌握它的基本使用方法和选项可以帮助在必要时分析和解决空间相关问题。简洁但功能丰富,`df`命令确保了用户可以快速有效地识别和管理文件系统的空间使用情况。
358 13