note_10.1_Linux压缩工具

压缩和解压缩工具和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

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  

你可能感兴趣的:(note_10.1_Linux压缩工具)