本文内容精简、整理、摘抄、有感于《鸟哥的Linux私房菜》第八章 • 文件与文件系统的压缩、打包和备份。
压缩
目前常见的Linux压缩命令包括有gzip
、bzip2
和最新的xz
,下表是一些常见的压缩文件扩展名及对应指令关系:
扩展名 | 指令 | 说明 |
---|---|---|
*.Z |
|
|
*.zip |
| window下常见的压缩格式 |
*.gz |
| 较快较为常见的一种压缩格式 |
*.bz2 |
| 压缩率比gzip要好的压缩格式 |
*.xz |
| 压缩率比gzip/bzip2都要高的压缩方式 |
如果是经过打包(tar
)的压缩文件,那常见的对应关系大多如下:
扩展名 | 说明 |
---|---|
*.tar | tar指令打包,未压缩过 |
*.tar.gz | tar指令打包,用gzip压缩过 |
*.tar.bz2 | tar指令打包,用bzip2压缩过 |
*.tar.xz | tar指令打包,用xz压缩过 |
以下是上述几种压缩命令的常见用法:
gzip [-cdv#] 档名
,压缩或解压缩,支持操作旧式的compress
指令处理的*.Z
压缩文档 -c
将输出流重定向,可自定义压缩文档名称 -d
解压缩 -v
显示压缩比 -#
取值范围介于1-9,1最快压缩率最低,9最慢但压缩比最高,默认是6zcat/zmore/zless/zgrep 压缩档
,这几个命令都是用于查看或过滤出gzip格式的压缩档内容bzip2 [-cdkv#] 档名
,提供了比gzip更好的压缩比 -c
将输出流重定向,可自定义压缩文档名称 -d
解压缩 -k
保留源文件而不是删除 -v
显示压缩比 -#
同gzip,取值范围介于1-9,1最快压缩率最低,9最慢但压缩比最高,默认是6bzcat/bzmore/bzless/bzgrep 压缩档
,用于查看或过滤出bz2格式的压缩档内容xz [-cdlk#] 档名
,提供了比gzip/bzip2更好的压缩比 -c
将输出流重定向,可自定义压缩文档名称 -d
解压缩 -1
显示压缩文件相关信息 -k
保留源文件而不是删除 -#
同gzip,取值范围介于1-9,1最快压缩率最低,9最慢但压缩比最高,默认是6xzcat/xzmore/xzless/xzgrep 压缩档
,用于查看或过滤出xz格式的压缩档内容
打包
以上压缩指令仅支持操作单一文件,多个文件则需要配合使用tar
进行打包:
tar [-{z|j|J}{c|t|x}vpP] -f 压缩档 待压缩或待解压缩文件 [-C 解压缩目录]
-zjJ
对应gzip、bzip2和xz三种压缩格式。( PS: 不加该参数时,档名最好取为:*.tar
;如果是-z
,对应为*.tar.gz
;如果是-j
,对应为*.tar.bz2
;如果是-J
,对应为*.tar.xz
) -ctx
分别对应打包压缩、察看压缩档内容和解压缩这三种功能,不能同时出现 -v
压缩或解压缩过程中显示正在处理的文件名 -f
后接已有tar档名或待建立档名 -C
解压缩时指定的目录位置 -p
保留备份数据的原权限和属性 -P
保留根目录绝对路径,解压会还原到该位置 ---exclude=FILE
压缩但不包含FILE
备份
- XFS文件系统
- 备份:`xfsdump`
- 还原:`xfrestroe`
- 光盘写入工具
- 建立印象档:`mkisofs`
- 光盘刻录工具:`cdrecord`
- 其它压缩备份工具
- `dd`
- `cpio`
文章已授权转载,原文链接:Linux 私房菜:打包、压缩和备份