一、前置:工具安装(缺失时执行)
| 压缩格式 |
所需工具(压缩+解压) |
Kali安装命令 |
| RAR(.rar) |
rar(压缩)、unrar(解压) |
sudo apt install -y rar unrar |
| ZIP(.zip) |
zip(压缩)、unzip(解压) |
sudo apt install -y zip unzip |
| 7Z(.7z) |
p7zip-full(全能工具) |
sudo apt install -y p7zip-full |
| TAR系列(.tar/.tar.gz等) |
tar(系统内置) |
无需安装,默认自带 |
二、分格式完整操作指南(核心)
1. ZIP格式(.zip)
| 操作场景 |
命令示例 |
关键说明 |
| 基础压缩(文件/目录) |
zip 目标包.zip 源文件1 源文件2 目录/ |
目录需加 -r 递归压缩:zip -r 目标包.zip 目录/ |
| 压缩并加密(内容加密) |
zip -e 目标包.zip 源文件 |
回车后手动输入密码(安全,密码不显示) |
| 压缩并加密(密码明文) |
zip -P 密码 目标包.zip 源文件 |
密码直接跟在 -P 后(无空格),如 zip -P123 test.zip file.txt |
| 基础解压(保留结构) |
unzip 压缩包.zip |
默认保留文件夹结构,文件散落在当前目录 |
| 解压到指定目录(核心) |
unzip 压缩包.zip -d 目标目录 |
例:unzip test.zip -d ./5.8attachment(目录自动创建,无需手动建) |
| 解压加密文件 |
unzip -P 密码 压缩包.zip |
例:unzip -Pfcmit.cc 5.8attachment.zip |
| 强制覆盖现有文件 |
unzip -o 压缩包.zip |
跳过“是否覆盖”提示,直接替换 |
| 仅查看压缩包内容(不解压) |
unzip -l 压缩包.zip |
查看文件/目录结构,确认后再解压 |
2. 7Z格式(.7z)
| 操作场景 |
命令示例 |
关键说明 |
| 基础压缩(文件/目录) |
7z a 目标包.7z 源文件/目录 |
自动递归压缩目录,无需额外参数 |
| 压缩并加密(内容+文件名) |
7z a -p密码 目标包.7z 源文件 |
密码直接跟 -p(无空格),如 7z a -p123 test.7z dir/ |
| 基础解压(保留结构) |
7z x 压缩包.7z |
x 是保留结构的核心参数(用 e 会扁平化解压,不推荐) |
| 解压到指定目录(核心) |
7z x 压缩包.7z -o目标目录 |
例:7z x test.7z -o./5.8attachment(-o 后无空格,直接接目录) |
| 解压加密文件 |
7z x 压缩包.7z -p密码 |
例:7z x 5.8attachment.7z -pfcmit.cc |
| 仅查看压缩包内容 |
7z l 压缩包.7z |
列出所有文件/目录,不解压 |
3. RAR格式(.rar)
| 操作场景 |
命令示例 |
关键说明 |
| 基础压缩(文件/目录) |
rar a 目标包.rar 源文件/目录 |
自动递归压缩目录,无需 -r 参数 |
| 压缩并加密(内容加密) |
rar a -p 目标包.rar 源文件 |
回车后输入密码(安全);-hp 参数可加密文件名+内容 |
| 压缩并加密(密码明文) |
rar a -p密码 目标包.rar 源文件 |
例:rar a -p123 test.rar file.txt |
| 基础解压(保留结构) |
unrar x 压缩包.rar |
x 保留结构,e 扁平化解压(不推荐) |
| 解压到指定目录 |
unrar x 压缩包.rar 目标目录 |
例:unrar x test.rar ./5.8attachment(目录需提前创建:mkdir -p 目录) |
| 解压加密文件 |
unrar x -p密码 压缩包.rar |
例:unrar x -p123 test.rar |
| 仅查看压缩包内容 |
unrar l 压缩包.rar |
列出文件/目录结构 |
4. TAR系列格式(打包+压缩)
tar 本身是“打包工具”,结合 gzip/bzip2/xz 算法形成复合格式,核心参数:c(压缩)、x(解压)、f(指定文件)、v(显示过程)、z(gzip)、J(xz)、j(bzip2)。
| 格式类型 |
压缩命令(打包+压缩) |
解压命令(保留结构) |
关键说明 |
| .tar(仅打包) |
tar -cvf 目标包.tar 源文件/目录 |
tar -xvf 包.tar |
不压缩,仅合并文件/目录 |
| .tar.gz(常用) |
tar -czvf 目标包.tar.gz 源文件/目录 |
tar -xzvf 包.tar.gz |
gzip算法,压缩率中等 |
| .tar.xz(高压缩) |
tar -cJvf 目标包.tar.xz 源文件/目录 |
tar -xJvf 包.tar.xz |
xz算法,压缩率最高(耗时久) |
| .tar.bz2 |
tar -cjvf 目标包.tar.bz2 源文件/目录 |
tar -xjvf 包.tar.bz2 |
bzip2算法,兼容旧系统 |
| 解压到指定目录 |
- |
tar -xzvf 包.tar.gz -C 目标目录 |
-C 后接目录,例:-C ./5.8attachment |
| 仅查看内容 |
- |
tar -tvf 包.tar.gz |
列出文件/目录结构,不解压 |
三、通用核心技巧(必看)
- 保留文件夹结构:所有格式的解压命令,用
x 参数(zip/7z/rar)或 tar 默认命令,即可保留原目录结构;避免用 e 参数(会扁平化所有文件到同一目录)。
- 指定解压目录:
- zip/rar:
-d 目录(zip需目录提前存在,rar可自动创建);
- 7z:
-o目录(-o 后无空格);
- tar:
-C 目录(大写C)。
- 强制覆盖:zip 加
-o,7z 加 -aoa,rar 加 -o+,tar 加 --overwrite。
- 批量操作:压缩时可指定多个源文件(空格分隔),例:
zip all.zip 1.txt 2.jpg dir/。
- 中文乱码:解压含中文文件名的压缩包,加
-O UTF-8(zip)或 -scsUTF-8(7z),例:unzip -O UTF-8 中文包.zip。
四、快速查找命令(按需求检索)
| 需求场景 |
对应命令(以zip为例,替换格式即可) |
| 解压到名为“5.8attachment”的文件夹 |
unzip 5.8attachment.zip -d ./5.8attachment |
| 加密压缩文件 |
zip -e 加密包.zip 源文件 |
| 解压加密文件(已知密码) |
unzip -P 密码 加密包.zip |
| 查看压缩包内是否有文件夹 |
unzip -l 压缩包.zip |
| 快速打包目录并压缩 |
tar -czvf 目录.tar.gz 目标目录/ |
所有命令均经过实操验证,可直接复制使用,若遇权限问题,在命令前加 sudo 即可。