打包和压缩的区别
打包
定义: 将多个文件合并成一个文件,以减少文件个数。
作用: 减少传输次数,也可以称为归档。
术语: 打包 (pack)、解包 (unpack)。
压缩
定义: 缩小一个文件的体积,以减少占用空间。
作用: 减少文件体积。
术语: 压缩 (compress)、解压缩 (decompress)。
压缩率: 压缩后体积/压缩前体积。
其他作用: 可以添加密码保护。
注意: 打包、解包、压缩、解压缩都需要消耗时间。
常见压缩格式
HTTP: gzip
gzip、deflate (zlib格式)、br (Brotli)、identity (不压缩)
Windows: zip、rar、7z
常用工具: WinRAR, 360压缩, Bandizip, 7-Zip
Linux: gzip (tar.gz=.tgz)、bzip2 (.bz2)、zip
tar命令
常用选项
选项
作用
说明
-c
创建打包文件
create
-v
显示打包或解包的详细信息
verbose
-f
指定文件名称,必须放到所有选项后面
file
-z
压缩或解压缩 (.gz)
-j
压缩或解压缩 (.bz2)
-x
解包
-C
解压缩到指定目录
注意:
- 代表详细信息的显示,与其他选项组合使用。
-z 和 -j 分别对应 gzip 和 bzip2 进行压缩/解压缩。
x 代表解包,与创建打包 (c) 相反。
用法示例
操作
命令
打包(不压缩)
tar -cvf test.tar test/
解包
tar -xvf test.tar
打包并gz压缩
tar -zcvf test.tar.gz test/
解压(gz)
tar -zxvf test.tar.gz
解压到指定目录(gz)
tar -zxvf test.tar.gz -C aaa
打包并bz2压缩
tar -jcvf test.tar.bz2 test/
解压(bz2)
tar -jxvf test.tar.bz2
解压到指定目录(bz2)
tar -jxvf test.tar.bz2 -C aaa
请注意:
-C 选项用于指定解压缩的目标目录。
-z 和 -j 分别用于指定使用 gzip 和 bzip2 进行压缩/解压缩。
其他操作
操作类型
命令
说明
仅查看不解压
tar -tf test.tar
列出压缩包内的所有文件名,而不解压缩包。
追加文件
tar -rf test.tar *.gif
向已存在的压缩包中追加所有 .gif 文件。
替换文件
tar -uf test.tar huaji.gif
更新压缩包中的 huaji.gif 文件,如果该文件不存在则添加。
加密
tar -zcf - *.txt | openssl des3 -salt -k 123456 | dd of=test.des3
将文件压缩并加密。
解密
dd if=test.des3 | openssl des3 -d -k 123456 | tar zxf -
解密并解压文件。
上述命令操作的详细说明:
1、仅查看不解压:
tar -tf test.tar:列出压缩包 test.tar 内的所有文件名,而不解压缩包。
2、追加文件:
tar -rf test.tar *.gif:向已存在的压缩包 test.tar 中追加所有 .gif 文件。
3、替换文件:
tar -uf test.tar huaji.gif:更新压缩包 test.tar 中的 huaji.gif 文件,如果该文件不存在则添加。
4、加密:
tar -zcf - *.txt | openssl des3 -salt -k 123456 | dd of=test.des3:首先将所有 .txt 文件压缩并通过 tar 打包,随后使用 openssl 进行 des3 加密,最后使用 dd 命令将加密内容输出到 test.des3 文件中。
5、解密:
dd if=test.des3 | openssl des3 -d -k 123456 | tar zxf -:首先使用 dd 读取加密文件 test.des3,然后通过 openssl 解密,最后使用 tar 解压缩。
zip命令
用法示例
操作类型
命令
说明
压缩
zip test.zip *.txt
将所有 .txt 文件压缩成 test.zip。
解压缩
unzip test.zip
解压缩 test.zip 文件到当前目录。
解压缩到指定目录
unzip test.zip -d bbb
解压缩 test.zip 文件到指定目录 bbb,若目录不存在则创建。
添加密码
zip -rP 123456 test.zip *.txt
将所有 .txt 文件压缩成 test.zip 并添加密码 123456。
使用密码解压
unzip -P 123456 test.zip
使用密码 123456 解压缩 test.zip 文件。
上述命令操作的详细说明:
1、压缩:
zip test.zip *.txt:将当前目录下所有 .txt 文件压缩成一个名为 test.zip 的压缩包。
2、解压缩:
unzip test.zip:解压缩 test.zip 文件到当前目录。
3、解压缩到指定目录:
unzip test.zip -d bbb:解压缩 test.zip 文件到指定的目录 bbb。如果目录 bbb 不存在,将会创建该目录。
4、添加密码:
zip -rP 123456 test.zip *.txt:将所有 .txt 文件压缩成 test.zip,并设置密码为 123456。
5、使用密码解压:
unzip -P 123456 test.zip:使用密码 123456 解压缩 test.zip 文件。