一、压缩和解压缩工具
一般压缩的对象的是:ascii文件
压缩比:压缩前后的size比例
含义:把相同的内容,进行替换为简单的字符//很多压缩算法
目的:时间换空间{CPU时间}
compress/uncompress , .Z 后缀
gzip/gunzip , .gz
bzip2/bunzip2 , .bz2
xz/unxz , .xz
zip/unzip
tar,cpio
1.gzip/gunzip/zcat
gzip a//会删除原有文件
gunzip a.gz //会删除压缩文件
zcat a.gz //自动临时解压,并查看,文件太大的话,建议不要使用zcat,因为要占用大量的内存
-d :解压缩,相当于gunzip
-# :指定压缩比,数字越大,压缩比越大,默认是6(1-9)
gzip -9 aa
-c :输出到屏幕,并保留源文件
gzip -c aa > aa.gz
2.bzip2/bunzip2/bzcat
bzip2 a //会删除源文件
-d a.bz2 //解压缩
-# //指定压缩比(1-9),默认是6
-k //keep 保留源文件
bzip2 -k a //自动保存源文件
3.xz/unxz/xzcat{.xz} ,lzma/unlzma/lzcat{.lzma}
-d 解压缩
-# 指定 压缩级别默认6,1-9
-k 保留源文件
//上述都支持压缩文件,不支持压缩目录
二、归档工具:tar,cpio
tar [OPTION] ... FILE ...
-c 创建归档
-f 指定文件路径和名字
cf a.tar a
-x 展开归档
tar xf a.tar -C /tmp/test //指定其他路径
-t 查看归档文件的文件列表
tar -tf a.tar
-r //apend 添加新的文件到tar文件
tar -r test/messages log.tar
cpio //3种模式
cpio-out:从标准输入获得文件名列表 (一行一个)。默认把归档包写到标准输出,因此一般重定向到 一个文件中
copy-in模式中, cpio 从归档包里读取文件, 或者列出归档包里的内容。它从标准输入读入归档包
copy-pass模式中, cpio把文件从一棵目录树复制到另一棵, 它结合了 copy-in 和 copy-out 的操作, 但不使用归档包。
缺省情况下,cpio从标准输入读取输入数据,向标准输出写入输出数据。
-o或--create:执行copy-out模式,建立备份档
-c:使用旧ASCII备份格式;
-v:verbose
-B:将输入/输出的区块大小改成5210Bytes;
-i或--extract:执行copy-in模式,还原备份档;
-d或--make-directories:如有需要cpio会自行建立目录;
-t或--list:将输入的内容呈现出来;
将/etc下的所有普通文件都备份到/opt/etc.cpio,使用以下命令:
find /etc –type f | cpio –ocvB >/opt/etc.cpio
cpio –icduv 《 /opt/etc.cpio //有时可能因为备份的文件过多,一个屏幕无法显示完毕,此时我们利用下面命令,让磁带机的文件信息输出到文件。
将系统上所有资料备份到磁带机内,使用以下命令:
find / -print | cpio -covB > /dev/st0 这里的/dev/st0是磁带的设备名,代表SCSI磁带机。
查看上例磁带机上备份的文件,使用以下命令:
cpio -icdvt 《 /dev/st0 > /tmp/st_content
三、结合使用:
-z ;gzip2
zcf a.tar.gz file ...
xf a.tar.gz //展开的时候可以自动识别压缩格式
-j :bzip2
-jcf
-jxf
-J :xz
-Jcf
-Jxf
四、zip/unzip
通用压缩工具,但是性能一般
本身既能归档,也能压缩
zip test.zip /test/
unzip test.zip