Linux之tar打包壓縮命令

前言:數組

    tar命令自己沒有壓縮功能的,它只是把多個文件或目錄打包成一個文件,而且打包出來的文件的大小比原來文件大小的總和還要大,這樣會大大浪費咱們的磁盤空間,在工做環境中這也不是咱們想要的。想要把多個文件或目錄打包成一個文件 而且進行壓縮,這時,咱們能夠用tar命令與壓縮命令相結合使用。在工做實踐中tar命令一般與gzip和bzip2兩種壓縮格式相結合使用。
bash

一、tar命令經常使用參數ide

參數 含義
j bzip2壓縮格式
z gzip壓縮格式
c 建立一個新歸檔
x 解除歸檔中的文件
v 詳細輸出
f 文件
t 列出歸檔內容
C 指定解壓目錄
X或--exclude 排除打包

二、bzip2壓縮格式spa

命令格式:orm

                一、壓縮命令: tar jcvf  xxx.tar.bz2  [file or directory]
ip

                二、解壓命令: tar jxvf  xxx.tar.bz2   -C  解壓出來的文件所要存放的目錄
it

實戰案例:table

########壓縮########
[root@vms001 tar]# ls
001.txt  003.txt  005.txt    oldboy-02  oldboy.tar.bzip2  wahaha-0002
002.txt  004.txt  oldboy-01  oldboy-03  wahaha-0001       wahaha-0003
[root@vms001 tar]# rm -f oldboy.tar.bzip2 
[root@vms001 tar]# 
[root@vms001 tar]# tar jcvf oldboy.tar.bz2 *
001.txt
002.txt
003.txt
004.txt
005.txt
oldboy-01
oldboy-02
oldboy-03
wahaha-0001/
wahaha-0001/passwd
wahaha-0002/
wahaha-0002/group
wahaha-0003/
wahaha-0003/services
[root@vms001 tar]# ls
001.txt  003.txt  005.txt    oldboy-02  oldboy.tar.bz2  wahaha-0002
002.txt  004.txt  oldboy-01  oldboy-03  wahaha-0001     wahaha-0003
########解壓########
[root@vms001 tar]# ls
001.txt  003.txt  005.txt    oldboy-02  oldboy.tar.bz2  wahaha-0002
002.txt  004.txt  oldboy-01  oldboy-03  wahaha-0001     wahaha-0003
[root@vms001 tar]# ls /mnt/
[root@vms001 tar]# tar jxvf oldboy.tar.bz2 -C /mnt/   #-C 指定解壓存放目錄
001.txt
002.txt
003.txt
004.txt
005.txt
oldboy-01
oldboy-02
oldboy-03
wahaha-0001/
wahaha-0001/passwd
wahaha-0002/
wahaha-0002/group
wahaha-0003/
wahaha-0003/services
[root@vms001 tar]# ls /mnt/
001.txt  003.txt  005.txt    oldboy-02  wahaha-0001  wahaha-0003
002.txt  004.txt  oldboy-01  oldboy-03  wahaha-0002

三、gzip壓縮格式class

命令格式:打包

                一、壓縮命令:tar  zcvf   xxx.tar.gz   [file or directory]

                二、解壓命令:tar  zxvf   xxx.tar.gz   -C  解壓存放目錄路徑

實戰案例:

