目的:
时间 换 空间
CPU的时间 --> 磁盘空间
分类
compress/uncompress, .Z
gzip/gunzip, .gz
bzip2/bunzip2, .bz2
xz/unxz, .xz
lzma/unlzma, .lzma
zip/unzip
tar, cpio #归档
1、gzip/gunzip/zcat
gzip, gunzip, zcat - compress or expand files
zcat:查看用gzip压缩后的文件,
gzip [OPTION]... FILE...
-d:解压缩,相当于gunzip;
-#:指定压缩比,默认是6;数字越大压缩比越大(1-9);
-c:将压缩结果输出至标准输出;
gzip -c FILE > /PATH/TO/SOMEFILE.gz
2、bzip2/bunzip2/bzcat
bzip2 [OPTION]... FILE...
-d:解压缩
-#:指定压缩比;默认是6;数字越大压缩比越大(1-9);
-k:keep,保留原文件;
3、xz/unxz/xzcat
lzma/unlzma/lzcat
xz [OPTION]... FILE...
-d:解压缩
-#:指定压缩比;默认是6;数字越大压缩比越大(1-9);
-k:保留原文件;
4、zip:通用,既能归档,又能压缩,压缩比不高;
zip/unzip
后缀名:.zip
压缩:文件: zip FILE.zip FILE...
目录: zip -r FILE.zip BASEDIR
解压:unzip FILE.zip
5、归档:tar, cpio:打包
tar命令:选项可以不带横杠;
tar [OPTION]... FILE...
参数
-c 创建压缩文件,创建打包文件
-x 解开压缩文件,解开打包文件
-t 查看压缩包内有那些文件
-z 用Gzip压缩或解压
-j 用bzip2压缩或解压
-v 显示压缩或解压的过程
-f 目标文件名
-p 保留原始的权限与属性
-P 使用绝对路径来压缩
-C 指定解压到的目录
(1) 创建归档
-c -f /PATH/TO/SOMEFILE.tar FILE...
-cf /PATH/TO/SOMEFILE.tar FILE...
(2) 展开归档
-xf /PATH/FROM/SOMEFILE.tar
-xf /PATH/FROM/SOMEFILE.tar -C /PATH/TO/SOMEDIR #-C:指定路径
(3) 查看归档文件的文件列表
-tf /PATH/TO/SOMEFILE.tar
归档完成后通常需要压缩,结合此前的压缩工具,就能实现压缩多个文件了;
(4) 归档并压缩
-z:gzip
-zcf /PATH/TO/SOMEFILE.tar.gz FILE...
解压缩并展开归档:-zxf /PATH/TO/SOMEFILE.tar.gz
-j:bzip2
-jcf
-jxf
-J: xz
-Jcf
-Jxf
注:所有解压缩归档,可以只写xf,会自动识别压缩格式的;
批量
批量压缩:
# ls |xargs -I {} tar -zcf {}.tar.gz {} #每个目录或文件单独打包压缩
# ls |xargs -I {} zip -r {}.zip {}
批量解压:
# ls *.tar.gz | xargs -n1 tar xf
# ls *.zip |xargs -n1 unzip
练习:
1:下载redis-3.0.2.tar.gz,展开至/tmp目录;而后得新创建压缩为xz格式。
# lftp 172.16.0.1/pub/Sources/sources/redis
lftp> mget redis-3.0.2.tar.gz