文章目录
一、这个扩展名到底啥来头?(灵魂拷问)
每次看到.tar.gz后缀的文件都头大?其实这货就是个"俄罗斯套娃"!(拍大腿)先说tar命令——它原本就是个"文件打包机",把多个文件塞进单个容器里。而gz后缀表示这个包还被gzip工具压缩过,体积直接缩水60%以上!
二、基础必杀技:万能解压公式
tar -xzvf 你的文件.tar.gz
这个命令堪称解压界的瑞士军刀!分解动作:
- x:解压模式(extract)
- z:处理gzip压缩(关键!)
- v:显示解压过程(verbose)
- f:指定文件名(必须放最后!)
举个栗子🌰:
tar -xzvf 年度报告.tar.gz
解压完当前目录瞬间多出一堆文件!(注意磁盘空间!)
三、高阶玩法:精准空投到指定目录
不想把文件撒得到处都是?试试-C参数:
tar -xzvf 安装包.tar.gz -C /opt/software/
(超级重要)目标目录必须提前创建!否则会收获一堆报错信息~
四、阅后即焚:只看不解压
不确定包里的内容?先用-t参数预览:
tar -tzvf 神秘压缩包.tar.gz
系统会像目录树一样列出所有文件路径,超适合检查有没有隐藏的炸弹文件💣
五、多层目录拆弹指南
遇到这种结构怎么办?
project_2023.tar.gz
├── src/
│ ├── main.c
│ └── config/
└── docs/
直接解压会保留完整目录结构!配合–strip-components参数可以去掉顶层目录:
tar -xzvf project_2023.tar.gz --strip-components=1
(危险操作)建议先-t预览结构再操作!
六、其他压缩格式一键通杀
突然遇到.tgz文件怎么办?别慌!其实就是.tar.gz的马甲:
tar -xzvf 紧急备份.tgz
如果是纯.tar包(没压缩的),去掉z参数:
tar -xvf 原始包.tar
七、批量解压黑科技
面对一堆压缩包要处理?for循环来拯救:
for f in *.tar.gz; do
echo "正在解压 $f ..."
tar -xzvf "$f"
done
(懒人必备)配合&&符号还能接后续操作!
八、避坑宝典:常见错误大全
-
报错:gzip: stdin: not in gzip format
多半是文件损坏或实际是其他格式(比如zip伪装成tar.gz) -
解压后文件权限丢失
加-p参数保留权限:tar -xzvpf
-
磁盘空间不足
先用-du -sh查看包大小,再用df -h查剩余空间 -
中文文件名乱码
尝试指定编码:tar -xzvf --force-local --encoding=UTF-8
九、冷知识:压缩比王者参数
虽然主要讲解压,但顺手分享压缩神技:
tar -czvf 备份文件.tar.gz --exclude='*.log' /要备份的目录
用–exclude排除日志文件,压缩速度提升50%!
十、终极总结:解压三字经
一验(校验文件完整性)
二看(用-t预览内容)
三定位(-C指定目录)
四处理(解压后立即整理文件)
最后提醒:解压前养成备份习惯!曾经有勇士不小心覆盖了生产环境配置…(别问我是怎么知道的😭)