###########壓縮###########
[root@vms001 tar]# ls
001.txt  003.txt  005.txt    oldboy-02  oldboy.tar.bz2  wahaha-0002
002.txt  004.txt  oldboy-01  oldboy-03  wahaha-0001     wahaha-0003
[root@vms001 tar]# tar zcvf oldboy_gzip.tar.gz *
001.txt
002.txt
003.txt
004.txt
005.txt
oldboy-01
oldboy-02
oldboy-03
oldboy.tar.bz2
wahaha-0001/
wahaha-0001/passwd
wahaha-0002/
wahaha-0002/group
wahaha-0003/
wahaha-0003/services
[root@vms001 tar]# ls
001.txt  004.txt    oldboy-02           oldboy.tar.bz2  wahaha-0003
002.txt  005.txt    oldboy-03           wahaha-0001
003.txt  oldboy-01  oldboy_gzip.tar.gz  wahaha-0002
###########解壓###########
[root@vms001 tar]# ls
001.txt  004.txt    oldboy-02           oldboy.tar.bz2  wahaha-0003
002.txt  005.txt    oldboy-03           wahaha-0001
003.txt  oldboy-01  oldboy_gzip.tar.gz  wahaha-0002
[root@vms001 tar]# ls /mnt/
[root@vms001 tar]# tar zxvf oldboy_gzip.tar.gz -C /mnt/
001.txt
002.txt
003.txt
004.txt
005.txt
oldboy-01
oldboy-02
oldboy-03
oldboy.tar.bz2
wahaha-0001/
wahaha-0001/passwd
wahaha-0002/
wahaha-0002/group
wahaha-0003/
wahaha-0003/services
[root@vms001 tar]# ls /mnt/
001.txt  003.txt  005.txt    oldboy-02  oldboy.tar.bz2  wahaha-0002
002.txt  004.txt  oldboy-01  oldboy-03  wahaha-0001     wahaha-0003

四、排除壓縮打包

排除打包參數:

    一、--exclude

    二、X

實戰案例:

###########排除一個文件打包##########
[root@vms001 tar]# ll
總用量 0
-rw-r--r--. 1 root root 0 7月   9 16:19 001.txt
-rw-r--r--. 1 root root 0 7月   9 16:19 002.txt
-rw-r--r--. 1 root root 0 7月   9 16:19 003.txt
-rw-r--r--. 1 root root 0 7月   9 16:19 004.txt
-rw-r--r--. 1 root root 0 7月   9 16:19 005.txt
[root@vms001 tar]# tar jcvf txt.tar.bz2 ./* --exclude=./003.txt
./001.txt
./002.txt
./004.txt
./005.txt
###########排除多個文件打包##########
[root@vms001 tar]# ll
總用量 4
-rw-r--r--. 1 root root  0 7月   9 16:19 001.txt
-rw-r--r--. 1 root root  0 7月   9 16:19 002.txt
-rw-r--r--. 1 root root  0 7月   9 16:19 003.txt
-rw-r--r--. 1 root root  0 7月   9 16:19 004.txt
-rw-r--r--. 1 root root  0 7月   9 16:19 005.txt
-rw-r--r--. 1 root root 23 7月   9 16:26 aa.txt
[root@vms001 tar]# tar jcvfX txt.tar.bz2 aa.txt ./*
./001.txt
./004.txt
./005.txt
[root@vms001 tar]# cat aa.txt 
aa.txt
002.txt
003.txt

提示:當須要只排除一個文件打包時,能夠用--exclude參數進行排除打包。若是須要排除多個文件打包時,能夠用大寫X參數進行打包,把須要排除的文件名放在一個文件中,而後指定這個文件進行排除打包。例如,上述案例中把須要排除的文件名放在了aa.txt文件中,指定了這個文件進行了排除打包。

五、查看壓縮文件中的內容

命令格式:

                tar  tf  xxx.tar.bz2或xxx.tar.gz

實戰案例:

[root@vms001 tar]# ls
001.txt  002.txt  003.txt  004.txt  005.txt  aa.txt  txt.tar.bz2
[root@vms001 tar]# tar tf txt.tar.bz2 
./001.txt
./004.txt
./005.txt

六、總結

參數組合:

一、bzip2壓縮格式:

      壓縮:jcvf

      解壓:jxvf

二、gzip壓縮格式:

     壓縮:zcvf

     解壓:zxvf

三、查看壓縮文件內容:

     tf

排除打包參數:

一、--exclude

二、X

相關文章
相關標籤/搜索