Linux列出文件和目录

对于刚接触 Linux 的新手来说,查看、列出当前目录下的文件与目录 是最基础、也是使用频率最高的操作。和 Windows 图形化鼠标点击查看文件不同,Linux 主要依靠命令行完成文件与目录的浏览,其中ls命令是核心工具。

熟练掌握ls命令的基础用法、长列表详情查看、文件列表过滤筛选,不仅能满足日常查看文件需求,更是后续 Linux 运维、服务部署、Shell 脚本编写、服务器管理的必备基础。本文将从零开始,详细讲解 Linux 列出文件和目录的三种核心方式:显示基本列表、显示长列表、过滤输出列表,搭配实操案例、参数解析和使用场景,适合零基础新手入门学习,可直接收藏当做常备参考手册。

一、ls 命令基础:显示基本列表

1.1 ls 命令作用

ls 是 Linux 系统中list的缩写,作用是列出当前工作目录下所有的文件、文件夹、可执行文件、隐藏文件等内容,是 Linux 最常用的内置基础命令。

1.2 基本语法

复制代码
ls  [选项]  [目录路径]
  • 不加选项、不加路径:默认列出当前所在目录的文件和目录
  • 加上目录路径:可以直接列出指定路径下的内容,无需切换目录

1.3 显示基本列表(无参数用法)

直接在终端输入ls,回车即可显示当前目录简易文件列表

复制代码
ls

输出效果:只展示文件名和目录名,横向排列、简洁直观,不显示权限、大小、时间等额外信息。

1.4 终端颜色标识含义

Linux 终端默认自带颜色区分,新手一定要记住对应规则:

  • 蓝色:普通目录
  • 白色:普通文件
  • 绿色:可执行文件
  • 红色:压缩包 / 破损文件
  • 浅蓝色:链接文件
  • 黄色:设备文件

1.5 指定路径列出基本列表

不需要切换目录,直接后跟绝对路径 / 相对路径,即可列出目标目录内容:

复制代码
# 列出/usr/bin目录文件
ls /usr/bin

# 列出上级目录文件
ls ..

注意:ls命令输出的列表是按字母排序的(按列排序不是按行排序)。如果使用的终端仿真器支持色彩显示,那么ls命令还可以用不同的颜色来区分不同类型的文件。LS_COLORS环境变量控制着这个特性。不同的Linux发行版会根据各自终端仿真器的能力来设置该环境变量,如果没有安装彩色终端仿真器,可以使用ls命令的-F选项来区分文件和目录

二、显示长列表:ls -l 详细信息解析

单纯ls基础列表只能看到文件名,无法查看文件权限、所属用户、文件大小、修改时间等关键信息,这时就需要使用长列表格式

2.1 长列表核心命令

复制代码
ls -l

-l 参数代表 long,以长格式、竖排方式展示文件和目录的完整详细信息。

2.2 ls -l 每一列字段完整解读

执行ls -l后输出共 7 列核心信息,逐个拆解:

复制代码
drwxr-xr-x  2 root root 4096 May  8 10:20 test
  1. 第一列:文件类型与权限首位字符标识文件类型:
  • d:目录
  • -:普通文件
  • l:软链接文件
  • b/c:设备文件后面 9 个字符分三组,分别代表所有者权限、所属组权限、其他用户权限(读 r、写 w、执行 x)。
  1. 第二列:硬链接数表示该文件或目录的硬链接计数,目录默认一般为 2。

  2. 第三列:所属用户名文件 / 目录归属的 Linux 系统用户。

  3. 第四列:所属用户组文件 / 目录归属的用户组。

  4. 第五列:文件大小默认单位为字节 Byte,目录固定显示 4096。

  5. 第六列:修改时间文件最后一次编辑、修改的日期和时间。

  6. 第七列:文件名 / 目录名

2.3 长列表常用组合参数

2.3.1 人性化显示大小 ls -lh

默认ls -l大小为字节,可读性差,搭配-h(human 人性化):

复制代码
ls -lh

自动换算为 KB、MB、GB,适合日常查看文件大小。

2.3.2 显示隐藏文件长列表 ls -la

