目录
01 tar
1.1 常见压缩
# gzip 压缩(速度较快,压缩率适中)
tar czvf file.tar.gz folder/ # 压缩
tar xzvf file.tar.gz # 解压
# bzip2 压缩(压缩率较好,速度较慢)
tar cjvf file.tar.bz2 folder/ # 压缩
tar xjvf file.tar.bz2 # 解压
# xz 压缩(压缩率很高,速度很慢)
tar cJvf file.tar.xz folder/ # 压缩
tar xJvf file.tar.xz # 解压
# 仅打包,不压缩
tar cvf file.tar folder/ # 打包
tar xvf file.tar # 解包
# 通用解压命令(自动检测压缩格式)
tar xvf file.tar.gz # 自动识别gz格式
tar xvf file.tar.bz2 # 自动识别bz2格式
tar xvf file.tar.xz # 自动识别xz格式
tar xvf file.tar # 解包tar文件
# 解压到指定目录
tar xzvf file.tar.gz -C /path/to/destination/ # 解压到指定路径
tar xvf file.tar.gz -C /path/to/destination/ # 通用格式解压到指定路径
1.2 压缩/解压+加密
1.2.1 步骤执行
# 加密压缩流程
tar czvf test.tar.gz test # 先打包压缩
openssl enc -e -aes256 -salt -pbkdf2 -in test.tar.gz -out test.tar.gz.enc # 再加密
# 解密解压流程
openssl enc -d -aes256 -salt -pbkdf2 -in test.tar.gz.enc -out test.tar.gz # 先解密
tar xzvf test.tar.gz # 再解压
1.2.2 直接执行(管道)
以bzip2为例:
# 使用 bzip2 压缩并加密
# tar参数: c(创建归档) j(bzip2压缩) v(显示进度) f(文件) -(标准输出)
# openssl参数: enc(编码) e(加密) aes256(加密算法) salt(加盐) pbkdf2(密钥派生) out(输出文件)
tar cjvf - test | openssl enc -e -aes256 -salt -pbkdf2 -out test.tar.bz2.enc
# 解压 bzip2 加密文件
# openssl参数: enc(编码) d(解密) aes256(加密算法) salt(加盐) pbkdf2(密钥派生) in(输入文件)
# tar参数: x(解压) j(bzip2解压) v(显示进度) f(文件) -(从标准输入读取)
openssl enc -d -aes256 -salt -pbkdf2 -in test.tar.bz2.enc | tar xjvf -
02 zip
兼容性好,使用方便
2.1 基础压缩
zip documents.zip file1.txt file2.pdf # 压缩多个文件
zip -r source_code.zip source_code/ # -r: 递归压缩目录
zip -9 archive.zip large_file.iso # -9: 最高压缩率
zip -1 data.zip folder/ # -1: 最快压缩速度
zip -q quiet.zip files/ # -q: 安静模式,不输出信息
2.2 加密压缩
zip -re secure.zip sensitive_data/ # -re: 加密压缩(交互式输入密码)
zip -r -P password secure.zip folder/ # -P: 直接指定密码(有安全风险)
zip -r -e -P pass secure.zip docs/ # 组合参数:递归加密压缩
随后会让输入密码,并二次确认
2.3 解压缩
unzip archive.zip # 解压到当前目录
unzip archive.zip -d /target/path/ # -d: 解压到指定目录
unzip -l archive.zip # -l: 仅列出文件,不解压
unzip -o archive.zip # -o: 覆盖已存在文件不提示
unzip -n archive.zip # -n: 不覆盖已存在文件
unzip -q archive.zip # -q: 安静模式解压
2.4 查看管理
zipinfo archive.zip # 查看压缩包详细信息
zipinfo -1 archive.zip # -1: 仅显示文件名列表
zipinfo -v archive.zip # -v: 显示每个文件的详细信息
zipinfo -h # 查看帮助信息
unzip -t archive.zip # -t: 测试压缩包完整性
unzip -v archive.zip # -v: 详细模式列出内容
03 7zip
3.1 压缩
7z a test.zip test # a: 添加到压缩包
3.2 带密码压缩
7z a test.zip test -p # -p: 交互式输入密码
7z a test.zip test -p[passwd] # -p[passwd]: 直接指定密码
3.3 大文件分卷压缩
7z a -p密码 -v100M -mhe=on volum_file.7z big_file.iso
# -v100M: 分卷大小100MB
# -mhe=on: 加密文件头
3.4 解压
7z x test.zip # x: 完整路径解压
04 rar(压缩需要授权,解压开源)
重要提示:法律与许可
rar
:该软件为 商业软件,提供 40 天试用期。试用期满后,虽功能不受限,但继续使用被视为非授权行为。
个人使用风险较低,但商业用途可能面临法律风险。unrar
:该软件为 开源免费软件,可随意安装使用,仅提供解压功能。
4.1 工具下载
sudo apt update
sudo apt install rar unrar # 安装rar和unrar工具
4.2 压缩
rar a archive_name.rar file1 file2 directory/ # a: 添加到压缩包
rar a myfiles.rar document.txt image.jpg my_folder/
4.3 解压
unrar e filename.rar # e: 解压到当前目录
unrar e filename.rar /path/to/destination/ # 解压到指定目录
4.4 查看
unrar l filename.rar # l: 列出压缩包内容
unrar v filename.rar # v: 详细列表信息