压缩与解压
tar 和 zip 是 Linux 最常用的压缩工具,掌握压缩解压是文件传输和备份的基本功。
压缩与解压
tar:Linux 标准压缩
# 压缩(创建归档)
tar -czf archive.tar.gz directory/ # gzip 压缩(最常用)
tar -cjf archive.tar.bz2 directory/ # bzip2 压缩(压缩率更高)
tar -cJf archive.tar.xz directory/ # xz 压缩(压缩率最高)
# 解压
tar -xzf archive.tar.gz # 解压到当前目录
tar -xzf archive.tar.gz -C /target/ # 解压到指定目录
tar -xjf archive.tar.bz2 # 解压 bz2
# 查看内容(不解压)
tar -tzf archive.tar.gz
# 追加文件到归档
tar -rf archive.tar newfile.txt
参数解释
| 参数 | 含义 |
|---|---|
-c |
create,创建归档 |
-x |
extract,解压 |
-z |
gzip 压缩 |
-j |
bzip2 压缩 |
-f |
指定文件名 |
-v |
显示过程 |
-t |
列出内容 |
zip / unzip
# 压缩
zip archive.zip file1.txt file2.txt # 压缩指定文件
zip -r archive.zip directory/ # 压缩整个目录
zip -e archive.zip files/ # 加密压缩(会提示输入密码)
# 解压
unzip archive.zip # 解压到当前目录
unzip archive.zip -d /target/ # 解压到指定目录
unzip -l archive.zip # 查看内容(不解压)
实用备份脚本
# 备份项目(排除 node_modules)
tar -czf backup-$(date +%Y%m%d).tar.gz \
--exclude="node_modules" \
--exclude=".git" \
./my-project
记住口诀:
czf压缩,xzf解压——tar 参数虽多,这两个组合覆盖 95% 场景。