tar命令本身只打包不压缩,压缩需gzip(-z)、bzip2(-j)或xz(-J)协同;常用操作包括-cf打包、-czf压缩打包、-tzf查看、-xzf解压,配合-C指定路径、--exclude排除目录。

Linux 中的 tar 命令既能打包又能压缩,但要注意:它本身只负责“打包”(把多个文件合并成一个归档文件),压缩需借助 gzip、bzip2、xz 等工具协同完成。实际使用中,我们常通过选项一键完成“打包+压缩”,下面用最常用、最实用的方式讲清楚。
基础打包:不压缩,只归档
打包就是把一堆文件/目录合并成单个 .tar 文件,不占额外空间,也不加密或压缩。
-
打包当前目录下所有 .log 文件:
tar -cf logs.tar *.log -
打包指定目录(如 /var/log):
tar -cf log-backup.tar /var/log -
排除某个子目录(如跳过 /var/log/journal):
tar -cf log-backup.tar --exclude='/var/log/journal' /var/log
说明:-c 表示创建新归档,-f 指定归档文件名(必须放在最后或紧接其后)。没有 -z/-j/-J 就不会压缩,生成的是纯 .tar 文件。
gzip 压缩打包:最通用,速度快
加 -z 选项调用 gzip,生成 .tar.gz 或简写为 .tgz,兼容性最好,适合日常备份和传输。
-
打包并 gzip 压缩整个 project 目录:
tar -czf project.tar.gz project/ -
只打包 .conf 和 .sh 文件,并压缩:
tar -czf config-scripts.tar.gz *.conf *.sh -
查看压缩包内容(不解压):
tar -tzf project.tar.gz
注意:-z 必须和 -c(创建)或 -t(列出)一起用;单独 -z 不生效。解压用 tar -xzf xxx.tar.gz(-x 表示解包)。
bzip2 和 xz 压缩:更高压缩率,换时间换体积
如果磁盘紧张、传输带宽小,可选更高压缩率格式:
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~