压缩、解压缩及归档工具

file-roller

compress/uncompress: .Z

gzip/gunzip: .gz

bzip2/bunzip2: .bz2

xz/unxz: .xz

zip/unzip

tar

cpio

 

compress/uncompress

compress [-dfvcVr] [-b maxbits] [file ...]

-d: 解压缩,相当于uncompress

-c: 结果输出至标准输出,不删除原文件

-v: 显示详情

uncompress 解压缩

zcat file.Z >file

 

gzip/gunzip

gzip [OPTION]... FILE ...

-d: 解压缩,相当于gunzip

-c: 将压缩或解压缩的结果输出至标准输出

-#1-9,指定压缩比,值越大压缩比越大

zcat:不显式解压缩的前提下查看文本文件内容

实例:

gzip -c messages >messages.gz

gzip -c -d messages.gz > messages

zcat messages.gz > messages

 

bzip2/bunzip2/bzcat

bzip2 [OPTION]... FILE ...

-k: keep, 保留原文件

-d:解压缩

-#1-9,压缩比,默认为9

bzcat:不显式解压缩的前提下查看文本文件内容

 

xz/unxz/xzcat

xz [OPTION]... FILE ...

-k: keep, 保留原文件

-d:解压缩

-#1-9,压缩比,默认为6

xzcat: 不显式解压缩的前提下查看文本文件内容

 

zip/unzip

打包压缩

zip -r /testdir/sysconfig /etc/sysconfig/

解包解压缩

unzip sysconfig.zip

cat /var/log/messages | zip messages -

unzip -p message > message

 

tar工具

tarTape ARchive,磁带归档的缩写)

tar [OPTION]...

(1) 创建归档

tar -cpvf /PATH/TO/SOMEFILE.tar FILE...

(2) 追加文件至归档: 注:不支持对压缩文件追加

tar -r -f /PATH/TO/SOMEFILE.tar FILE...

(3) 查看归档文件中的文件列表

tar -t -f /PATH/TO/SOMEFILE.tar

(4) 展开归档

tar -x -f /PATH/TO/SOMEFILE.tar

tar -x -f /PATH/TO/SOMEFILE.tar -C /PATH/

(5) 结合压缩工具实现:归档并压缩

-z: gzip, -j: bzip2, -J: xz

 

tar -cpvf

-c    创建

-p    保存属性

-v    看过程

-f    


-T选项指定输入文件,-X选项指定包含要排除的文件列表

tar zcvf mybackup.tgz -T /root/includefilelist -X /root/excludefilelist

分割大的 tar 文件为多份小文件:

split -b Size -d tar-file-name prefix-name

split -b 1M -d mybackup.tgz mybackup-parts

split -b 1M mybackup.tgz mybackup-parts

合并:

cat mybackup-parts* > mybackup.tar.gz

 

cpio

功能:复制文件从或到归档

cpio命令是通过重定向的方式将文件进行打包备份,还原恢复的工具,它可以解压以“.cpio”或者“.tar”结尾的文件

cpio [选项] > 文件名或者设备名

cpio [选项] < 文件名或者设备名

选项

-o 将文件拷贝打包成文件或者将文件输出到设备上

-i 解包,将打包文件解压或将设备上的备份还原到系统

-t 预览,查看文件内容或者输出到设备上的文件内容

-v 显示打包过程中的文件名称。

-d 解包生成目录,在cpio还原时,自动的建立目录

-c 一种较新的存储方式

 

示例

etc目录备份:

find /etc -print |cpio -ov > etc.cpio

内容预览

cpio -tv < etc.cpio

解包文件

cpio -idv < etc.cpio

 

压缩比排序

xz > bz2 > gz > Z

4个工具只能针对文件进行压缩,ziptar才能打包