在 Linux 下压缩文件有多种方式,取决于你使用的压缩格式和命令工具。下面按常见场景给你总结:
.tar.gz / .tgz)tar -czvf 文件名.tar.gz 要压缩的文件或目录
示例:
tar -czvf test.tar.gz test/
-c 创建-z 使用 gzip-v 显示过程-f 指定文件名解压:
tar -xzvf test.tar.gz
.tar.bz2,压缩率更高)tar -cjvf 文件名.tar.bz2 目录
解压:
tar -xjvf 文件名.tar.bz2
.tar.xz,压缩率最高)tar -cJvf 文件名.tar.xz 目录
解压:
tar -xJvf 文件名.tar.xz
zip -r 文件名.zip 目录
解压:
unzip 文件名.zip
(如未安装:yum install zip unzip 或 apt install zip unzip)
gzip file.txt
生成 file.txt.gz,原文件会被删除
解压:
gzip -d file.txt.gz
bzip2 file.txt
xz file.txt
解压:
bunzip2 file.txt.bz2
unxz file.txt.xz
✅ 只压缩不打包(单文件):
gzip log.txt
✅ 压缩整个目录(推荐):
tar -czvf backup.tar.gz /var/www
✅ 排除某些文件:
tar -czvf backup.tar.gz --exclude=*.log www/
| 格式 | 速度 | 压缩率 | 场景 |
|---|---|---|---|
| .tar.gz | 快 | 中 | 最常用 |
| .tar.bz2 | 慢 | 高 | 节省空间 |
| .tar.xz | 最慢 | 最高 | 发布包 |
| .zip | 快 | 中 | 跨平台 |
如果你有具体需求(比如:压缩并保留原文件、远程传输、脚本自动化),可以告诉我,我可以给你更精确的命令。