【图文教程】 Linux 文件压缩和打包

预习内容:

6.1 压缩打包介绍
6.2 gzip压缩工具
6.3 bzip2压缩工具
6.4 xz压缩工具
6.5 zip压缩工具
6.6 tar打包
6.7 打包并压缩

看下这个帖子: http://ask.apelearn.com/question/5435

6.1 压缩打包介绍:

众所周知文件压缩后所占的磁盘空间比较小,而且由于文件压缩后大小变小了所以通过网络传输时速度就更快,并且减少了网络带宽资源的占用。

在服务器机房里的网络和家用的不一样,一般服务器的网络是上下行对等的。家用网络只有下载速度快,上传速度慢,所以服务器机房的网络带宽比较昂贵,压缩文件就是节省带宽资源的方法之一。

在Linux里文件的后缀名可以任意的去自定义,但是最好还是遵循常规的格式去定义文件的后缀,这有利于方便区分、识别文件。

在这里插入图片描述

6.2 gzip压缩工具:

注意:gzip不能压缩目录,只能压缩文件

在这里插入图片描述

在 /tmp/ 下创建 d6z/ 目录,通过 find 命令把所有 .conf 结尾的文件追加到 1.txt里:
[root@sc ~]# cd /tmp/  
[root@sc tmp]# cd d6z/
[root@sc d6z]# ls
[root@sc d6z]# find /etc/ -type f -name "*conf" -exec cat {} >>1.txt \;
[root@sc d6z]# du -sh 1.txt
212K	1.txt
[root@sc d6z]# find /etc/ -type f -name "*conf" -exec cat {} >>1.txt \;
[root@sc d6z]# du -sh 1.txt
448K	1.txt
[root@sc d6z]# find /etc/ -type f -name "*conf" -exec cat {} >>1.txt \;
[root@sc d6z]# du -sh 1.txt
704K	1.txt
[root@sc d6z]# find /etc/ -type f -name "*conf" -exec cat {} >>1.txt \;
[root@sc d6z]# du -sh 1.txt
1.2M	1.txt
[root@sc d6z]# find /etc/ -type f -name "*conf" -exec cat {} >>1.txt \;
[root@sc d6z]# du -sh 1.txt
1.2M	1.txt
[root@sc d6z]# find /etc/ -type f -name "*conf" -exec cat {} >>1.txt \;
[root@sc d6z]# du -sh 1.txt
2.2M	1.txt
[root@sc d6z]# wc -l 1.txt 
31986 1.txt
例如我使用 gzip 压缩一个 1.txt 文件:
[root@sc d6z]# gzip 1.txt  # gzip 压缩命令
[root@sc d6z]# ls
1.txt.gz  # 压缩完的文件
[root@sc d6z]# du -sh 1.txt.gz 
316K	1.txt.gz  # 压缩文件大小
gzip -d 解压 1.txt 文件:

因为这个文件在压缩前有一些虚的空间,所以压缩后再解压的文件大小就不一样了,就像海绵一样。

[root@sc d6z]# gzip -d 1.txt.gz  # 解压命令
[root@sc d6z]# ls
1.txt
[root@sc d6z]# du -sh 1.txt 
1.3M	1.txt
[root@sc d6z]# wc -l 1.txt 
31986 1.txt
gzip 可以指定压缩的级别,一共有 1-9 个级别,默认是 6 级别,1 级别是压缩的最不严谨的,所以压缩出来的文件要大一些,但是耗费的 cpu 资源比较少。9 则是压缩的最严谨的,但是耗费的 cpu 资源就比较多,一般情况下压缩级别默认即可。
[root@sc d6z]# gzip -1 1.txt 
[root@sc d6z]# du -sh 1.txt.gz 
372K	1.txt.gz
[root@sc d6z]# gunzip 1.txt.gz  # 这个也是解压命令
[root@sc d6z]# ls
1.txt
[root@sc d6z]# gzip -9 1.txt 
[root@sc d6z]# du -sh 1.txt.gz 
316K	1.txt.gz
使用 file 命令查看 gizp 压缩文件的信息:

