# 打包压缩
# 一、压缩工具
# 1、常见的压缩与解压缩工具
压缩工具 | 说明 | 解压缩工具 |
---|---|---|
zip | 兼容类unix与windows,可以压缩多个文件或目录 | unzip |
gzip | 压缩单个文件,压缩率相对低,cpu开销相对低 | gunzip |
bzip2 | 压缩单个文件,压缩率相对高,cpu开销相对高 | bunzip2 |
xz | 压缩单个文件,压缩率高,压缩时间相对长,解压速度快,cpu开销高 | unxz |
# 2、工具的用法
# ① zip工具
压缩:
zip 压缩后的文件 需要压缩的文件
选项:
-r 递归压缩,压缩目录
注意:zip压缩默认压缩后的格式就是.zip;当然也可以加后缀.zip,一般都加上
解压缩:
-d 指定解压缩路径
示例:
# 压缩多个目录下的文件,和文件夹
zip -r /tmp/test_passwd.zip /test/ /etc/passwd
# 压缩目录需要 添加递归压缩指令 -r 递归压缩
zip -r /tmp/test.zip /test/
# 解压到当前目录
unzip test.zip
# 解压到指定目录
unzip -d test_passwd.zip
# ② gzip工具
压缩:
gzip 需要压缩的单个文件
选项:
-d 解压缩
-r 递归压缩(目录)
解压缩:
gunzip 需要解压的文件
或者
gzip -d 需要解压的文件
gunzip file* 一次解压多个文件,*代表通配符;file*表示以file开头所有文件
示例:
# 只支持单个文件 默认会添加 .gz后缀
gzip file1
# 压缩多个单文件 file1.gz file2.gz file 3.gz
gzip file1 file2 file3
# 递归压缩单个文件
gzip -r test
# ③ bzip2工具
压缩:
bzip2 需要压缩的文件
选项:
-d 解压缩
# ④ xz 工具
选项:
-z 压缩,默认
-d 解压缩 或者 unxz
压缩:
xz 文件名
解压缩:
unxz 文件名
或者
xz -d 文件名
# 三、打包工具
tar
命令:可以将多个文件打包成一个并且压缩,不会改变文件的属性,很常用。
用法:
tar 选项 打包后的文件 需要打包的文件
常用选项 | 说明 |
---|---|
-c | 创建tar包(打包) |
-z | 调用gzip工具压缩 |
-j | 调用bzip2工具压缩 |
-J | 调用xz工具压缩 |
-v | 显示详细信息 |
-f | 指定包名 |
-x | 解压 |
-C | 指定解压路径 |
-t | 列出或查看tar包内容 |
-r | 往tar包里追加文件 |
注意说明:
1. 以上选项前面的横杠"-"可以省略
2. 如果已经将文件压缩打包,那么就不能追加;如果只是打包就可以追加。
3. 参数顺序需要注意,最好把-f参数放到所有参数后面。
4. 当出现以下提示时,加一个大P参数解决。
tar: Removing leading `/' from member names
示例:打包、解压
# 使用gz工具、打包、显示过程、指定文件名称,压缩当前目录下所有文件
tar -zcvf /tmp/test.tar.gz *
# 解压时可以省略 打包工具
tar -xf /tmp/test.tar.gz -C /dir1/
tar -cvJf /tmp/boot_test.tar.xz /test/ /boot/
tar -PcvJf /tmp/boot_test.tar.xz /test/ /boot/
示例:tar包预览、追加
tar cvf /tmp/test.tar ./*
# 列表查看tar包中的文件, -t
tar -tf /tmp/test.tar
# 追加文件, -r
tar -Pf /tmp/test.tar -r /etc/hosts
tar -tf /tmp/test.tar
本文转自 https://docs.xiaoshaozi.site/zs-use/linux/