预习内容:
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不能压缩目录,只能压缩文件
这个 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