1. 压缩打包介绍
众所周知文件压缩后所占的磁盘空间比较小,而且由于文件压缩后大小变小了所以通过网络传输时速度就更快,并且减少了网络带宽资源的占用。
在服务器机房里的网络和家用的不一样,一般服务器的网络是上下行对等的。家用网络只有下载速度快,上传速度慢,所以服务器机房的网络带宽比较昂贵,压缩文件就是节省带宽资源的方法之一。
在Linux里文件的后缀名可以任意的去自定义,但是最好还是遵循常规的格式去定义文件的后缀,这有利于方便区分、识别文件。
2. gzip压缩工具
注意:gzip 不能压缩目录,只能压缩文件
- 在 /tmp/ 下创建 d6z/ 目录,通过 find 命令把所有 .conf 结尾的文件追加到 1.txt 里
[root@sc ~]# cd /tmp/
[root@sc tmp]# cd d6z/
[root@sc d6z]# ls
#下面不断的往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
3. bzip2压缩工具
注意:bzip2 不能压缩目录,只能压缩文件
- 这个 bzip 工具比起 gzip 来说,要压缩得更狠一些,也就代表着耗费的 cpu 资源更多,而且这两个工具的压缩算法不一样。最小化安装可能没有这个工具,需要使用yum install -y bzip2 命令安装
[root@sc d6z]# yum install -y bzip2
- 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 格式的压缩文件的内容
[root@sc d6z]# bzcat 1.txt.bz2
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)
5. 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. 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
- 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
- 因为原本的文件没有被删除,所以在解压的时候会询问是否要覆盖文件,输入大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
7. 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/
8. tar打包并压缩
- 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