在 Linux 系统学习和运维过程中,文件管理是最基础也是最核心的技能之一。无论是目录导航、文件创建删除,还是数据归档压缩,熟练掌握相关命令和技巧能极大提升工作效率。本文将从 Linux 目录结构、路径概念入手,详细讲解文件管理、文件查看、归档压缩的实用命令与实战案例,适合 Linux 初学者快速上手。

一、Linux 系统目录结构与路径基础

1.1 目录结构特点

与 Windows 系统的多盘符(C:\、D:\)结构不同,Linux 系统只有一个根目录(/),所有文件、目录和设备都挂载在根目录之下,形成树形结构。

可通过tree命令查看目录结构(若未安装,执行yum install tree -y安装),例如查看/tmp目录结构:

shell

[root@centosTest ~]# tree /tmp/

1.2 核心目录功能说明

目录 核心功能描述
/ 系统根目录,所有文件和目录的起点
/bin 存放常用二进制命令(如 ls、cp、mkdir),普通用户和管理员均可使用
/boot 系统启动相关文件(如内核、grub 引导程序)
/dev 设备文件目录(如磁盘 /dev/sda、终端 /dev/tty1),Linux 中 "一切皆文件"
/etc 系统配置文件目录(如用户信息 /etc/passwd、密码文件 /etc/shadow)
/home 普通用户家目录默认存放位置(如用户 user1 的家目录为 /home/user1)
/lib/lib64 系统共享库文件目录,类似 Windows 的 DLL 文件,支撑应用程序运行
/mnt/media 临时挂载目录(如 U 盘、光盘),建议将外部存储设备挂载至此
/opt 第三方软件安装目录(如 GitLab、Tomcat 等)
/proc 虚拟目录,映射系统内存信息(如 CPU 信息 /proc/cpuinfo),内容不存储在硬盘
/sbin 管理员专用命令目录(如系统启停、磁盘管理命令),普通用户无执行权限
/tmp 临时文件目录,系统定期清理未使用文件,不可存放重要数据(含粘滞位保护)
/var 动态文件目录(如日志 /var/log、邮件、定时任务文件)
/usr 应用程序存放目录(/usr/bin 普通用户程序、/usr/sbin 管理员程序)

1.3 绝对路径与相对路径

路径是定位文件 / 目录位置的方式,Linux 中分为两种:

  • 绝对路径:从根目录(/)开始的完整路径,例如/etc/passwd/home/user1/a.txt,无论当前所在目录,绝对路径都能准确定位文件。
  • 相对路径:从当前目录开始的路径,无需以 / 开头,例如:
    • 当前在/etc目录,访问passwd文件可直接写passwd./passwd(./ 表示当前目录)
    • 当前在/home目录,访问/root/b.txt可写../root/b.txt(../ 表示上一级目录)

通过pwd命令可查看当前所在目录的绝对路径:

shell

[root@centosTest etc]# pwd
/etc

二、Linux 文件管理核心命令

文件管理主要包括目录切换、文件 / 目录创建、删除、复制、移动等操作,以下是高频命令实战。

2.1 目录切换:cd 命令

cd(change directory)用于切换工作目录,常用用法:

shell

cd /etc          # 切换到/etc目录(绝对路径)
cd ../opt        # 切换到上一级目录的opt子目录(相对路径)
cd ~             # 切换到当前用户家目录(root用户为/root,普通用户为/home/用户名)
cd -             # 切换到上一次所在目录

2.2 文件创建:touch、vim 与重定向

(1)touch 命令

用于创建空文件或修改文件时间戳(文件已存在时更新时间):

shell

touch a.txt              # 创建单个空文件
touch file1 file2        # 同时创建多个文件
touch file{6..20}        # 批量创建file6到file20的文件
(2)vim 命令

文本编辑器创建文件(适合创建需直接编辑内容的文件):

shell

vim test-1.txt         # 进入vim编辑界面,按i开始编辑,Esc+:+wq保存退出
(3)重定向创建文件

通过>重定向符号快速创建文件并写入内容:

shell

