tar -czvf 输出文件名.tar.gz 目录路径
(gzip压缩)或tar -cjvf 输出文件名.tar.bz2 目录路径
(bzip2压缩),注意排除/proc等虚拟文件系统。核心工具:tar命令
tar
(Tape Archive)是Linux最常用的打包工具,支持保留文件权限、符号链接等属性。
基本打包操作
# 打包/home目录到backup.tar(不压缩) sudo tar -cvf backup.tar /home # 解包 tar -xvf backup.tar
-c
:创建归档-v
:显示过程-f
:指定文件名
打包时排除文件
# 排除临时文件和缓存 sudo tar -cvf system_backup.tar --exclude=/var/cache --exclude=/tmp /
保留权限与属性(关键选项)
sudo tar -cpvf full_system.tar /
-p
:保留文件权限--acls
:保留ACL权限--xattrs
:保留扩展属性(如SELinux上下文)
压缩归档文件
打包后通常需压缩以节省空间,常用工具有gzip
、bzip2
、xz
。
直接打包并压缩
# 使用gzip(速度快,压缩率中等) sudo tar -czvf home_backup.tar.gz /home # 使用bzip2(压缩率高,速度慢) sudo tar -cjvf home_backup.tar.bz2 /home # 使用xz(最高压缩率,速度最慢) sudo tar -cJvf home_backup.tar.xz /home
压缩效率对比
格式 | 命令后缀 | 典型压缩率 | 适用场景 |
---|---|---|---|
gzip | .tar.gz |
~70% | 快速备份 |
bzip2 | .tar.bz2 |
~80% | 平衡场景 |
xz | .tar.xz |
~90% | 长期存储/网络传输 |
特殊场景处理
打包整个根文件系统
sudo tar -cpzvf full_system.tar.gz --exclude=/proc --exclude=/sys --exclude=/dev --exclude=/mnt --exclude=/media --exclude=/run --exclude=/tmp /
注意:排除虚拟文件系统(如/proc
),避免打包无效内容。
处理符号链接
- 默认行为:
tar
自动打包符号链接指向的实际文件。 - 仅打包链接本身(不跟随):
tar -cvhf links_only.tar /path/with/links
-h
:不跟随符号链接。
验证与解包
查看归档内容
tar -tvf backup.tar # 列出文件 tar -tf backup.tar | grep "keyword" # 搜索特定文件
解包到指定目录
mkdir restore && tar -xvf backup.tar -C restore/
-C
:指定解包目录
验证完整性
# 检查压缩包结构 tar -tf backup.tar > /dev/null && echo "Archive OK" # 实际解压测试(安全方式) tar -xvf backup.tar --dry-run
替代工具
-
cpio
适用于find
管道操作:find /home -print0 | cpio -ov0 > home_backup.cpio
-
dd
+ gzip
打包块设备(如SD卡):sudo dd if=/dev/sdb1 bs=4M | gzip > sdcard.img.gz
-
rsync
增量备份场景:rsync -a --delete /source/ /backup/
注意事项
- 权限问题:打包系统目录需
sudo
,否则可能遗漏关键文件。 - 路径安全:解包时避免覆盖现有文件,建议在空目录测试。
- 空间检查:打包前用
df -h
确保磁盘空间充足。 - 大文件分割:
tar -cvzf - /bigdata | split -b 2G - bigdata.tar.gz.part
- 加密备份:
tar -czvf - /sensitive | gpg -c > backup.tar.gz.gpg
- 常规备份:优先用
tar -czvf
打包压缩。 - 系统迁移:添加
-p
保留权限,排除虚拟目录。 - 嵌入式部署:结合
xz
高压缩率减少镜像体积。 - 自动化脚本:搭配
find
或rsync
实现增量备份。
引用说明基于Linux核心工具手册(GNU tar 1.34, rsync 3.2.7)及Filesystem Hierarchy Standard (FHS 3.0),实践前建议查阅
man tar
获取系统特定参数。
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/37383.html