压缩、解压缩及归档工具
file-roller
compress/uncompress: .Z
gzip/gunzip: .gz
bzip2/bunzip2: .bz2
xz/unxz: .xz
zip/unzip
tar
cpio
1.compress/uncompress
compress [-dfvcVr] [-b maxbits] [file ...]
-d: 解压缩,相当于uncompress
-c: 结果输出至标准输出,不删除原文件
-v: 显示详情
uncompress 解压缩
zcat file.Z >file
2.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
3.bzip2/bunzip2/bzcat
bzip2 [OPTION]... FILE ...
-k: keep, 保留原文件
-d:解压缩
-#:1-9,压缩比,默认为9
bzcat:不显式解压缩的前提下查看文本文件内容
4.xz/unxz/xzcat
xz [OPTION]... FILE ...
-k: keep, 保留原文件
-d:解压缩
-#:1-9,压缩比,默认为6
xzcat: 不显式解压缩的前提下查看文本文件内容
5.zip/unzip
打包压缩
zip –r /testdir/sysconfig /etc/sysconfig/
解包解压缩
unzip sysconfig.zip
cat /var/log/messages | zip messages -
unzip -p message > message
6.tar工具
Tar(Tape ARchive,磁带归档的缩写)
tar [OPTION]...
(Linux中的很多压缩程序只针对一个文件进行压缩,所以当你想要压缩一大堆文件的时候,你就得先借助其他的工具将这些大文件打成一个包,然后再进行压缩)
(1) 创建归档
tar -c -f /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) 结合压缩工具实现:归档并压缩
-j: bzip2(后缀.bz2), -z: gzip, -J: xz
-T选项指定输入文件,-X选项指定包含要排除的文件列表
分割大的 tar 文件为多份小文件:
split –b Size –d tar-file-name prefix-name(-b指定分割承包的大小,-d分割的文件用数字表示)
split -b 1M –d mybackup.tgz mybackup-parts
split -b 1M mybackup.tgz mybackup-parts
合并:
cat mybackup-parts* > mybackup.tar.gz
7.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