本文介绍使用 tar
命令压缩文件的操作,以及 tar
与 tar.gz
tar.bz2
之间的关系。
使用 tar 命令压缩
一层目录
要将目录下的所有文件压缩为一个 tar 包,可以使用 tar
命令。
以下是一个简单的示例,假设要将当前目录下的所有文件和子目录压缩为一个名为 archive.tar
的 tar 包:
1.切换到指定目录
代码语言:bash复制cd /path/to/directory
2.利用 *
压缩全部文件
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 *