在这里插入图片描述

使用 zcat 命令查看 gizp 格式的压缩文件 1.txt.gz 的内容:

查看压缩包的内容,因为 1.txt.gz 是一个二进制的文件,zcat是先解压再查看

[root@sc d6z]# zcat 1.txt.gz
从以上实验可以知道使用 gzip 压缩文件后原本的文件会消失从而变成压缩文件,不过 gzip加-c 选项可以让原本的文件不消失,重新生成一个压缩文件,并且还可以指定压缩文件的存放路径:
[root@sc d6z]# gzip -c 1.txt >/tmp/1.txt.gz
[root@sc d6z]# ls /tmp/1.txt.gz 
/tmp/1.txt.gz
[root@sc d6z]# file !$
file /tmp/1.txt.gz
/tmp/1.txt.gz: gzip compressed data, was "1.txt", from Unix, last modified: Wed Mar 27 15:50:08 2019
相对的解压也可以这么做:
[root@sc d6z]# gzip -d -c /tmp/1.txt.gz >/tmp/d6z/2.txt
[root@sc d6z]# wc -l 1.txt 2.txt 
  31986 1.txt
  31986 2.txt
  63972 总用量
[root@sc d6z]# du -sh *.txt
1.3M	1.txt
1.3M	2.txt

6.3 bzip2压缩工具:

注意:bzip2不能压缩目录,只能压缩文件

在这里插入图片描述

扫描二维码关注公众号,回复: 5772515 查看本文章
这个 bzip 工具比起 gzip 来说,要压缩得更狠一些,也就代表着耗费的 cpu 资源更多,而且这两个工具的压缩算法不一样。最小化安装可能没有这个工具,需要使用yum install -y bzip2 命令安装:
[root@sc d6z]# yum install -y bzip2
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.nwsuaf.edu.cn
 * extras: mirrors.nwsuaf.edu.cn
 * updates: mirrors.tuna.tsinghua.edu.cn
base                         | 3.6 kB     00:00     
extras                       | 3.4 kB     00:00     
updates                      | 3.4 kB     00:00     
正在解决依赖关系
--> 正在检查事务
---> 软件包 bzip2.x86_64.0.1.0.6-13.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

====================================================
 Package  架构      版本              源       大小
====================================================
正在安装:
 bzip2    x86_64    1.0.6-13.el7      base     52 k

事务概要
====================================================
安装  1 软件包

总下载量:52 k
安装大小:82 k
Downloading packages:
bzip2-1.0.6-13.el7.x86_64.rpm  |  52 kB   00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : bzip2-1.0.6-13.el7.x86_64       1/1 
  验证中      : bzip2-1.0.6-13.el7.x86_64       1/1 

已安装:
  bzip2.x86_64 0:1.0.6-13.el7                       

完毕!
bzip2 和 gzip 的用法几乎是一模一样的:
[root@sc d6z]# bzip2 1.txt
[root@sc d6z]# ls
1.txt.bz2  2.txt
[root@sc d6z]# du -sh 1.txt.bz2 
132K	1.txt.bz2
[root@sc d6z]# du -sh 2.txt 
1.3M	2.txt
bzip2 -d 是解压命令:
[root@sc d6z]# bzip2 -d 1.txt.bz2 
[root@sc d6z]# ls
1.txt  2.txt
[root@sc d6z]# bzip2 1.txt
[root@sc d6z]# bunzip2 1.txt.bz2 
[root@sc d6z]# ls
1.txt  2.txt

可以加 -c 选项指定压缩文件的存放路径,也可以解压指定存放路径:

