本文介绍使用 tar 命令压缩文件的操作,以及 tar 与 tar.gz tar.bz2 之间的关系。
使用 tar 命令压缩
一层目录
要将目录下的所有文件压缩为一个 tar 包,可以使用 tar 命令。
以下是一个简单的示例,假设要将当前目录下的所有文件和子目录压缩为一个名为 archive.tar 的 tar 包:
1.切换到指定目录
代码语言:bash复制cd /path/to/directory2.利用 * 压缩全部文件
tar -cvf archive.tar *注意要先 cd 到指定目录,才可以压缩目录下的文件。也可以在命令行中实现:
tar -czvf archive.tar.gz -C /path/to/directory .这里的 -C 选项用于切换到指定目录,然后压缩该目录下的所有文件和子目录。
两层目录
如果在外层执行 tar -cvf /path/to/directory ,会把该层 ./dir 也压缩,这样解压出来就多了一层目录。这一点经常导致上传压缩包执行程序时使用的相对路径报错。
参数含义:
tar: 调用 tar 命令。-c: 创建一个新的 tar 包。-v: 显示详细信息(可选,显示正在处理的文件)。-f: 指定输出文件的名称。*: 表示当前目录下的所有文件和子目录。
进一步压缩 tar 包
此时可以对 tar 包进一步压缩。可以使用 -z 选项(gzip 压缩)或 -j 选项(bzip2 压缩)。例如,使用 gzip 压缩:
tar -czvf archive.tar.gz *使用 bzip2 压缩:
代码语言:sh复制tar -cjvf archive.tar.bz2 *


