首页 > 代码库 > 指令篇:文件与文件系统的压缩与解压与打包(归档)与解压___gzip、zcat;bzip2、bzcat;zip; tar

指令篇:文件与文件系统的压缩与解压与打包(归档)与解压___gzip、zcat;bzip2、bzcat;zip; tar

一、文件与文件系统的压缩:

  1、单文件的四种压缩命令:

    ①、Compress  (过时了,不做过多说明)

    ②、gzip,zcat   (gzip:压缩。zcat:查看) 

    ③、bzip2,bzcat (bzip:压缩。bzcat:查看)

    ④、zip      (zip:压缩。unzip:解压)

  2、gzip,zcat 组合

    不保留源文件压缩:gzip file  

    保留源文件压缩:gzip -c file > file.gz

    查看压缩比例并压缩文件:gzip -v file

    查看压缩文件里面的内容:zcat file.gz

    解压命令:gzip -d file.gz

技术分享
 1 [root@localhost opt]# gzip -c hosts > hosts.gz 
 2 [root@localhost opt]# ls
 3 hosts  hosts.gz
 4 [root@localhost opt]# rm -f hosts.gz 
 5 [root@localhost opt]# ls
 6 hosts
 7 [root@localhost opt]# gzip hosts 
 8 [root@localhost opt]# ls
 9 hosts.gz
10 [root@localhost opt]# zcat hosts.gz 
11 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
12 ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
13 [root@localhost opt]# gzip -d hosts.gz 
14 [root@localhost opt]# ls
15 hosts
16 [root@localhost opt]# 
演示代码

 

 

  3、bzip2,bzcat 组合。压缩方法和上面一样<注意后缀名>

    不保留源文件压缩:bzip2 file  

    保留源文件压缩:bzip2 -c file > file.bz2

    查看压缩比例并压缩文件:bzip2 -v file

    查看压缩文件里面的内容:bzcat file.bz2

    解压命令:bzip2 -d file.bz2

  4、zip 压缩文件。<不管压缩与解压,都会保留源文件>

    压缩文件:zip file.zip file

    解压文件:unzip file.zip

 

二、多文件和文件系统的打包(归档):命令: tar   (注意:文件的的归档不是压缩)

     参数:

        c: 创建一个归档文件

        v: 显示创建归档的一个过程

        f: 指明归档之后文件的名字

        t: 查看归档文件

        x: 解压归档文件(默认解压在当前文件夹)

        C: 解压归档文件(指定解压到任意目录)

   1、单文件归档:

      保留源文件归档:tar cvf aa.tar file

      不保留源文件归档:tar cvf aa.tar file --remove-files     或  tar cvf aa.tar file --remove-file

      查看一个归档文件:tar tvf aa.tar

      解压一个归档文件:tar xvf aa.tar 

技术分享
 1 [root@localhost opt]# ls
 2                         hosts
 3                         [root@localhost opt]# tar cvf aa.tar hosts 
 4                         hosts
 5                         [root@localhost opt]# ls
 6                         aa.tar  hosts
 7                         [root@localhost opt]# rm -f aa.tar 
 8                         [root@localhost opt]# tar cvf aa.tar hosts --remove-file
 9                         hosts
10                         [root@localhost opt]# ls
11                         aa.tar
12                         [root@localhost opt]# tar tvf aa.tar 
13                         -rw-r--r-- root/root       158 2017-05-21 16:13 hosts
14                         [root@localhost opt]# tar xvf aa.tar 
15                         hosts
16                         [root@localhost opt]# ls
17                         aa.tar  hosts
18                         [root@localhost opt]#
演示代码

   

   2、多文件归档: 

      保留源文件归档:tar cvf yy.tar file1 file2 file3 

      不保留源文件归档:tar cvf yy.tar file1 file2 file 3 --remove-file

      查看归档文件里面的文件:tar tvf yy.tar

      解压归档文件里面的所有内容:tar xvf yy.tar 

      解压归档文件里面的部分内容:tar xvf yy.tar file2  (解压归档文件里面的文件file2)

  注意:归档文件的时候可以跨文件夹归档,解压归档文件的时候没有试过跨文件夹归档

技术分享
 1                         [root@localhost opt]# ls
 2                         hosts  passwd  services
 3                         [root@localhost opt]# tar cvf yy.tar hosts passwd services 
 4                         hosts
 5                         passwd
 6                         services
 7                         [root@localhost opt]# ls
 8                         hosts  passwd  services  yy.tar
 9                         [root@localhost opt]# rm -f yy.tar 
10                         [root@localhost opt]# ls
11                         hosts  passwd  services
12                         [root@localhost opt]# tar cvf xx.tar hosts passwd services --remove-file
13                         hosts
14                         passwd
15                         services
16                         [root@localhost opt]# ls
17                         xx.tar
18                         [root@localhost opt]# tar tvf xx.tar 
19                         -rw-r--r-- root/root       158 2017-05-21 16:13 hosts
20                         -rw-r--r-- root/root      2235 2017-05-21 16:13 passwd
21                         -rw-r--r-- root/root    670293 2017-05-21 16:13 services
22                         [root@localhost opt]# tar xvf xx.tar 
23                         hosts
24                         passwd
25                         services
26                         [root@localhost opt]# ls
27                         hosts  passwd  services  xx.tar
28                         [root@localhost opt]# rm -f hosts passwd services 
29                         [root@localhost opt]# ls
30                         xx.tar
31                         [root@localhost opt]# tar xvf xx.tar hosts
32                         hosts
33                         [root@localhost opt]# ls
34                         hosts  xx.tar
35                         [root@localhost opt]# 
演示代码

 

三、tar 命令进行文件的压缩(tar本身是没有压缩功能的):------>该方法可以极大的减少压缩文件的大小

      调用:gzip 或bzip2 来进行压缩和解压

  1、调用gzip 压缩:tar jcvf mm.tar.bz2 hosts passwd services

        技术分享

      调用gzip解压所有文件:tar jxvf mm.tar.bz2

        技术分享

      调用gzip解压里面的单个文件:tar jxvf mm.tar.bz2 hosts

        技术分享

      把 mm.tar.bz2 文件里面的内容解压到文件夹aa目录下面:tar jxvf mm.tar.bz2 -C aa/

        技术分享

 

  2、调用gzip压缩和解压:(把上面的 "jxvf" --->zxvf)

      调用gzip 压缩:tar jcvf mm.tar.bz2 hosts passwd services

      调用gzip解压所有文件:tar jxvf mm.tar.bz2

      调用gzip解压里面的单个文件:tar jxvf mm.tar.bz2 hosts

      把 mm.tar.bz2 文件里面的内容解压到文件夹aa目录下面:tar jxvf mm.tar.bz2 -C aa/

 

指令篇:文件与文件系统的压缩与解压与打包(归档)与解压___gzip、zcat;bzip2、bzcat;zip; tar