行业资讯
📅 2026/8/2 11:15:29
Linux 核心基础:文件管理、链接机制与归档压缩完全指南
Linux 核心基础文件管理、链接机制与归档压缩完全指南一、Linux 的哲学一切皆文件在 Linux 世界中“一切皆文件”是最核心的设计思想。这不仅指普通的数据文件还包括目录特殊类型的文件用于组织其他文件设备如/dev/sda硬盘进程信息如/proc/下的虚拟文件理解这个哲学你就能明白为什么ls -l的输出中第一列的字符-、d、l、h、s、可以区分文件类型。1.1 文件类型标识符速查标识符文件类型示例d目录/var/www/html/l符号链接软链接libc.so - libc-2.28.soc字符设备/dev/ttyb块设备/dev/sdas本地套接字/run/php-fpm/www.sock二、文件管理核心命令2.1 查看ls查看目录内容常用选项-l#显示详细信息在选项位置输入即可输出文件夹的权限、大小、时间等信息-a#显示所有文件包括隐藏文件隐藏文件为.开头的文件-h#通常与-l同时出现h是指英文单词human显示更加易查看的文件大小-d#显示目录本身的信息不是查看该目录的内容-t#显示文件以时间顺序进行排序演示查看当前目录内容​ 然后我们输入选项进行操作查看详细信息​ 当然选项也可以一块使用如果我们想查询所有文件显示详细信息并且按时间顺序我们可以这样操作因为我没有添加参数默认显示家目录。如果想查看指定目录需在选项后面增加参数例子如下2.2导航pwd打印当前工作目录​ 当你不知道自己在哪个地方时就敲一下这个命令要养成多敲这个命令的习惯演示打印当前工作目录​ 表示当前用户在家目录​ 目录其实是一个索引页它上面记载着哪个目录哪个文件在哪个地方。很多人把它理解成为一个抽屉认为我们的文件像一摞摞纸张一样存放在里面这个思想是错误的。Linus的文件系统就像一棵大树根目录 / 是树根而其他分支出去的相当于树枝。Linux 中的目录是内核为了将“冰冷的磁盘块编号”翻译成“人类可读的字符串”而维护的一个动态路由表。2.3 切换cd切换目录常用目录.#当前目录..#上一级目录-#上一个目录/#根目录~#家目录演示切换到/目录下的etc目录这里首先要看清当前在哪个目录如果不知道可以用pwd命令进行查询。如上图所示当前在家目录然后要切换到etc目录etc目录在/目录之下如果在家目录之下我们可以直接切换反之则会报错报错提示2.4 目录的创建mkdir创建目录常用选项-p#递归创建所有不存在的父目录演示在当前目录下创建一个dir1的目录然后我们创建目录结构 dir1/docs/images但mkdir命令默认只能创建最后一层目录它前面的所有父目录必须已经存在但docs目录我们并未创建所以此时我们可以通过-p选项自动创建路径中所有不存在的父目录。用ls命令查看一下是否创建成功2.5 文件的创建touch 创建空文件或更新时间戳。如果文件不存在则创建一个新的空文件如果文件存在则更新其访问和修改时间戳演示创建一个空文件 file1.txt如果我们想在一个目录下创建多个文件文件之间隔一个空格即可文件数量如果过于庞大可以借助{}创建多个文件例如创建10个file文件2.6 复制cp复制文件或目录。-r或-R#递归复制目录及其所有内容-i#覆盖前提示确认-v#显示复制过程的详细信息-f#强制执行不会提示演示将 file1.txt 复制到当前目录并命名为 file1_backup.txt将 file1.txt 复制到 /tmp 目录递归复制整个 dir1 目录到 /tmp 目录2.7 移动mv移动文件或目录以及重命名文件或目录。演示将 file1.txt 重命名为 data.txt将 data.txt 文件移动到 dir1/docs/ 目录下2.8 删除rm删除文件或目录。-r#递归删除目录及其所有内容。-f#强制删除忽略不存在的文件不提示确认。-i#交互模式删除前会提示进行逐一确认。演示删除 dir1/file5.txt 文件递归删除 /var/tmp/dir1/ 目录及其下的所有内容三、链接机制硬链接 vs 软链接链接是 Linux 文件系统中非常独特且强大的特性。理解它们的区别能帮你更好地管理文件、节省磁盘空间甚至解决一些系统问题。3.1 硬链接Hard Link本质同一个 inode索引节点的多个文件名入口。# 创建硬链接lnsource.txt hardlink.txt# 查看 inode 号ls-lisource.txt hardlink.txt# 输出示例# 1234567 -rw-r--r-- 2 user user 10 Aug 1 12:00 source.txt# 1234567 -rw-r--r-- 2 user user 10 Aug 1 12:00 hardlink.txt关键特性删除源文件不影响硬链接引用计数减1为0时才真正删除硬链接不能跨文件系统分区硬链接不能指向目录防止循环引用所有硬链接共享文件内容和权限实际应用节省磁盘空间的备份策略。3.2 软链接Symbolic Link本质一个指向目标文件路径的特殊文件类似 Windows 的快捷方式。# 创建软链接ln-s/path/to/target softlink# 查看链接指向ls-lsoftlink# 输出softlink - /path/to/target关键特性可以跨文件系统可以链接目录删除目标文件后软链接失效悬空链接源文件移动或重命名后软链接失效实际应用管理共享库版本如libc.so - libc-2.28.so、快捷访问深层路径。3.3 对比总结特性硬链接软链接inode同一个 inode新的 inode存储路径跨文件系统不支持支持链接目录不支持支持源文件删除仍可访问失效生产用途备份去重版本管理、快捷访问四、归档与压缩tar 的灵活运用4.1 理解归档与压缩的区别操作含义工具归档将多个文件/目录打包成一个文件不压缩tar压缩通过算法减小文件体积gzip、bzip2、xz、zip在 Linux 中tar可以同时完成归档和压缩是日常使用率最高的工具。4.2 tar 命令核心用法# 1. 创建归档仅打包不压缩tar-cvfarchive.tar /path/to/dir/# 2. 解包tar-xvfarchive.tar# 3. 打包并压缩gzip - 最快压缩率一般tar-czvfarchive.tar.gz /path/to/dir/# 4. 打包并压缩bzip2 - 压缩率更高tar-cjvfarchive.tar.bz2 /path/to/dir/# 5. 打包并压缩xz - 压缩率最高速度最慢tar-cJvfarchive.tar.xz /path/to/dir/# 6. 解压对应的压缩包tar-xzvfarchive.tar.gztar-xjvfarchive.tar.bz2tar-xJvfarchive.tar.xz参数解析ccreate创建xextract提取vverbose显示详细过程ffile指定文件名zgzip 压缩jbzip2 压缩Jxz 压缩4.3 常用场景实战场景一备份网站目录# 备份 WordPress 源码带压缩并排除缓存目录tar-czvfwordpress_backup_$(date%Y%m%d).tar.gz\--excludewp-content/cache\/var/www/wordpress/场景二跨服务器传输# 在本地打包并通过 SSH 直接传输到远程服务器tar-czvf- /var/www/wordpress/|sshuser192.168.1.100cat /backup/wordpress.tar.gz场景三仅查看压缩包内容不解压tar-tzvfmage.tar.gz# 查看文件列表tar-tvfmage.tar# 查看未压缩归档的内容场景四解压到指定目录tar-xzvfmage.tar.gz-C/target/dir/写在最后Linux 文件管理和归档压缩是每个技术人员的基本功但真正精通的人并不多。希望这篇博客能帮你建立起一个清晰的知识框架让这些命令不再是零散的碎片而是融会贯通的工具链。如果你在实践过程中遇到问题欢迎在评论区交流讨论。祝你在 Linux 的学习之路上一帆风顺**场景三仅查看压缩包内容不解压** bash tar -tzvf mage.tar.gz # 查看文件列表 tar -tvf mage.tar # 查看未压缩归档的内容场景四解压到指定目录tar-xzvfmage.tar.gz-C/target/dir/–