tar 命令非常好用的一个功能就是可以在打包时直接压缩,支持 gzip 压缩、bzip2 压缩和 xz 压缩
打包的同时使用 gzip 压缩
使用 -z 选项,可以压缩成 gzip 格式的文件
[root@evan-01 evan1]# ll
total 410420
-rw-r--r--. 1 root root 209715200 Aug 21 14:30 big2.txt
-rw-r--r--. 1 root root 203695 Aug 22 17:18 big2.txt.zip
-rw-r--r--. 1 root root 209715200 Aug 21 14:52 big3.txt
-rw-r--r--. 1 root root 611377 Aug 22 17:45 big3.zip
-rw-r--r--. 1 root root 209715200 Aug 22 17:07 big4.txt
-rw-r--r--. 1 root root 177 Aug 21 11:50 big.txt.bz2
drwxr-xr-x. 3 root root 33 Aug 22 17:48 testdir
drwxr-xr-x. 3 root root 37 Aug 22 17:54 testdir2
-rw-r--r--. 1 root root 10240 Sep 4 15:19 testdir.tar
[root@evan-01 evan1]# tar -zcvf testdir.tar.gz testdir big2.txt big3.txt
testdir/
testdir/one/
testdir/one/big3.txt
testdir/big4.txt
big2.txt
big3.txt
[root@evan-01 evan1]# du -sh testdir.tar.gz
796K testdir.tar.gz
[root@evan-01 evan1]#
解压 .tar.gz 格式的压缩包
[root@evan-01 evan1]# tar -zxvf testdir.tar.gz
testdir/
testdir/one/
testdir/one/big3.txt
testdir/big4.txt
big2.txt
big3.txt
[root@evan-01 evan1]#
打包的同时使用 bzip2 压缩
使用 -j 选项,可以压缩成 bzip2 格式的文件
[root@evan-01 evan1]# tar -jcvf testdir.tar.bz2 testdir big2.txt big3.txt
testdir/
testdir/one/
testdir/one/big3.txt
testdir/big4.txt
big2.txt
big3.txt
[root@evan-01 evan1]# du -sh testdir.tar.bz2
4.0K testdir.tar.bz2
[root@evan-01 evan1]#
解压 .tar.bz2 格式的压缩包
[root@evan-01 evan1]# tar -jxvf testdir.tar.bz2
testdir/
testdir/one/
testdir/one/big3.txt
testdir/big4.txt
big2.txt
big3.txt
[root@evan-01 evan1]#
打包的同时使用 xz 压缩
使用 -J 选项,可以压缩成 xz 格式的文件
[root@evan-01 evan1]# tar -Jcvf testdir.tar.xz testdir big2.txt big3.txt
testdir/
testdir/one/
testdir/one/big3.txt
testdir/big4.txt
big2.txt
big3.txt
[root@evan-01 evan1]# du -sh testdir.tar.xz
120K testdir.tar.xz
[root@evan-01 evan1]#
解压 .tar.xz 格式的压缩包
[root@evan-01 evan1]# tar -Jxvf testdir.tar.xz
testdir/
testdir/one/
testdir/one/big3.txt
testdir/big4.txt
big2.txt
big3.txt
[root@evan-01 evan1]#
-tf 查看文件列表
[root@evan-01 evan1]# tar -tf testdir.tar.gz
testdir/
testdir/one/
testdir/one/big3.txt
testdir/big4.txt
big2.txt
big3.txt
[root@evan-01 evan1]# tar -tf testdir.tar.bz2
testdir/
testdir/one/
testdir/one/big3.txt
testdir/big4.txt
big2.txt
big3.txt
[root@evan-01 evan1]# tar -tf testdir.tar.xz
testdir/
testdir/one/
testdir/one/big3.txt
testdir/big4.txt
big2.txt
big3.txt
[root@evan-01 evan1]#