理解 tar 命令的基本用途与工作原理
掌握创建、查看、提取和更新 tar 归档文件的方法
学会结合 gzip、bzip2 和 xz 实现压缩归档
能够在实际开发和运维场景中灵活运用 tar 命令
tar(全称 tape archive)是 Linux 和 Unix 系统中用于归档文件的经典命令。它最初设计用于将多个文件打包到磁带设备上,如今广泛用于将多个文件或目录合并为一个 .tar 文件(称为“tarball”)。
需要注意的是:tar 本身不进行压缩,它只是把多个文件“打包”在一起。但 tar 可以与压缩工具(如 gzip、bzip2、xz)结合使用,生成 .tar.gz、.tar.bz2 或 ..tar.xz 等压缩归档文件。
tar [选项] [归档文件名] [要处理的文件或目录]常用选项说明:
注意:
-f选项必须放在选项串的最后,并紧随其后指定文件名。
tar -cvf backup.tar file1.txt dir1/-c:创建新归档
-v:显示处理过程
-f backup.tar:指定输出文件名为 backup.tar
tar -tvf backup.tar列出 backup.tar 中所有文件及其权限、大小、修改时间等信息。
tar -xvf backup.tar将 backup.tar 中的所有内容解压到当前目录。
若只想提取特定文件:
tar -xvf backup.tar file1.txt.tar.gz
tar -czvf project.tar.gz src/ docs/ README.md-z 表示使用 gzip 压缩
生成的文件通常命名为 .tar.gz 或 .tgz
tar -xzvf project.tar.gz更高压缩率
tar -cjvf data.tar.bz2 dataset/解压:
tar -xjvf data.tar.bz2最高压缩率,较慢
tar -cJvf logs.tar.xz /var/log/解压:
tar -xJvf logs.tar.xztar 是归档工具,不是压缩工具;压缩需配合 -z、-j 或 -J
常用组合:
打包压缩:tar -czvf name.tar.gz dir/
解压:tar -xzvf name.tar.gz
-f 必须紧接归档文件名,且通常放在选项末尾
压缩格式选择建议:
通用性高 → .tar.gz(gzip)
压缩率高 → .tar.bz2(bzip2)或 .tar.xz(xz)
无法直接修改压缩后的 tar 归档,需完整解压后操作
为什么 tar -czf archive.tar.gz file.txt 不能使用 -r 选项追加文件?如何实现类似效果?
在备份大型项目时,如何使用 tar 排除临时文件(如 .git、__pycache__)以减小归档体积?
假设你收到一个未知格式的归档文件 data.tar.xxx,如何判断其压缩类型并正确解压?