命令行压缩解压指南:这些参数让我少掉50%头发
作为一个常年和服务器打交道的码农,我敢说80%的服务器问题都出在文件传输环节。今天就来分享下这些年我用命令行压缩解压文件时,那些真正救命的参数组合。相信我,掌握这些能让你少走很多弯路。
1. tar:老当益壮的打包工具
第一次用tar时,我完全记不住那些参数顺序,直到发现这个记忆口诀:”create zip verbose file”(创建压缩包时用czvf)。比如要把整个目录打包:
# 压缩
tar -czvf project.tar.gz ./project
# 解压(x表示extract)
tar -xzvf project.tar.gz
实际使用时我经常加上--exclude
参数忽略垃圾文件:
tar -czvf backup.tar.gz --exclude='*.log' --exclude='tmp/*' ./data
2. zip/unzip:Windows友好型选手
有次给Windows同事传文件,用tar打包结果对方打不开,从此我学会了zip的妙用。压缩时用-r
递归目录,-q
安静模式特别实用:
# 安静模式压缩(不显示进度)
zip -qr archive.zip ./folder
# 解压到指定目录
unzip archive.zip -d /target/path
踩坑提醒:zip默认不保留Linux文件权限,需要加-X
参数保留UID/GID。
3. 7z:压缩界的性能怪兽
当我需要极致压缩比时,7z就成了首选。虽然命令稍复杂,但-mx=9
的极限压缩效果惊人:
# 极限压缩(耗时但体积小)
7z a -t7z -mx=9 archive.7z ./big_data
# 分卷压缩(适合大文件传输)
7z a -v100m split_files.7z ./huge_file
有次用这个参数把30G的日志压缩到3G,传输时间从2小时降到15分钟,老板看我的眼神都不一样了。
4. 那些让我翻车的场景
说几个血泪教训:
- 解压时永远先看内容:
tar -tf archive.tar.gz
,有次直接解压把文件覆盖了 - 文件名含空格要用引号:
unzip "my file.zip"
- 跨平台时注意编码:
unzip -O GBK windows_file.zip
5. 我的常用组合拳
最后分享我的万能套路:
- 本地测试用:
tar -czvf
(速度快) - 网络传输用:
7z -mx=5
(平衡模式) - 给Windows用户:
zip -r
+-e
加密(如需密码)
记住这些参数后,我现在处理压缩文件的时间缩短了至少70%。如果你也有私藏的参数技巧,欢迎在评论区交流!
太需要这个了!每次tar的参数都记不住,这个口诀太实用了