tar 打包压缩备忘
【摘要】 tar 是 Linux 下最常用的归档工具,本身只负责把多个文件打包成一个文件,压缩则由 gzip、bzip2、xz 等外部程序完成。 打包与解包打包:tar -cf archive.tar dir/,-c 是创建,-f 指定包名。解包:tar -xf archive.tar,-x 是解包;解到指定目录用 tar -xf archive.tar -C /目标目录(目标目录需事先存在)。查看包...
tar 是 Linux 下最常用的归档工具,本身只负责把多个文件打包成一个文件,压缩则由 gzip、bzip2、xz 等外部程序完成。
打包与解包
- 打包:
tar -cf archive.tar dir/,-c是创建,-f指定包名。 - 解包:
tar -xf archive.tar,-x是解包;解到指定目录用tar -xf archive.tar -C /目标目录(目标目录需事先存在)。 - 查看包内文件:
tar -tf archive.tar,-t列出包内文件,不解包。 - 想看到解包过程:加上
-v,如tar -xvf archive.tar。
配合 gzip / bzip2 / xz 的参数区别
-z对应 gzip:tar -czf a.tar.gz dir/,解包tar -xzf a.tar.gz;压缩速度快、兼容性最好。-j对应 bzip2:tar -cjf a.tar.bz2 dir/;压缩率高于 gzip,速度慢一些。-J对应 xz:tar -cJf a.tar.xz dir/;压缩率最高,速度最慢,适合长期归档。- 记忆方法:
z、j、J分别对应 gz、bz2、xz;新版 tar 用-xf解包时一般能自动识别压缩格式,也可以不写压缩参数。
常用命令示例
# 打包并用 gzip 压缩 project 目录
tar -czf project.tar.gz project
# 不解包,查看压缩包里的文件
tar -tzf project.tar.gz
# 解包到指定目录
mkdir -p /tmp/restore && tar -xzf project.tar.gz -C /tmp/restore
常见坑:解包会覆盖同名文件
tar -xf 解包时,包内文件会直接覆盖当前目录(或 -C 指定目录)下同名的文件,而且不会二次确认。如果包里恰好有和现有文件同名的文件,旧内容就丢了。
稳妥做法:解包前先用 tar -tf / tar -tzf 查看包内路径,确认没有同名重要文件;或者先解到一个空目录,确认无误再按需复制;重要目录解包前先备份。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)