在Linux系统中,查看目录下的文件是日常操作的基础,掌握相关命令能高效管理文件系统,本文将详细介绍常用命令及其功能、选项和示例,帮助你灵活应对不同场景。

ls命令:最基础的文件列表命令
ls(list)是最常用的目录查看命令,默认显示当前目录下的非隐藏文件和子目录名称,配合选项可实现多种功能。
常用选项及功能
以下为ls核心选项的总结,可通过表格清晰对比:
| 选项 | 功能描述 | 示例 |
|---|---|---|
-l |
长格式输出,显示权限、所有者、大小、时间等详细信息 | ls -l |
-a |
显示所有文件,包括以开头的隐藏文件(如.bashrc) |
ls -a |
-h |
以人类可读格式显示文件大小(如K、M、G),需配合-l使用 |
ls -lh |
-R |
递归显示子目录内容,即列出当前目录及所有子目录下的文件 | ls -R |
-t |
按修改时间倒序排序,最新的文件在前 | ls -lt |
-S |
按文件大小倒序排序,最大的文件在前 | ls -lS |
-F |
在文件名后添加类型标识(表示目录,表示可执行文件,表示符号链接) | ls -F |
-i |
显示文件的inode号(文件系统唯一标识) | ls -i |
示例说明
- 基础列表:
ls仅显示文件名,如test.txt documents/ report.pdf。 - 长格式详情:
ls -l输出类似-rw-r--r-- 1 user group 1024 Oct 20 10:30 test.txt,其中-rw-r--r--为权限(所有者可读写,组和其他用户只读),user为所有者,group为所属组,1024为字节大小,Oct 20 10:30为修改时间。 - 隐藏文件+大小:
ls -lah可显示隐藏文件(如.config),并以K/M格式展示大小,方便快速定位大文件。
tree命令:树形结构展示目录层级
tree能以树状图直观展示目录及其子目录的嵌套关系,适合复杂目录结构的可视化。
安装与使用
- 安装:若系统未预装,可通过包管理器安装,如Debian/Ubuntu用
sudo apt install tree,CentOS/RHEL用sudo yum install tree。 - 常用选项:
-a:显示所有文件(包括隐藏文件);-L <层级>:限制显示的目录深度,如-L 2仅显示两级目录;-d:仅显示目录,不显示文件。
- 示例:
tree -L 2输出类似:. ├── documents/ │ ├── report/ │ └── notes.txt ├── images/ │ ├── photo1.jpg │ └── photo2.png └── test.txt
find命令:按条件查找文件
find用于根据文件名、类型、大小、修改时间等条件在目录树中查找文件,功能强大但语法稍复杂。

基本语法
find [路径] [条件] [操作],路径默认为当前目录(),条件可组合使用。
常用条件与示例
- 按名称查找:
find . -name "*.txt"查找当前目录及子目录下所有.txt文件(-name区分大小写,-iname不区分)。 - 按类型查找:
find . -type d查找所有目录(d为目录,f为普通文件,l为符号链接)。 - 按大小查找:
find . -size +10M查找大于10MB的文件(表示大于,表示小于,不写则等于)。 - 按时间查找:
find . -mtime -7查找7天内修改过的文件(-mtime为修改时间,-atime为访问时间,-ctime为状态改变时间)。 - 执行操作:
find . -name "*.log" -delete查找并删除所有.log文件(-delete为快捷删除,也可用-exec rm {} ;)。
stat命令:查看文件详细属性
stat比ls -l更全面,显示文件的详细元数据,包括inode、权限、访问/修改/状态改变时间等。
示例
stat test.txt 输出:
File: test.txt
Size: 1024 Blocks: 8 IO Block: 4096 regular file
Device: 801h/2049d Inode: 131075 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1000/ user) Gid: ( 1000/ group)
Access: 2023-10-20 10:30:00.000000000 +0800
Modify: 2023-10-20 10:30:00.000000000 +0800
Change: 2023-10-20 10:30:00.000000000 +0800
Birth: -
其中Access为最后访问时间,Modify修改时间,Change为属性(如权限)改变时间。

du命令:统计目录或文件大小
du(disk usage)用于查看目录或文件占用的磁盘空间,适合清理冗余文件。
常用选项
-h:人类可读格式(如K/M/G);-s:仅汇总显示总大小,不显示子目录详情;--max-depth=<层级>:限制统计深度,如--max-depth=1仅统计当前目录下一级。
示例
du -sh *:统计当前目录下各文件和子目录的总大小,并汇总显示;du -h --max-depth=1 documents/:仅显示documents目录下一级的大小占用。
相关问答FAQs
Q1:如何快速隐藏以点开头的文件,仅显示非隐藏文件?
A:使用ls命令时默认不显示隐藏文件,若因-a选项显示了隐藏文件,可改用ls -l(不加-a)或ls --hide=".*"(显式隐藏以开头的文件)。ls --hide=".*" 仅显示非隐藏文件和目录。
Q2:如何按文件大小倒序排列,并显示前10个大文件?
A:结合ls和head命令实现,先用ls -lS按大小倒序排列(-S选项),再用head -n 10提取前10行。ls -lS | head -n 10,输出中第一列是权限,第五列是大小,可快速定位大文件。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/17522.html