Linux 中以.开头的文件为隐藏文件 ,普通ls看不到:

复制代码
ls -la

可以同时展示普通文件 + 隐藏文件的完整长列表信息。

2.3.3 递归列出所有子目录 ls -lR
复制代码
ls -lR

递归遍历当前目录及所有子层级目录,全部以长列表形式展示。

三、过滤输出列表:精准筛选文件与目录

实际使用中,目录下文件数量繁多,我们往往不需要列出全部内容,只需要筛选指定类型、指定后缀、指定名称的文件,这就是过滤输出列表。

3.1 通配符 * 基础过滤

* 代表匹配任意多个字符,是过滤列表最常用的方式。

3.1.1 筛选指定后缀文件

只列出 .txt 文本文件:

复制代码
ls *.txt

只列出 .log 日志文件:

复制代码
ls *.log

只列出 .sh 脚本文件:

复制代码
ls *.sh
3.1.2 筛选以指定字符开头的文件

列出以test开头的所有文件和目录:

复制代码
ls test*

3.2 只过滤显示目录、不显示文件

只想列出当前目录下的所有文件夹,过滤掉普通文件:

复制代码
ls -F | grep /

原理:ls -F 会在目录后自动加/,再通过grep过滤匹配含/的行。

3.3 只过滤显示隐藏文件

单独筛选所有隐藏文件(以.开头):

复制代码
ls -d .*

3.4 结合管道 grep 高级过滤

搭配管道|grep命令,实现更精准的模糊匹配过滤:

复制代码
# 列出名称包含sys的所有文件和目录
ls | grep sys

# 长列表中过滤包含log的内容
ls -l | grep log

3.5 按时间 / 大小排序过滤

按修改时间排序(最新文件在前面)
复制代码
ls -lt
按文件大小从大到小排序
复制代码
ls -lS
倒序排列
复制代码
ls -ltr

四、拓展实用搭配技巧

4.1 tree 树形展示目录结构

ls只能平铺展示,想要层级树形结构可以使用tree命令,未安装可执行:

复制代码
# CentOS安装
yum install tree -y

# 使用
tree

4.2 绝对路径与相对路径结合 ls

无论当前在哪目录,用绝对路径可随时查看任意目录文件:

复制代码
ls -lh /home

4.3 日常最常用组合命令汇总

复制代码
# 简洁查看含隐藏文件
ls -a

# 详细信息+人性化大小
ls -lh

# 详细+隐藏+人性化大小
ls -lha

# 递归查看所有子目录详情
ls -lhaR

五、常见问题与注意事项

  1. 看不到隐藏文件 :普通ls默认不显示.开头隐藏文件,加 -a / -A 参数即可。
  2. ls -l 大小看不懂 :必须搭配 -h 参数,自动转换 KB/MB 单位。
  3. 过滤筛选无结果:检查文件名大小写,Linux 严格区分大小写。
  4. 权限不足无法列出 :部分系统目录普通用户无权限,会提示权限拒绝,可加sudo执行。

六、总结

本文重点围绕 Linux 列出文件和目录三大核心用法:基本列表、长列表、过滤输出列表做了全面详解。

  1. 基本列表 :直接ls使用,适合快速浏览文件名,简洁高效;
  2. 长列表ls -l 查看权限、所有者、大小、时间等完整信息,-lh 是日常最常用组合;
  3. 过滤输出列表 :借助通配符*、管道grep、排序参数,精准筛选所需文件,告别杂乱列表。

ls命令是 Linux 命令行的入门基石,熟练掌握基础查看、详细查看、过滤筛选三种用法,能够极大提升日常操作效率,也为后续学习目录管理、权限配置、Shell 脚本打下扎实基础。建议新手多在终端实操练习,熟记常用参数与过滤规则。

相关推荐
A小辣椒4 小时前
TShark:Wireshark CLI 功能
linux
A小辣椒8 小时前
TShark:基础知识
linux
AlfredZhao10 小时前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao1 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334661 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪1 天前
linux 拷贝文件或目录到指定的位置
linux
大树882 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠2 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质2 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
bush42 天前
嵌入式linux学习记录十四、术语
linux·嵌入式