在 CentOS 中,“extract”通常指解压/提取文件,常见场景包括 tar、zip、gz、bz2、xz、rpm 等格式。下面按常用格式 + 实用技巧 + 常见坑来总结,基本覆盖 90% 的使用需求。
tar -xvf file.tar
tar -xzvf file.tar.gz
tar -xjvf file.tar.bz2
tar -xJvf file.tar.xz
参数说明:
-x:解压-v:显示过程-f:指定文件-z:gzip-j:bzip2-J:xztar -xzvf file.tar.gz -C /opt/app
✅ 必须加 -C,不是直接跟路径
tar -xzvf file.tar.gz path/to/file
tar -tzvf file.tar.gz
tar -xvf file.tar.*
yum install -y unzip zip
unzip file.zip
unzip file.zip -d /opt/app
unzip -o file.zip
gunzip file.gz
# 或
gzip -d file.gz
bunzip2 file.bz2
unxz file.xz
rpm -qlp package.rpm
rpm2cpio package.rpm | cpio -idmv
✅ 常用于:
tar -xzvf test.tar.gz && mv test test_bak
tar --strip-components=1 -xzvf file.tar.gz -C /opt/app
unzip -O UTF-8 file.zip
tar -xzvf file.tar.gz --exclude=*.log
for i in *.tar.gz; do tar -xzvf $i; done
tar -xzvpf file.tar.gz
restorecon -Rv /opt/app
| 错误 | 原因 | 解决 |
|---|---|---|
Cannot open: No such file |
路径错误 | 检查 -C |
Not a tar archive |
格式不对 | 检查后缀 |
| 解压后无权限 | 没用 root | chmod -R |
| 乱码 | zip 编码 | unzip -O UTF-8 |
tar -xzvpf app.tar.gz -C /opt/app --strip-components=1
restorecon -Rv /opt/app
如果你有具体场景(如 Docker、源码包、日志、rpm 修复、批量解压),可以告诉我,我可以给你更针对性的 extract 方案。