← 返回主页
NOTE

Linux 文件压缩、打包与备份

整理 Linux 常见压缩格式、tar 打包、备份与恢复命令用法。

常见压缩文件扩展名与对应工具

扩展名说明
*.Zcompress 压缩格式
*.zipzip 压缩格式
*.gzgzip 压缩格式
*.bz2bzip2 压缩格式
*.xzxz 压缩格式
*.tartar 打包(未压缩)
*.tar.gztar 打包 + gzip 压缩
*.tar.bz2tar 打包 + bzip2 压缩
*.tar.xztar 打包 + xz 压缩

常用工具详解

tar - 打包工具

简介:Linux 中的压缩工具通常不能直接压缩目录,需要先用 tar 将目录打包为单个文件后再进行压缩。

基本用法

# 打包
tar [-z|-j|-J] [cv] [-f 打包文件名] 要打包的文件或目录

# 查看打包文件内容
tar [-z|-j|-J] [tv] [-f 打包文件名]

# 解包
tar [-z|-j|-J] [xv] [-f 打包文件名] [-C 目标目录] [要单独解压的文件名]

参数说明

参数说明
-z使用 gzip 压缩/解压缩
-j使用 bzip2 压缩/解压缩
-J使用 xz 压缩/解压缩
-c创建打包文件
-t查看打包文件中的文件列表
-x解包
-v显示处理过程
-f指定打包文件名
-C指定解包目标目录
-p保留文件原有权限属性
-P保留绝对路径(谨慎使用)

高级用法

排除特定文件打包

tar -cvf 打包文件名 --exclude=要排除的路径 要打包的目录

仅打包指定时间后的文件

tar -cvf 打包文件名 --newer-mtime="YYYY/MM/DD" 要打包的目录

gzip - 压缩工具

广泛使用的压缩工具,可解压 compress、zip 和 gzip 格式的文件,生成 .gz 扩展名的压缩文件。

基本用法

gzip [-cdtv#] 文件名

参数说明

参数说明
-c将压缩数据输出到标准输出
-d解压缩
-t测试压缩文件的完整性
-v显示压缩比等信息
-#压缩等级(1-9,1最快压缩比最低,9最慢压缩比最高,默认为6)

注意:使用 gzip 压缩后,原始文件会被删除。


bzip2 - 压缩工具

gzip 的增强版,提供更好的压缩比,生成 .bz2 扩展名的压缩文件。

基本用法

bzip2 [-cdkzv#] 文件名

参数说明

参数说明
-c将压缩数据输出到标准输出
-d解压缩
-k保留原始文件
-z压缩(默认行为,可省略)
-v显示压缩比等信息
-#压缩等级(1-9,1最快压缩比最低,9最慢压缩比最高,默认为6)

xz - 压缩工具

提供更高压缩比的压缩工具,生成 .xz 扩展名的压缩文件。

基本用法

xz [-dtlkc#] 文件名

参数说明

参数说明
-d解压缩
-t测试压缩文件的完整性
-l显示压缩文件的相关信息
-k保留原始文件
-c将压缩数据输出到标准输出
-#压缩等级(1-9,1最快压缩比最低,9最慢压缩比最高,默认为6)

系统备份与恢复工具

xfsdump - XFS 文件系统备份工具

专为 XFS 文件系统设计的备份工具,支持增量备份等功能。

安装

yum install xfsdump xfsprogs -y

基本用法

# 执行备份
xfsdump [-L 会话标签] [-M 媒体标签] [-l 备份级别] [-f 备份文件] 要备份的路径

# 查看备份信息
xfsdump -I

参数说明

参数说明
-L设置会话的简要描述
-M设置媒体的简要描述
-l指定备份级别(0-9,0为完全备份,1-9为增量备份)
-f指定备份文件名
-I查看 /var/lib/xfsdump/inventory 中的备份状态

重要提示:xfsdump 只能备份完整的文件系统,不能备份单个目录。可使用 df -h /path 确认目录是否为独立文件系统。


xfsrestore - XFS 文件系统恢复工具

与 xfsdump 配套使用的恢复工具。

基本用法

# 从完整备份恢复
xfsrestore [-f 备份文件] [-L 会话标签] [-s 特定目录] 恢复目标目录

# 增量恢复
xfsrestore [-f 备份文件] -r 恢复目标目录

# 交互式恢复
xfsrestore [-f 备份文件] -i 恢复目标目录

参数说明

参数说明
-f指定备份文件
-L指定会话标签名称
-s仅恢复指定目录
-r执行增量恢复
-i进入交互式恢复模式