tar
和unzip
命令,解压.tar.gz/.tgz文件用tar -xzvf 文件名
,解压.tar.bz2文件用tar -xjvf 文件名
,解压.zip文件用unzip 文件名
,其他格式如.rar需额外工具。在Linux系统中,解压文件是日常操作的重要技能,本文将详细介绍常见压缩格式的解压方法,所有命令均经过测试验证,确保安全可靠,操作前请注意:切勿解压来源不明的文件,避免恶意脚本攻击。
常见压缩格式及对应工具
文件格式 | 所需工具 | 安装命令(如未预装) |
---|---|---|
.zip |
unzip |
sudo apt install unzip |
.tar |
tar (系统内置) |
无需安装 |
.gz |
gzip 或tar |
内置 |
.tar.gz /.tgz |
tar |
内置 |
.bz2 |
bzip2 |
sudo apt install bzip2 |
.tar.bz2 |
tar |
内置 |
.rar |
unrar |
sudo apt install unrar |
.7z |
p7zip |
sudo apt install p7zip |
详细解压方法及示例
ZIP文件 (.zip)
unzip 文件名.zip # 解压到当前目录 unzip 文件.zip -d 目标目录 # 解压到指定目录 unzip -l 文件.zip # 查看压缩包内容(不解压)
TAR归档文件 (.tar)
tar -xvf 文件.tar # 解压到当前目录 tar -xvf 文件.tar -C 目标目录 # 解压到指定目录
参数说明:
-x
:解压-v
:显示解压过程-f
:指定文件名
GZIP压缩文件 (.gz)
gzip -d 文件.gz # 解压并删除原压缩包 gunzip 文件.gz # 同上(等效命令)
TAR.GZ组合文件 (.tar.gz / .tgz)
tar -xzvf 文件.tar.gz # 解压到当前目录
新增参数:
-z
:处理gzip压缩
BZIP2压缩文件 (.bz2 / .tar.bz2)
bzip2 -d 文件.bz2 # 解压单个.bz2文件 tar -xjvf 文件.tar.bz2 # 解压.tar.bz2组合包
参数说明:
-j
:处理bzip2压缩
RAR文件 (.rar)
unrar x 文件.rar # 保留目录结构解压 unrar e 文件.rar # 解压到当前目录(忽略子目录)
7Z文件 (.7z)
7z x 文件.7z # 保留目录结构解压 7z e 文件.7z # 解压到当前目录(平铺文件)
高级技巧
-
批量解压当前目录所有ZIP文件
unzip '*.zip'
-
解压时排除特定文件(适用于tar)
tar -xzvf 文件.tar.gz --exclude="*.log"
-
查看压缩包内容(避免解压恶意文件)
tar -tzvf 文件.tar.gz # 查看.tar.gz内容 unzip -l 文件.zip # 查看ZIP内容
安全注意事项
- 验证文件来源
下载文件后使用sha256sum 文件名
校验哈希值,确保与官方提供的一致。 - 隔离测试
可疑压缩包可在Docker容器中解压:docker run -it --rm -v $(pwd):/data alpine unzip /data/可疑文件.zip
- 权限控制
使用普通用户解压,避免使用sudo
提权操作。
常见问题解决
- 报错”command not found”:根据前文表格安装对应工具
- 解压中文文件名乱码:添加编码参数
unzip -O GBK 中文文件.zip # 适用于旧版系统
- 空间不足:用
df -h
检查磁盘,清理后再操作
引用说明:
本文命令基于GNU coreutils 9.1、tar 1.34、UnZip 6.0等工具验证,符合Linux标准规范,操作环境为Ubuntu 22.04 LTS及CentOS 9 Stream,安全建议参考Linux基金会最佳实践文档。
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/26233.html