Linux目录结构以及一些文件相关的命令介绍
Linux系统采用树形目录结构,根目录(/)是所有分区的起点,包含/bin(用户命令)、/etc(配置文件)、/var(日志文件)等重要子目录。查看文件内容可使用cat(显示全部)、more/less(分页查看)以及head/tail(查看首尾部分),其中less支持搜索和滚动等扩展功能。统计文件信息用wc命令,检索文件内容用grep命令,支持正则表达式和大小写忽略等选项。这些工具为Linux文件
文章目录
前言
在 Linux 操作系统的日常使用与管理中,文件和目录的操作是最基础也最核心的技能之一。无论是资深大佬还是小白,都需要熟练掌握目录结构的组织逻辑、文件内容的查看与检索方法,以及数据的备份与恢复技巧。这些操作不仅关系到日常工作的效率,更直接影响到系统的稳定运行与数据安全。
本文将从 Linux 独特的树形目录结构讲起,详细介绍各类文件查看命令(如 cat、more、less、head、tail)的特点与用法,深入解析文件内容统计(wc)和检索(grep)的实用技巧,最后还会讲解常用的压缩、解压缩工具(gzip、bzip2 等)及归档工具(tar)的组合使用方法,帮助读者系统掌握 Linux 文件与目录管理的核心知识,为后续的 Linux 操作与运维打下坚实基础。
一、Linux 目录结构
1.1 树形目录结构概述
Linux 操作系统中的目录和文件数据被组织为一个树形目录结构,所有的分区、目录、文件等都具有一个相同的位置起点——根目录。Linux 操作系统中只有一个根目录,而 Windows 操作系统中每个分区都有一个根目录。
1.1.1 根目录及其子目录
- 根目录(/):Linux 操作文件系统的起点,其所在的分区称为根分区。
- 常用子目录及其作用:
- /root:管理员root的家目录
- /home:普通用户的家目录
- /boot:存放系统内核及启动文件
- /dev:存放设备接口文件
- /etc:存放系统主要配置文件
- /sbin:存放系统管理命令,仅管理员用户可以执行
- /bin:存放常用用户命令(如cp、ls),所有用户都可以执行
- /usr:存放用户应用程序
- /var:存放经常变化的文件(如日志),几乎所有日志文件都存储在该目录
二、查看及检索文件
2.1 查看文件内容
2.1.1 cat命令
- 显示文件的内容,可以同时接多个地址。使用
cat
命令可以非常简单地直接显示整个文件的内容,但是当文件中的内容较多时, 很可能只能看到最后一部分信息,文件前面的大部分内容都来不及看到,查看长文件时推荐使用more
或less
命令。
cat [选项] 文件名 ..
- 示例:
cat /etc/hosts /etc/redhat-release #同时显示了hosts和redhat-release两个文件的内容
2.1.2 more和less命令
用于分页查看文件内容。
2.1.2.1 more命令
more
命令是较早出现的分页显示命令,表示文件内容还有更多(more)的意思。
more [选项] 文件名 ..
more -3 /var/lib/unbound/root.key #以每次出现三行的形式浏览root.key文件,使用空格可以向下翻页
2.1.2.2 less命令
less
命令是较晚出现的分页显示命令,提供了比早期 more
命令更多的一些扩展功能。特别是查找操作/
,在面对大文件进行查看时,让less
的便捷性远超与more
。
less [选项] 文件名 ..
less /varlib/unbound/rook.key #输入后进入less查看模式
2.1.2.3 more命令与less命令操作对比
- 基本操作
操作 | more命令 | less命令 |
---|---|---|
向前翻页 | 空格键 或 f |
空格键 或 f |
向后翻页 | b (仅部分版本支持) |
b |
向下滚动一行 | 回车键 | 回车键 或 ↓ |
向上滚动一行 | k 或 ↑ (部分版本不支持) |
k 或 ↑ |
跳转到文件首 | 不支持 | g |
跳转到文件尾 | 不支持 | G |
退出查看 | q |
q |
- 搜索功能
操作 | more命令 | less命令 |
---|---|---|
向下搜索 | / (仅部分版本支持) |
/ (支持正则表达式) |
向上搜索 | 不支持 | ? (支持正则表达式) |
跳转下一个匹配 | n |
n |
跳转上一个匹配 | 不支持 | N |
- 其他功能
操作 | more命令 | less命令 |
---|---|---|
显示行号 | 不支持 | -N (启动参数) |
实时监控文件变化 | 不支持 | F (类似tail -f ) |
水平滚动 | 不支持 | ← 或 → |
帮助菜单 | h (部分版本支持) |
h |
2.1.3 head和tail命令
2.1.3.1 head命令
head
和 tail
是一对作用相反的命令,前者用于显示文件开头的一部分内容,后者用于显示文件末尾的一部分内容。可以使用-n
选项(n 为具体的行数)指定需要显示多少行的内容,若不指定行数,默认只显示十行。
执行head -4 /etc/passwd
命令,可以查看用户账号文件/etc/passwd
开头第一行至第四行的内容。
head -4 /etc/passwd #查看用户账号文件/etc/passwd开头第一行至第四行的内容。
head /etc/passwd #不加参数时默认显示前10行内容
2.1.3.2 tail命令
tail
命令则正好相反,用于查看文件末尾的内容。tail
命令通常用于查看系统日志(因为较新的日志记录总是添加到文件最后),以便观察网络访问、服务调试等相关信息。配合“-f”选项使用时,还可以跟踪文件尾部内容的动态更新,便于实时监控文件内容的变化。例如,以下操作可以查看系统公共日志文件/var/log/messages
的最后十行内容,并在末尾跟踪显示该文件中新记录的内容(按 Ctrl+C
组合键终止)。
tail -4 /etc/passwd #查看用户账号文件/etc/passwd最后四行的内容。
tail -f /etc/passwd #实时监控passwd文件的内容变化
2.2 统计和检索文件内容
2.2.1 wc 命令
- 用于统计文件内容中的单词数量、行数等信息。
-l
:统计行数。-w
:统计单词个数。-c
:统计字节数。
- 示例:
wc -l /etc/passwd #统计passwd文件的行数
wc /etc/passwd #不加参数,默认展示文件的行数,单词数,字节数
2.2.2 grep 命令
- 用于在文件中查找并显示包含指定字符串的行。
grep [选项] 查找条件 目标文件
-i
:忽略大小写。-v
:反转查找。- 示例:
grep -v "^#" yum.conf #输出yum.conf中的所有除#开头的行
2.2.2.1 查找条件设置
①要查找的字符串以双引号括起来
②“……$”表示以……结尾
grep -i ".log$" yum.conf #查找所有以“.log”结尾的行
③“^……”表示以……开头
grep -v "^debug" yum.conf #显示yum.conf中所有以debug开头的行
④ “^$”表示空行
grep -v "^#" yum.conf|grep "^$" -v ##输出yum.conf中的所有除#开头和空行外的行
三、备份与恢复文档
3.1 使用压缩和解压缩工具
3.1.1 gzip 和 gunzip 命令
gzip
:压缩文件,扩展名为.gz
。- 示例:
gzip -9 文件名 # 压缩,-9是压缩的等级,-9是高压缩,压缩比例最大,压缩最慢,理论上用6是最好的
gzip -d 文件名 # -d,解压缩
gunzip -d 文件名 #解压缩
gzip -9 yum.conf #压缩yum.conf成gz压缩包
gunzip
:解压缩文件。- 示例:
gzip -d yum.conf.gz #解压yum.conf.gz压缩包,解压成功
gunzip yum.conf.gz #也可以达成一样的效果
3.1.2 bzip2 和 bunzip2 命令
bzip2 -9 文件名 # 压缩,-9是压缩的等级,-9是高压缩,压缩比例最大,压缩最慢,理论上用6是最好的
bzip2 -d 文件名 # -d,解压缩
bunzip2 文件名 #解压缩
bzip2
:压缩文件,扩展名为.bz2
。- 示例:
bzip2 yum.conf
bunzip2
:解压缩文件。- 示例:
bunzip2 yum.conf.bz2 #解压yum.conf.bz2压缩包,解压成功
bzip2 -d yum.conf #也可以成功解压.bz2文件
3.2 使用 tar 归档和释放工具
tar
命令主要用于对目录和文件进行归档。在实际的备份工作中,通常在归档的同时也会将包文件进行压缩(需要调用前面的 gzip
或 bzip2
命令),以节省磁盘空间。使用 tar
命令时,选项前的“-”号可以省略。
tar [选项] 归档文件名 源文件或目录 #压缩
tar [选项] 归档文件名 [-C 目标目录] #解压
3.2.1 制作归档备份文件
tar
命令常用选项:-c
:创建(Create).tar 格式的包文件。-C
:解压时指定释放的目标文件夹。-f
:表示使用归档文件。-j
:调用 bzip2 程序进行压缩或解压。-z
:调用 gzip 程序进行压缩或解压。-p
:打包时保留文件及目录的权限。(不常用)-P
:打包时保留文件及目录的绝对路径,打包的同时还会打包路径。-t
:列表查看包内的文件。-v
:输出详细信息(Verbose)。-x
:解开.tar 格式的包文件。
- 通常
tar
命令的选项都是组合使用的,最常用的压缩选项为-czf
gzip压缩归档、-cjf
bzip2压缩归档。 - 示例:
tar czvf test111-2025-08-11.tar.gz test111 #将test111进行tar归档并以.gz的格式输出
tar cjvf test111-2025-08-11.tar.bz2 test111#和上一行的区别为使用了bzip2进行压缩,会压缩成.bz2文件
3.2.2 从归档文件中恢复数据
- 而最常用的归档恢复选项则为
-xzf
gzip归档恢复、-xjf
bzip2归档恢复。恢复归档文件时最好不要放在归档文件的原文件夹,因为恢复的归档文件会覆盖原文件夹,可能造成数据丢失。 - 示例:
tar xzvf test111-2025-08-11.tar.gz -C test #将test111-2025-08-11.tar.gz归档恢复到test文件夹
tar xjvf test111-2025-08-11.tar.bz2 -C test #将test111-2025-08-11.tar.bz2归档恢复到test文件夹
总结
本文主要介绍了 Linux目录,包括采用树形结构的目录结构(以根目录为起点,包含 /root、/home 等常用子目录)、查看及检索文件的命令(如 cat、more/less、head/tail 查看内容,wc 统计行数等,grep 检索字符串),以及备份与恢复文档的工具(gzip/gunzip、bzip2/bunzip2 用于压缩解压缩,tar 用于归档及结合压缩工具的操作)。Linux的目录结构以及这些工具都能在工作中大大地帮助到我们,认识和学习这些都是很有益处的。望大家能聚沙成塔,与君共勉之!
更多推荐
所有评论(0)