[root@sc d6z]# bzip2 -c 1.txt >/tmp/1.txt.bz2
[root@sc d6z]# du -sh /tmp/1.txt.bz2
132K	/tmp/1.txt.bz2
[root@sc d6z]# bzip2 -d -c /tmp/1.txt.bz2 >3.txt
[root@sc d6z]# ls
1.txt  2.txt  3.txt
[root@sc d6z]# du -sh 3.txt 
1.3M	3.txt
bzip2 也有压缩级别,可以指定压缩的级别,也是 1-9 的压缩级别,默认的压缩级别是 9,所以一般情况下不需要指定压缩级别。
[root@sc d6z]# bzip2 -9 1.txt 
[root@sc d6z]# du -sh 1.txt.bz2 
132K	1.txt.bz2
可以使用 file 查看压缩文件的信息:
[root@sc d6z]# file 1.txt.bz2 
1.txt.bz2: bzip2 compressed data, block size = 900k

有的人就是不遵守约定,瞎给文件设置结尾符号也可以用 file 这个命令查看

[root@sc d6z]# mv 1.txt.bz2 1.txt
[root@sc d6z]# ls
1.txt  2.txt  3.txt
[root@sc d6z]# less 1.txt  # 用普通命令less查看一个二进制文件
"1.txt" may be a binary file.  See it anyway?  # 输入y







# 出来的内容就会显示乱码



