最常用Linux目录压缩工具是tar,配合gzip、bzip2或xz实现高效压缩。使用tar -czvf可创建.tar.gz压缩包,-cjvf生成.tar.bz2,-cJvf生成.tar.xz;解压则将-c替换为-x,并用-C指定路径,-t用于查看内容而不解压。

要在Linux系统里压缩目录文件,最常用也最可靠的工具非
tar莫属。它本质上是个归档工具,能把一堆文件和目录打包成一个单独的文件,然后再配合像
gzip、
bzip2或者
xz这样的压缩程序,就能把这个打包好的文件压得更小。说白了,就是先捆成一捆,再用个袋子抽真空,就是这么个流程。
解决方案: 其实,在Linux里搞定目录文件的压缩,核心就是玩转
tar命令。我个人觉得,掌握了它,基本就能应对绝大多数的文件归档和压缩需求了。
最基础的打包,不带压缩的:
tar -cvf 归档文件名.tar 要打包的目录/ # 比如:tar -cvf my_project.tar my_project/
这里的
-c是创建(create)归档,
-v是显示详细过程(verbose),
-f是指定归档文件名(file)。
如果你想在打包的同时用
gzip压缩,这是最常见的:
tar -czvf 归档文件名.tar.gz 要打包的目录/ # 比如:tar -czvf website_backup.tar.gz /var/www/html/
多了一个
-z,它告诉
tar用
gzip进行压缩。生成的文件名通常以
.tar.gz或
.tgz结尾。
如果对压缩率有更高要求,可以考虑
bzip2,虽然会慢一些:
tar -cjvf 归档文件名.tar.bz2 要打包的目录/ # 比如:tar -cjvf large_data.tar.bz2 /mnt/data/
-j就是调用
bzip2。文件后缀一般是
.tar.bz2或
.tbz2。
追求极致压缩,不计较时间的话,
xz是你的选择,但它真的很慢:
tar -cJvf 归档文件名.tar.xz 要打包的目录/ # 比如:tar -cJvf archive_longterm.tar.xz /home/user/old_files/
-j对应
xz。文件后缀是
.tar.xz或
.txz。
解压文件也同样简单,只要把
-c换成
-x(extract)就行了:
# 解压 .tar.gz tar -xzvf 归档文件名.tar.gz # 解压 .tar.bz2 tar -xjvf 归档文件名.tar.bz2 # 解压 .tar.xz tar -xJvf 归档文件名.tar.xz # 解压纯 .tar tar -xvf 归档文件名.tar
解压时,文件会默认解压到当前目录。如果你想解压到指定目录,可以加上
-c参数:
tar -xzvf website_backup.tar.gz -C /tmp/restore/
有时候,我们只想看看压缩包里都有啥,不想真的解压出来,这时候
-t就派上用场了:
tar -tzvf website_backup.tar.gz
它会列出压缩包里的所有文件和目录结构。
tar命令的基本用法与参数解析:如何打包与解压?
说实话










