压缩和解压缩工具和bash脚本编程;
- 压缩比
目的:时间
换空间
CPU的时间 --> 磁盘空间
工具 | 文件后缀 |
---|---|
compress/uncompress | .Z |
gzip/gunzip | .gz |
bzip2/bunzip2 | .bz2 |
xz/unxz | .xz |
lzma/unlzma | .lzma |
zip/unzip | .zip |
tar, cpio
压缩工具
gzip/gunzip/zcat
gzip, gunzip, zcat - compress or expand files
gzip [OPTION]... FILE...
-d:解压缩,相当于gunzip;
-#:指定压缩比,默认是6;数字越大压缩比越大(1-9);
-c:将压缩结果输出至标准输出;
gzip -c FILE > /PATH/TO/SOMEFILE.gz
bzip2/bunzip2/bzcat
bzip2 [OPTION]... FILE...
-d:解压缩
-#:指定压缩比;默认是6;数字越大压缩比越大(1-9);
-k:keep,保留原文件;
xz/unxz/xzcat
lzma/unlzma/lzcat
xz --format=lzma
xz [OPTION]... FILE...
-d:解压缩
-#:指定压缩比;默认是6;数字越大压缩比越大(1-9);
-k:保留原文件;
归档工具:tar, cpio
-
tar命令:
tar [OPTION]... FILE...
创建归档
-c -f /PATH/TO/SOMEFILE.tar FILE...
-cf /PATH/TO/SOMEFILE.tar FILE...
展开归档
-xf /PATH/FROM/SOMEFILE.tar
-xf /PATH/FROM/SOMEFILE.tar -C /PATH/TO/SOMEDIR
查看归档文件的文件列表
-tf /PATH/TO/SOMEFILE.tar
归档完成后通常需要压缩,结果此前的压缩工具,就能实现压缩多个文件了;
- 归档压缩
- -z:gzip2
-zcf /PATH/TO/SOMEFILE.tar.gz FILE...
解压缩并展开归档:
-zxf /PATH/TO/SOMEFILE.tar.gz
- -j:bzip2
-jcf
-jxf
- -J: xz
-Jcf
-Jxf
- -z:gzip2
zip:
zip/unzip
练习
下载redis-3.0.2.tar.gz,展开至/tmp目录;而后得新创建压缩为xz格式;
[root@localhost ~]# cd /tmp
[root@localhost tmp]# wget http://download.redis.io/releases/redis-3.0.2.tar.gz
--2019-02-22 04:52:38-- http://download.redis.io/releases/redis-3.0.2.tar.gz
Resolving download.redis.io (download.redis.io)... 109.74.203.151
Connecting to download.redis.io (download.redis.io)|109.74.203.151|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1360182 (1.3M) [application/x-gzip]
Saving to: ‘redis-3.0.2.tar.gz’
100%[==============================================================================================>] 1,360,182 5.60KB/s in 2m 12s
2019-02-22 04:54:51 (10.1 KB/s) - ‘redis-3.0.2.tar.gz’ saved [1360182/1360182]
[root@localhost tmp]# ls
redis-3.0.2.tar.gz
[root@localhost tmp]# tar -xzf /tmp/redis-3.0.2.tar.gz
[root@localhost tmp]# ls
redis-3.0.2 redis-3.0.2.tar.gz
[root@localhost tmp]# tar -Jcf ./redis-3.0.2.tar.xz ./redis-3.0.2
[root@localhost tmp]# ls
redis-3.0.2 redis-3.0.2.tar.gz redis-3.0.2.tar.xz