BZh91AY&SY<F0>(7^S^AP;<FF><E1>^?<FF>8^@^?<FF><FF>
<FF><FF><FF><FF><FF><FF><FF><FF><FF>@^@@^@^P^@b:<FE>^@<FA>*B<AA><88>"T*^@^@^A^D^T^@)
@^TP
($J<80>P^@Q@^AT(^BJ<A0><94>^@<80>^@^@^@*<80>^@<A0>^@^R^@^B<A4>
^A^D^@^T^E^@H<80>J% ^@^@^@^@
^@^@P^@^@^@^A@^@^@^@^@^@^@PP^@^@^@^@^@^@^@^@<A0>^@P
^@^@^@P^@^@^@(^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
^@P^@^@^@^@^@^@^@I@^@^@^@^@^@^@^@^@^@^@^@^@^@^T^@
<A0>^@^@^@^@^A ^@^@^@^@^@^@^T^T<A1>@^@@^@^@^@^@^@^@
^@^@EQ^Q@QBT^@^@^@
<A8><94>^@^@^@Q@^@^@^@^@^@^@^B<A8>^A*^B^QE^B<80>^@U* ^@^EQ <A5>(^@^@<A0>H"T*B<A8><80>^UQ^PE*^P^R<A2><92>^@<92><A8>Q"<88>U^B<92><88>^U^EH<95>^D<80>^@R<81> 
<80>RU)<AA>J<A0>^@<A0>(^B<94>^@<A4><AA>@ ^EI"<A8>
<89>B<90>
J<82><AA>^D<8A>PJ$H<8A><A2><A8><A8><A2>^U^@^T^@PTQ"
^RD<88>^HRR^AB<80>T^P^H^A^@R^R@<81>^B*JJ<8A>!<85>^E*<A4>
D^P<82><A8> <80><92>Q^@D^@^@^@^@^@^@^@^@^@^@^B<80>^@^@^@^@^@^@^@^T^@^T<A0>^@^Q"R<A8>^B<80>^@^@^@^@ <90>
<A8><92><8A>^T("^@^@U^@^@^@U^E^B<80>^@^@^@^@^HB<A5>EIP$<A0>R<80>^T<AA><8A>"<95>P)P^BR<85>"D<AA>(<A8>^@^@<A4>*^@^@^A ^U<A5>^P<94>R@<A2>T<A0><A8>)J<84><94>^RE@^@^@^BU*<80>^E) ^@^P<91>E^R^RJ^R<94>J@(A((PU^R(<85>1.txt


[root@sc d6z]# file 1.txt  # file可以查看一个二进制文件的信息,显示是bzip2压缩文件,直接用bzcat来查看
1.txt: bzip2 compressed data, block size = 900k
[root@sc d6z]# file 2.txt 
2.txt: UTF-8 Unicode text
[root@sc d6z]# mv 1.txt 1.txt.bz2
[root@sc d6z]# ls
1.txt.bz2  2.txt  3.txt
bzcat 命令可以查看 bz2 格式的压缩文件的内容,原理和 gzip 的 zcat 命令一样:
[root@sc d6z]# bzcat 1.txt.bz2 

6.4 xz压缩工具:

注意:xz不能压缩目录,只能压缩文件

在这里插入图片描述

xz压缩工具和之前的两个压缩工具的用法也差不多,但是并不经常使用,但是在常用的tar包里面,会经常看到后缀为tar.xz的压缩包,所以此工具也是要了解一下的。`

从压缩的结果可以看出,这个xz工具对文件的压缩比前两个工具更狠,直接压缩到几十k了,相应的更耗费cpu资源。

[root@sc d6z]# xz 2.txt
[root@sc d6z]# ls
1.txt.bz2  2.txt.xz  3.txt
[root@sc d6z]# du -sh 2.txt.xz 
48K	2.txt.xz
[root@sc d6z]# du -sh 3.txt 
1.3M	3.txt
同样的xz工具也有压缩级别,可以指定压缩的级别,也是1-9的压缩级别,默认的压缩级别是6:
[root@sc d6z]# xz -d 2.txt.xz 
[root@sc d6z]# ls
1.txt.bz2  2.txt  3.txt
[root@sc d6z]# xz 2.txt 
[root@sc d6z]# unxz 2.txt
[root@sc d6z]# unxz 2.txt.xz 
[root@sc d6z]# ls
1.txt.bz2  2.txt  3.txt
可以加 -c 选项指定压缩文件的存放路径,同时也可以解压缩文件存放的路径:
[root@sc d6z]# xz -c 2.txt >/tmp/2.txt.xz
[root@sc d6z]# xz -d -c /tmp/2.txt.xz >./4.txt
xzcat命令查看压缩文件的内容:
[root@sc d6z]# xzcat /tmp/2.txt.xz
可以使用file查看压缩文件的信息:
[root@sc d6z]# file 2.txt.xz
2.txt.xz: cannot open (No such file or directory)

gzip、bzip2、xz命令总结:

命令 压缩文件示例 解压文件示例 默认压缩级别 压缩文件(源文件保留)示例 解压缩文件 (源文件不保留)示例 查看压缩文件内容 压缩工具的作用
gzip gzip 1.txt gzip -d 1.txt.gz 或者 gunzip 1.txt.gz 6 gzip -c /root/1.txt >/tmp/1.txt.gz gzip -d -c /tmp/1.txt.gz >/root/1.txt zcat gzip不能压缩目录,只能压缩文件
bzip2 bzip2 1.txt bzip2 -d 1.txt.bz 或者 bunzip2 1.txt.bz 9 bzip2 -c /root/1.txt >/tmp/1.txt.bz2 bzip2 -d -c /tmp/1.txt.gz >/root/1.txt bzcat bzip2不能压缩目录,只能压缩文件
xz xz 1.txt xz -d 1.txt.xz 或者 unxz 1.txt.xz 6 xz -c /root/1.txt >/tmp/1.txt.xz xz -d -c /tmp/1.txt.gz >/root/1.txt xzcat xz不能压缩目录,只能压缩文件

6.5 zip压缩工具:

注意:zip不光压缩文件,还可以压缩目录

在这里插入图片描述

做实验拷贝一个目录:
[root@sc tmp]# cp -r /tmp/aminglinux/ /tmp/d6z/  
[root@sc tmp]# cd d6z/
[root@sc d6z]# ls
1.txt.bz2  2.txt  3.txt  4.txt  aminglinux
[root@sc d6z]# cp 4.txt aminglinux/2/
[root@sc d6z]# du -sh aminglinux/
1.3M	aminglinux/
zip 支持压缩目录,也可以压缩文件。最小化安装的 CentOS7 是没有这个工具的,需要使用 yum install -y zip 命令进行安装:
[root@sc d6z]# yum install -y zip
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.nwsuaf.edu.cn
 * extras: mirrors.nwsuaf.edu.cn
 * updates: mirrors.tuna.tsinghua.edu.cn
base                         | 3.6 kB     00:00     
extras                       | 3.4 kB     00:00     
updates                      | 3.4 kB     00:00     
正在解决依赖关系
--> 正在检查事务
---> 软件包 zip.x86_64.0.3.0-11.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

====================================================
 Package 架构       版本             源        大小
====================================================
正在安装:
 zip     x86_64     3.0-11.el7       base     260 k

事务概要
====================================================
安装  1 软件包

总下载量:260 k
安装大小:796 k
Downloading packages:
zip-3.0-11.el7.x86_64.rpm      | 260 kB   00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : zip-3.0-11.el7.x86_64           1/1 
  验证中      : zip-3.0-11.el7.x86_64           1/1 

已安装:
  zip.x86_64 0:3.0-11.el7                           

完毕!
zip 压缩文件的命令和 gzip、bzip2 的命令不太一样,例如我要压缩 2.txt 文件:
[root@sc d6z]# zip 2.txt.zip 2.txt
  adding: 2.txt (deflated 75%)
[root@sc d6z]# ls
1.txt.bz2  2.txt.zip  4.txt
2.txt      3.txt      aminglinux
[root@sc d6z]# du -sh 2.txt.zip 
316K	2.txt.zip
使用 zip 压缩目录:

zip压缩工具有一个特点就是压缩完文件后,原本的文件不会删除,其他的像gzip、bzip2之类的压缩工具,,压缩完文件后原本的文件会被删除。

[root@sc d6z]# zip -r aming.zip 3.txt aminglinux/
  adding: 3.txt (deflated 75%)
  adding: aminglinux/ (stored 0%)
  adding: aminglinux/2/ (stored 0%)
  adding: aminglinux/2/4.txt (deflated 75%)
  adding: aminglinux/aming2/ (stored 0%)
  adding: aminglinux/aming1/ (stored 0%)
[root@sc d6z]# ls
1.txt.bz2  2.txt.zip  4.txt       aming.zip
[root@sc d6z]# du -sh aming.zip 
632K	aming.zip
使用unzip命令可以对 zip 压缩文件进行解压缩,最小化安装的 CentOS7 是没有这个命令的,需要使用 yum install -y unzip 命令进行安装:
[root@sc d6z]# yum install -y unzip
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.nwsuaf.edu.cn
 * extras: mirrors.nwsuaf.edu.cn
 * updates: mirrors.tuna.tsinghua.edu.cn
正在解决依赖关系
--> 正在检查事务
---> 软件包 unzip.x86_64.0.6.0-19.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

====================================================
 Package   架构       版本           源        大小
====================================================
正在安装:
 unzip     x86_64     6.0-19.el7     base     170 k

事务概要
====================================================
安装  1 软件包

总下载量:170 k
安装大小:365 k
Downloading packages:
unzip-6.0-19.el7.x86_64.rpm    | 170 kB   00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : unzip-6.0-19.el7.x86_64         1/1 
  验证中      : unzip-6.0-19.el7.x86_64         1/1 

已安装:
  unzip.x86_64 0:6.0-19.el7                         

完毕!

因为原本的文件没有被删除,所以在解压的时候会询问是否要覆盖文件,输入大A表示全部覆盖文件,输入y表示(单个)覆盖文件,输入n表示(单个)不覆盖文件

[root@sc d6z]# unzip aming.zip
Archive:  aming.zip
replace 3.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: A
  inflating: 3.txt                   
  inflating: aminglinux/2/4.txt  

指定解压文件的存放路径:

[root@sc d6z]# unzip 2.txt.zip -d test/
Archive:  2.txt.zip
  inflating: test/2.txt

注意:使用命令解压缩时文件的名称不能更改

[root@sc d6z]# unzip 2.txt.zip -d test/aa.txt
Archive:  2.txt.zip
  inflating: test/aa.txt/2.txt      
zip 的压缩文件内容无法使用命令查看,只能查看里面的文件列表:
[root@sc d6z]# unzip -l aming.zip
Archive:  aming.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
  1280892  03-27-2019 17:10   3.txt
        0  03-28-2019 10:27   aminglinux/
        0  03-28-2019 10:28   aminglinux/2/
  1280892  03-28-2019 10:28   aminglinux/2/4.txt
        0  03-28-2019 10:27   aminglinux/aming2/
        0  03-28-2019 10:27   aminglinux/aming1/
---------                     -------
  2561784                     6 files

6.6 tar打包:

在这里插入图片描述

在介绍tar工具的使用前,我们先假设一个情景,A 服务器要向 B 服务器传输一堆目录和文件,这些目录和文件的大小总和是 100M,而服务器的网络带宽也是 100M,理论上 100M 网络大约等于12M 每秒的传输速度,因为网络带宽是 bit 为单位的而不是以 byte 为单位,所以 1MByte 等于8MBit 按照这网络速度理论上应该 8 秒就能传输完毕,但其实不然,因为 A 服务器要传输的东西既有多个文件又有多个目录是散开的,在传输的时候无法一起进行传输只能一个个的进行传输,所以理论上约 8 秒能传输完的,实际上可能需要一分多钟才能传输完。

如果使用 tar 工具将这些散开的文件和目录打包到一起,就能同时进行传输,虽然可能达不到理论上的 8 秒传输完,但是肯定会比散开来传输要快得多,这就是需要用到打包工具的目的。

tar 的用法类似于 zip,例如打包一个目录:
[root@sc d6z]# tar -cvf aminglinux.tar aminglinux/
aminglinux/
aminglinux/2/
aminglinux/2/4.txt
aminglinux/aming2/
aminglinux/aming1/
把v去掉依然覆盖之前的打包:
[root@sc d6z]# tar -cf aminglinux.tar aminglinux/
[root@sc d6z]# ls
1.txt.bz2  2.txt  2.txt.zip  3.txt  4.txt  aminglinux  aminglinux.tar  aming.zip  test
tar 解包也会覆盖原来的文件,没有任何提示:
[root@sc d6z]# tar -xvf aminglinux.tar 
aminglinux/
aminglinux/2/
aminglinux/2/4.txt
aminglinux/aming2/
aminglinux/aming1/
目录加文件一起打包:
[root@sc d6z]# tar -cvf aminglinux.tar aminglinux 3.txt 4.txt 
aminglinux/
aminglinux/2/
aminglinux/2/4.txt
aminglinux/aming2/
aminglinux/aming1/
3.txt
4.txt
查看 tar 包里的文件列表:
[root@sc d6z]# tar -tf aminglinux.tar 
aminglinux/
aminglinux/2/
aminglinux/2/4.txt
aminglinux/aming2/
aminglinux/aming1/
3.txt
4.txt
加上 --exclude 选项可以过滤指定的文件:
[root@sc d6z]# tar -cvf aminglinux.tar aminglinux 3.txt 4.txt 
aminglinux/
aminglinux/2/
aminglinux/2/4.txt
aminglinux/aming2/
aminglinux/aming2/2/
aminglinux/aming2/2/2.txt
aminglinux/aming2/aming1/
aminglinux/aming2/aming1/2/
aminglinux/aming2/aming1/2/2.txt
aminglinux/aming2/aming1/aminglinux/
aminglinux/aming2/aming1/aminglinux/2/
aminglinux/aming2/aming1/aminglinux/2/2.txt
aminglinux/aming1/
aminglinux/aming1/2.txt
3.txt
4.txt
[root@sc d6z]# tar -cvf aminglinux.tar --exclude aming1 aminglinux 3.txt 4.txt 
aminglinux/
aminglinux/2/
aminglinux/2/4.txt
aminglinux/aming2/
aminglinux/aming2/2/
aminglinux/aming2/2/2.txt
3.txt
4.txt
[root@sc d6z]# tar -cvf aminglinux.tar --exclude aming1 --exclude 2.txt aminglinux 3.txt 4.txt 
aminglinux/
aminglinux/2/
aminglinux/2/4.txt
aminglinux/aming2/
aminglinux/aming2/2/
3.txt
4.txt
[root@sc d6z]# tar -cvf aminglinux.tar --exclude aming1 --exclude "*.txt" aminglinux 3.txt 4.txt 
aminglinux/
aminglinux/2/
aminglinux/aming2/
aminglinux/aming2/2/

6.7 打包并压缩:

在这里插入图片描述

tar 在打包的时候是可以压缩的,gzip 示例:
[root@sc d6z]# tar -czvf aminglinux.tar.gz aminglinux 3.txt 4.txt 
aminglinux/
aminglinux/2/
aminglinux/2/4.txt
aminglinux/aming2/
aminglinux/aming2/2/
aminglinux/aming2/2/2.txt
aminglinux/aming2/aming1/
aminglinux/aming2/aming1/2/
aminglinux/aming2/aming1/2/2.txt
aminglinux/aming2/aming1/aminglinux/
aminglinux/aming2/aming1/aminglinux/2/
aminglinux/aming2/aming1/aminglinux/2/2.txt
aminglinux/aming1/
aminglinux/aming1/2.txt
3.txt
4.txt
[root@sc d6z]# du -sh aminglinux.tar.gz 
944K	aminglinux.tar.gz
[root@sc d6z]# du -sh aminglinux 3.txt 4.txt 
1.3M	aminglinux
1.3M	3.txt
1.3M	4.txt
tar 在打包的时候是可以压缩的,gzip 解压包 示例:
[root@sc d6z]# tar -xzvf aminglinux.tar.gz aminglinux 3.txt 4.txt 
aminglinux/
aminglinux/2/
aminglinux/2/4.txt
aminglinux/aming2/
aminglinux/aming2/2/
aminglinux/aming2/2/2.txt
aminglinux/aming2/aming1/
aminglinux/aming2/aming1/2/
aminglinux/aming2/aming1/2/2.txt
aminglinux/aming2/aming1/aminglinux/
aminglinux/aming2/aming1/aminglinux/2/
aminglinux/aming2/aming1/aminglinux/2/2.txt
aminglinux/aming1/
aminglinux/aming1/2.txt
3.txt
4.txt
tar 在打包的时候是可以压缩的,bzip2 示例:
[root@sc d6z]# tar -cjvf aminglinux.tar.bz2 aminglinux 3.txt 4.txt 
aminglinux/
aminglinux/2/
aminglinux/2/4.txt
aminglinux/aming2/
aminglinux/aming2/2/
aminglinux/aming2/2/2.txt
aminglinux/aming2/aming1/
aminglinux/aming2/aming1/2/
aminglinux/aming2/aming1/2/2.txt
aminglinux/aming2/aming1/aminglinux/
aminglinux/aming2/aming1/aminglinux/2/
aminglinux/aming2/aming1/aminglinux/2/2.txt
aminglinux/aming1/
aminglinux/aming1/2.txt
3.txt
4.txt
[root@sc d6z]# du -sh aminglinux.tar.bz2 
320K	aminglinux.tar.bz2
[root@sc d6z]# du -sh aminglinux 3.txt 4.txt 
1.3M	aminglinux
1.3M	3.txt
1.3M	4.txt
tar 在打包的时候是可以压缩的,bzip2 解压包 示例:
[root@sc d6z]# tar -xjvf aminglinux.tar.bz2 
aminglinux/
aminglinux/2/
aminglinux/2/4.txt
aminglinux/aming2/
aminglinux/aming2/2/
aminglinux/aming2/2/2.txt
aminglinux/aming2/aming1/
aminglinux/aming2/aming1/2/
aminglinux/aming2/aming1/2/2.txt
aminglinux/aming2/aming1/aminglinux/
aminglinux/aming2/aming1/aminglinux/2/
aminglinux/aming2/aming1/aminglinux/2/2.txt
aminglinux/aming1/
aminglinux/aming1/2.txt
3.txt
4.txt
tar 在打包的时候是可以压缩的,xz 示例:
[root@sc d6z]# tar -cJvf aminglinux.tar.xz aminglinux 3.txt 4.txt 
aminglinux/
aminglinux/2/
aminglinux/2/4.txt
aminglinux/aming2/
aminglinux/aming2/2/
aminglinux/aming2/2/2.txt
aminglinux/aming2/aming1/
aminglinux/aming2/aming1/2/
aminglinux/aming2/aming1/2/2.txt
aminglinux/aming2/aming1/aminglinux/
aminglinux/aming2/aming1/aminglinux/2/
aminglinux/aming2/aming1/aminglinux/2/2.txt
aminglinux/aming1/
aminglinux/aming1/2.txt
3.txt
4.txt
[root@sc d6z]# du -sh aminglinux.tar.xz 
48K	aminglinux.tar.xz
[root@sc d6z]# du -sh aminglinux 3.txt 4.txt 
1.3M	aminglinux
1.3M	3.txt
1.3M	4.txt
tar 在打包的时候是可以压缩的,xz 解压包 示例:
[root@sc d6z]# tar -xJvf aminglinux.tar.xz 
aminglinux/
aminglinux/2/
aminglinux/2/4.txt
aminglinux/aming2/
aminglinux/aming2/2/
aminglinux/aming2/2/2.txt
aminglinux/aming2/aming1/
aminglinux/aming2/aming1/2/
aminglinux/aming2/aming1/2/2.txt
aminglinux/aming2/aming1/aminglinux/
aminglinux/aming2/aming1/aminglinux/2/
aminglinux/aming2/aming1/aminglinux/2/2.txt
aminglinux/aming1/
aminglinux/aming1/2.txt
3.txt
4.txt
tar -tf 查看文件列表:
[root@sc d6z]# tar -tf aminglinux.tar.gz 
aminglinux/
aminglinux/2/
aminglinux/2/4.txt
aminglinux/aming2/
aminglinux/aming2/2/
aminglinux/aming2/2/2.txt
aminglinux/aming2/aming1/
aminglinux/aming2/aming1/2/
aminglinux/aming2/aming1/2/2.txt
aminglinux/aming2/aming1/aminglinux/
aminglinux/aming2/aming1/aminglinux/2/
aminglinux/aming2/aming1/aminglinux/2/2.txt
aminglinux/aming1/
aminglinux/aming1/2.txt
3.txt
4.txt
[root@sc d6z]# tar -tf aminglinux.tar.bz2 
aminglinux/
aminglinux/2/
aminglinux/2/4.txt
aminglinux/aming2/
aminglinux/aming2/2/
aminglinux/aming2/2/2.txt
aminglinux/aming2/aming1/
aminglinux/aming2/aming1/2/
aminglinux/aming2/aming1/2/2.txt
aminglinux/aming2/aming1/aminglinux/
aminglinux/aming2/aming1/aminglinux/2/
aminglinux/aming2/aming1/aminglinux/2/2.txt
aminglinux/aming1/
aminglinux/aming1/2.txt
3.txt
4.txt
[root@sc d6z]# tar -tf aminglinux.tar.xz 
aminglinux/
aminglinux/2/
aminglinux/2/4.txt
aminglinux/aming2/
aminglinux/aming2/2/
aminglinux/aming2/2/2.txt
aminglinux/aming2/aming1/
aminglinux/aming2/aming1/2/
aminglinux/aming2/aming1/2/2.txt
aminglinux/aming2/aming1/aminglinux/
aminglinux/aming2/aming1/aminglinux/2/
aminglinux/aming2/aming1/aminglinux/2/2.txt
aminglinux/aming1/
aminglinux/aming1/2.txt
3.txt
4.txt

猜你喜欢

转载自blog.csdn.net/weixin_44816331/article/details/88843047