echo "Hello Linux" > test.txt  # 创建test.txt并写入字符串

2.3 目录创建:mkdir 命令

mkdir(make directory)用于创建目录,核心参数-p(递归创建多级目录):

shell

mkdir dir1               # 创建单个目录
mkdir dir2 dir3 /home/dir4  # 同时创建多个目录(支持绝对路径)
mkdir -p /tmp/a/b/c      # 递归创建多级目录(父目录不存在时自动创建)

2.4 文件 / 目录删除:rm 命令

rm(remove)用于删除文件或目录,慎用! 核心参数:

  • -f:强制删除,无提示
  • -r:递归删除目录(含目录下所有文件和子目录)

shell

rm -f a.txt              # 强制删除单个文件
rm -rf dir1              # 强制删除dir1目录及其中所有内容
rm -rf file*             # 强制删除所有以file开头的文件/目录

警告:rm -rf / 会删除系统所有文件,导致系统崩溃,切勿执行!

2.5 文件 / 目录复制:cp 命令

cp(copy)用于复制文件或目录,核心参数-R/r(递归复制目录):

shell

cp /etc/passwd /opt/     # 复制文件到/opt目录
cp -r /boot/grub2 /opt/  # 递归复制目录到/opt目录
cp -r /boot/grub2 /etc/passwd /opt  # 同时复制多个文件/目录到/opt
\cp -r /boot/grub2 /opt  # 覆盖文件时无提示(\取消cp的别名默认提示)

2.6 文件 / 目录移动:mv 命令

mv(move)用于移动文件 / 目录,还可实现重命名功能:

shell

mv passwd bbbpasswd      # 重命名文件(当前目录下)
mv bbbpasswd /opt/       # 移动文件到/opt目录(同时可重命名)
mv dir1 /tmp/            # 移动目录到/tmp目录

注意:Linux 系统不以后缀名判断文件类型,且严格区分大小写(如 a.txt 和 A.txt 是两个不同文件)。

三、Linux 文件内容查看命令

日常运维中常需查看文件内容,以下是 5 个高频命令及适用场景:

3.1 cat 命令:快速查看完整文件

适合查看小文件,一次性显示所有内容:

shell

cat /etc/passwd          # 查看用户信息文件
cat /proc/cpuinfo        # 查看CPU信息

3.2 more 命令:分页查看大文件

适合查看大文件,支持分页浏览:

  • 回车:向下翻一行
  • 空格:向下翻一屏
  • q:退出查看

shell

cat /proc/cpuinfo | more  # 管道符结合more分页查看
more /var/log/secure      # 分页查看系统安全日志

3.3 less 命令:增强版分页查看

功能与 more 类似,支持前后翻滚(更推荐使用):

  • PageUp:向上翻一屏
  • PageDown:向下翻一屏
  • 上下箭头:逐行滚动
  • q:退出查看

shell

less /var/log/messages   # 查看系统日志(支持前后翻页)

3.4 head 命令:查看文件开头

默认显示文件前 10 行,通过-n指定行数:

shell

head /etc/passwd         # 显示前10行
head -n 3 /etc/passwd    # 显示前3行

3.5 tail 命令:查看文件尾部

默认显示文件后 10 行,核心参数-f(动态跟踪文件更新):

shell

tail /var/log/secure     # 显示日志最后10行
tail -n 5 /var/log/secure  # 显示最后5行
tail -f /var/log/secure  # 动态跟踪日志(实时查看新添加的内容,如登录记录)

实战场景:在一个终端执行tail -f /var/log/secure,另一个终端通过 SSH 登录,可实时看到登录日志。

四、tar 命令:文件归档与压缩

归档(打包)是将多个文件 / 目录合并为一个文件,压缩是减小文件体积,tar 命令可同时实现归档和压缩,是 Linux 中最常用的备份工具。

4.1 核心参数说明

tar 命令参数无需加-(可加可不加),常用组合:

参数组合 功能描述
cvf 归档文件(仅打包,不压缩)
tvf 查看归档 / 压缩包内容(不解包)
xvf 解压归档 / 压缩包
czvf 归档并通过 gzip 压缩(.tar.gz)
cjvf 归档并通过 bzip2 压缩(.tar.bz2)
cJvf 归档并通过 xz 压缩(.tar.xz)

4.2 基础归档操作(仅打包)

shell

# 归档/boot/grub2目录为grub.tar(仅打包,不压缩)
tar cvf grub.tar /boot/grub2/

# 查看压缩包内容(不解压)
tar tvf grub.tar

# 解压归档包到当前目录
tar xvf grub.tar

# 归档多个文件/目录,并解压到指定目录(-C指定解压路径)
tar cvf all.tar /boot/grub2/ /etc/passwd
tar xvf all.tar -C /opt/  # 解压到/opt目录

4.3 归档 + 压缩操作(三种压缩格式)

(1)gzip 压缩(.tar.gz,最常用)

压缩速度较快,压缩比适中:

shell

# 归档并压缩/etc目录为etc.tar.gz
tar czvf etc.tar.gz /etc

# 解压到当前目录
tar xzvf etc.tar.gz
(2)bzip2 压缩(.tar.bz2)

压缩比优于 gzip,速度稍慢:

shell

# 归档并压缩/etc目录为etc.tar.bz2
tar cjvf etc.tar.bz2 /etc

# 解压到当前目录
tar xjvf etc.tar.bz2
(3)xz 压缩(.tar.xz)

压缩比最高,速度最慢:

shell

# 归档并压缩/etc目录为etc.tar.xz
tar cJvf etc.tar.xz /etc

# 解压到当前目录(可省略J参数,tar自动识别)
tar xvf etc.tar.xz

4.4 三种压缩格式对比

压缩格式 后缀名 压缩比 压缩速度 适用场景
gzip .tar.gz 中等 较快 日常备份(平衡速度和体积)
bzip2 .tar.bz2 较高 中等 对速度要求不高的备份
xz .tar.xz 最高 较慢 追求最小体积(如分发文件)

4.5 高级用法

(1)解压指定文件到指定目录

shell

# 从boot.tar.gz中解压grub.cfg到/opt目录
tar -C /opt -xvf boot.tar.gz boot/grub2/grub.cfg
(2)解压特定类型文件

shell

# 解压压缩包中所有.lst后缀的文件到/opt目录
tar -C /opt -xvf boot.tar.gz --wildcards *.lst
(3)排除指定文件 / 目录压缩

shell

# 压缩/boot/grub2,排除i386-pc目录
tar czvf boot.tar.gz /boot/grub2 --exclude=boot/grub2/i386-pc

五、zip 命令:轻量压缩工具

zip 是另一种常用的压缩工具,压缩和解压命令分别为zipunzip,操作更简洁。

5.1 压缩文件 / 目录

shell

# 压缩单个文件
zip a.zip /etc/passwd

# 压缩所有.jpg后缀的文件为all.zip
touch {1..4}.jpg  # 先创建4个jpg文件
zip all.zip *.jpg

# 压缩目录(-r递归压缩)
zip -r dir.zip /opt/dir1

5.2 解压文件

shell

# 解压到当前目录
unzip a.zip

# 解压到指定目录(-d指定路径)
unzip dir.zip -d /tmp/

总结

本文涵盖了 Linux 文件管理的核心知识点:从目录结构与路径基础,到文件 / 目录的创建、删除、复制、移动,再到文件内容查看和归档压缩,所有命令均提供实战案例,适合初学者直接上手操作。

重点记忆

  1. Linux 单根目录结构,核心目录(/etc、/home、/var 等)的功能;
  2. 绝对路径与相对路径的区别,cdpwd命令的使用;
  3. rm -rf的风险,cp -rmv的常用场景;
  4. tar 命令的参数组合(cvf/xvf/czvf),三种压缩格式的选择;
  5. tail -f 动态查看日志的实战用法。

熟练掌握这些命令后,可应对日常 Linux 运维中的大部分文件管理场景。建议多动手实践,通过反复操作加深记忆!

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