课程大纲
[!todo]
- 打包和压缩的区别
- 常见压缩格式
tar命令zip命令
打包和压缩的区别
打包:多个文件变成一个文件——减少文件个数
压缩:缩小一个文件的体积——减少文件体积
打包
打包/解包 pack/unpack
打包的作用是减少传输次数或者用来归档存储
压缩
压缩/解压 compress/decompress
图片: BMP、GIF、PNG、JPEG、JPG
音频: APE、FLAC、MP3
视频: RMVB、AVI、MP4
日常接触的常用格式都是经过压缩
压缩的本质是减少重复的内容
压缩率: 压缩后体积/压缩前体积
其他作用
添加密码
注意:打包、解包、压缩、解压都需要消耗时间
常见压缩格式
HTTP: gzip
gzip、deflate(zlib的格式)、br(Brotli)、identity(不压缩)
Windows: zip、rar、7z
winrar、360压缩、bandizip、7zip
Linux: gzip (tar.gz=.tgz) 、bzip2 (.bz2) 、zip
压缩后体积: tar.bz2 < tgz < tar
压缩解压时间: tar.bz2 > tar > tgz
tar:Tape Archive(打包归档)
tar常用选项
| 选项 | 作用 | 单词 |
|---|---|---|
-c |
创建打包文件 | create |
-v |
显示打包或解包的详细信息 | verbose |
-f |
指定文件名称,必须放到所有选项后面 | file |
-z |
压缩或解压缩(.gz) | |
-j |
压缩或解压缩(.bz2) | |
-x |
解包 | |
-C |
解压缩到指定目录 |
tar用法示例
| 操作 | 命令示例 |
|---|---|
| 打包 (不压缩) | tar -cvf test.tar test/ |
| 解包 | tar -xvf test.tar |
| 打包并gz压缩 | tar -zcvf test.tar.gz test/ |
| 解压 | tar -zxvf test.tar.gz |
| 解压到指定目录 | tar -zxvf test.tar.gz -C aaa |
| 打包并bz2压缩 | tar -jcvf test.tar.bz2 test/ |
| 解压 | tar -jxvf test.tar.bz2 test/ |
| 解压到指定目录 | tar -jxvf test.tar.bz2 test/ -C aaa |
tar其他操作
| 操作 | 命令示例 | ||
|---|---|---|---|
| 仅查看不解压 | tar -tf test.tar |
||
| 追加文件 | tar -rf test.tar *.gif |
||
| 替换文件 | tar -uf test.tar 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 -` |
zip用法示例
| 操作 | 命令示例 |
|---|---|
| 压缩 | zip test.zip *.txt |
| 解压缩 | unzip test.zip |
| 解压缩到指定目录 | unzip test.zip -d bbb |
| 添加密码 | zip -rP 123456 test.zip *.txt |
| 使用密码解压 | unzip -P 123456 test.zip |