Linux操作系统基础学习笔记(5)
前言
本期学习文件压缩及解压缩
要区分打包和压缩是两种不同的行为
打包就是将多个文件放在一起
压缩会将这些文件通过算法重新编辑(例如文件中有AAAAA,通过算法会变成5A,这样可以减小文件体积)
常见压缩的格式
tar命令
zip命令
5、文件压缩及解压缩
(1)打包及压缩的区别
打包:多个文件变成一个文件——减少文件个数
压缩:缩小一个文件的体积——减少文件体积
打包/解包 pack/unpack
压缩/解压 compress/decompress
压缩率:压缩后体积/压缩前体积
其他作用:添加密码
(2)常见压缩格式
HTTP:gzip
gzip、deflate(zlibe的格式)、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
(3)tar常用选项
tar
(Tape Archive)
tar -zcf - *.txt |openssl des3 -salt -k 123456 | dd of=test.des3
tar -zcf - *.txt
tar
: 用于创建归档文件-z
: 使用 gzip 压缩-c
: 创建新的归档-f -
: 将输出写入标准输出(而不是文件)*.txt
: 压缩当前目录下所有的 .txt 文件
|
(第一个管道)
将 tar 命令的输出传递给下一个命令openssl des3 -salt -k 123456
openssl
: 加密工具des3
: 使用 Triple DES 加密算法-salt
: 添加随机数据以增强加密强度-k 123456
: 使用密码 “123456”
|
(第二个管道)
将 openssl 命令的输出传递给下一个命令dd of=test.des3
dd
: 用于复制和转换数据of=test.des3
: 指定输出文件名为 test.des3
整个命令的作用是:
- 压缩当前目录下所有的 .txt 文件
- 对压缩后的数据进行 Triple DES 加密
- 将加密后的数据写入名为 test.des3 的文件
注意事项:
- 这个命令使用了简单的密码 “123456”,实际使用时应该使用更强的密码。
- 解密时需要使用相同的密码。
- 这种方法将压缩和加密结合在一起,可以节省空间并提高安全性。
要解密和解压这个文件,你可以使用以下命令:
dd if=test.des3 | openssl des3 -d -k 123456 | tar -zxf -
这个命令会读取加密文件,解密,然后解压缩,恢复原始的 .txt 文件。