tar -cvf 包名.tar 目录名
,如需压缩,添加-z
(gzip)或-j
(bzip2)参数,tar -czvf 压缩包.tar.gz 目录名
。核心工具:tar命令(推荐)
tar
(Tape Archive)是Linux最原生的打包工具,支持保留文件权限、符号链接等属性,适合系统备份。
基础打包(不压缩)
tar -cvf 打包名.tar 目录路径/ # 示例:将/home/user/docs打包为backup.tar tar -cvf backup.tar /home/user/docs
- 选项解释:
-c
:创建新归档文件
-v
:显示打包过程(可选)
-f
:指定文件名(必须放在最后)
打包并压缩
根据需求选择压缩算法:
- gzip压缩(速度快,通用性强):
tar -czvf backup.tar.gz /home/user/docs # 后缀通常用.tar.gz或.tgz
- bzip2压缩(压缩率高,速度慢):
tar -cjvf backup.tar.bz2 /home/user/docs
- xz压缩(高压缩率,适合大文件):
tar -cJvf backup.tar.xz /home/user/docs
解包与解压
# 解压.tar.gz文件 tar -xzvf backup.tar.gz -C 目标路径/ # -C指定解压目录(可选) # 仅查看包内容(不解压) tar -tf backup.tar.gz
其他工具补充
zip格式(跨平台兼容)
适用于与Windows/Mac共享文件:
# 安装zip(如未预装) sudo apt install zip unzip # Debian/Ubuntu sudo yum install zip unzip # CentOS/RHEL # 打包目录 zip -r 打包名.zip 目录路径/ # 示例:递归压缩docs目录 zip -r backup.zip /home/user/docs # 解压zip文件 unzip backup.zip -d 目标路径/
7z格式(超高压缩率)
需安装p7zip
:
sudo apt install p7zip-full # Debian/Ubuntu sudo yum install p7zip # CentOS/RHEL # 打包目录 7z a backup.7z /home/user/docs # 解压 7z x backup.7z -o目标路径/
关键技巧与注意事项
-
排除特定文件:
tar --exclude='*.log' -czvf backup.tar.gz /home/user/docs # 跳过.log文件 zip -r backup.zip /home/user/docs -x "*.tmp" # 排除.tmp文件
-
分卷压缩大目录(适合传输限制场景):
tar -czvf - /home/user/docs | split -b 500M - backup_part.tar.gz. # 合并分卷:cat backup_part.tar.gz.* | tar -xzvf -
-
保留权限与所有权:
- 用
tar
时添加-p
选项保留权限(如tar -cpzvf
) - 解压时用
sudo
可恢复所有者(需权限)
- 用
-
安全验证:
- 生成校验文件:
sha256sum backup.tar.gz > backup.sha256
- 解压前验证完整性:
sha256sum -c backup.sha256
- 生成校验文件:
场景建议总结
需求 | 推荐命令 |
---|---|
Linux系统备份 | tar -czvf (保留权限) |
跨平台共享 | zip -r 或 7z a |
极限压缩比 | 7z a 或 tar -cJvf (xz压缩) |
快速操作 | tar -czvf (gzip平衡速度/压缩) |
重要提示:
- 操作前确认目录路径无误,避免误覆盖文件。
- 打包系统目录(如
/etc
、/var
)建议使用sudo
以包含所有文件。- 定期验证备份完整性,避免数据损坏无法恢复。
引用说明: 参考Linux核心工具手册(man tar
、man zip
)、开源社区最佳实践,以及Filesystem Hierarchy Standard (FHS) 标准,命令测试基于Ubuntu 22.04/CentOS 7环境,兼容主流Linux发行版。
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/34849.html