Linux tar 命令[轉]

來源:互聯網
上載者:User

標籤:

一、使用介紹1、名詞區分

打包:將一大堆檔案或目錄變成一個總的檔案【tar命令】

壓縮:將一個大的檔案通過一些壓縮演算法變成一個小檔案【gzip,bzip2等】

Linux中很多壓縮程式只能針對一個檔案進行壓縮,這樣當你想要壓縮一大堆檔案時,你得將這一大堆檔案先打成一個包(tar命令),然後再用壓縮程式進行壓縮(gzip bzip2命令)。

2、tar文法

文法:tar [主選項+輔選項] 檔案或目錄

使用該命令時,主選項必須有,它告訴tar要做什麼事情,輔選項是輔助使用的,可以選用。

主選項:【一條命令以下5個參數只能有一個】

-c: --create 建立一個壓縮文檔,即打包

-x: --extract,--get解壓檔案

-t: --list,查看壓縮文檔裡的所有內容

-r:--append 向壓縮文檔裡追加檔案

-u:--update 更新原壓縮包中的檔案

輔助選項:

-z:是否同時具有gzip的屬性?即是否需要用gzip壓縮或解壓?一般格式為xxx.tar.gz或xx.tgz

-j:是否同時具有bzip2的屬性?即是否需要用bzip2壓縮或解壓?一般格式為xx.tar.bz2

-v:顯示操作過程!這個參數很常用

-f:使用文檔名,注意,在f之後要立即接文檔名,不要再加其他參數!

-C:切換到指定目錄

--exclude FILE:在壓縮過程中,不要將FILE打包

二、例子1、打包

習慣上以.tar尾碼代表tar包,用xxx.tar.gz或.tgz代表gzip壓縮過的tar檔案,用.tar.bz2代表bzip2壓縮過的tar檔案。

將img1和img2兩個檔案夾打包成img.tar,僅打包不壓縮

[email protected]:~/test$ tar -cvf img.tar img1 img2img1/img1/102.pngimg1/101.pngimg1/100.pngimg2/img2/105.pngimg2/104.pngimg2/103.png[email protected]:~/test$ lsimg1  img2  img.tar

將img1和img2兩個檔案夾打包成img.tar.gz,打包後,以gzip壓縮

[email protected]:~/test$ tar -zcvf img.tar.gz img1 img2img1/img1/102.pngimg1/101.pngimg1/100.pngimg2/img2/105.pngimg2/104.pngimg2/103.png[email protected]:~/test$ lsimg1  img2  img.tar  img.tar.gz

將img1和img2兩個檔案夾打包成img.tar.bz2,打包後,以bzip2來壓縮

[email protected]:~/test$ tar -jcvf img.tar.bz2 img1 img2img1/img1/102.pngimg1/101.pngimg1/100.pngimg2/img2/105.pngimg2/104.pngimg2/103.png[email protected]:~/test$ lsimg1  img2  img.tar  img.tar.bz2  img.tar.gz
2、不解壓的情況下查看

查看img.tar中的所有內容

[email protected]:~/test$ tar -tf img.tarimg1/img1/102.pngimg1/101.pngimg1/100.pngimg2/img2/105.pngimg2/104.pngimg2/103.png

查看img.tar.gz的所有內容

加-v參數查看詳細資料,-z可有可無

[email protected]:~/test$ tar -tf img.tar.gzimg1/img1/102.pngimg1/101.pngimg1/100.pngimg2/img2/105.pngimg2/104.pngimg2/103.png[email protected]:~/test$ tar -ztf img.tar.gzimg1/img1/102.pngimg1/101.pngimg1/100.pngimg2/img2/105.pngimg2/104.pngimg2/103.png[email protected]:~/test$ tar -ztvf img.tar.gzdrwxrwxr-x liuxiaoyan/liuxiaoyan 0 2015-05-20 22:09 img1/-rw-r--r-- liuxiaoyan/liuxiaoyan 1952 2015-05-20 22:08 img1/102.png-rw-r--r-- liuxiaoyan/liuxiaoyan 2344 2015-05-20 22:08 img1/101.png-rw-r--r-- liuxiaoyan/liuxiaoyan 1995 2015-05-20 22:09 img1/100.pngdrwxrwxr-x liuxiaoyan/liuxiaoyan    0 2015-05-20 22:10 img2/-rw-r--r-- liuxiaoyan/liuxiaoyan 1922 2015-05-20 22:09 img2/105.png-rw-r--r-- liuxiaoyan/liuxiaoyan 1546 2015-05-20 22:08 img2/104.png-rw-r--r-- liuxiaoyan/liuxiaoyan 2033 2015-05-20 22:08 img2/103.png

查看img.tar.bz2內容

加-v參數查看詳細資料,-j可有可無

[email protected]:~/test$ tar -tf img.tar.bz2 img1/img1/102.pngimg1/101.pngimg1/100.pngimg2/img2/105.pngimg2/104.pngimg2/103.png[email protected]:~/test$ tar -jtf img.tar.bz2  img1/img1/102.pngimg1/101.pngimg1/100.pngimg2/img2/105.pngimg2/104.pngimg2/103.png[email protected]:~/test$ tar -jtvf img.tar.bz2 drwxrwxr-x liuxiaoyan/liuxiaoyan 0 2015-05-20 22:09 img1/-rw-r--r-- liuxiaoyan/liuxiaoyan 1952 2015-05-20 22:08 img1/102.png-rw-r--r-- liuxiaoyan/liuxiaoyan 2344 2015-05-20 22:08 img1/101.png-rw-r--r-- liuxiaoyan/liuxiaoyan 1995 2015-05-20 22:09 img1/100.pngdrwxrwxr-x liuxiaoyan/liuxiaoyan    0 2015-05-20 22:10 img2/-rw-r--r-- liuxiaoyan/liuxiaoyan 1922 2015-05-20 22:09 img2/105.png-rw-r--r-- liuxiaoyan/liuxiaoyan 1546 2015-05-20 22:08 img2/104.png-rw-r--r-- liuxiaoyan/liuxiaoyan 2033 2015-05-20 22:08 img2/103.png
3、解壓

將img.tar減壓到temp目錄

[email protected]:~/test$ cd temp/[email protected]:~/test/temp$ ls[email protected]:~/test/temp$ tar -xf ../img.tar[email protected]:~/test/temp$ lsimg1  img2

只減壓img.tar中的img1

[email protected]:~/test/temp$ tar -xf ../img.tar img1[email protected]:~/test/temp$ lsimg1
4、更新

現在給movies檔案下建立一個檔案movie2.txt,然後更新enjoy.tar

$ tar -cf img.tar img1 img2給img1增加了一張照片,現在用下面命令更新img.tar$ tar -uf img.tar img1
5、追加
$ tar -cf img.tar img1 img2
img.tar裡追加一個檔案夾img3$ tar -rf img.tar img3
6、-C參數

-C(大C參數很有用,改變檔案目錄,多層時用)  -C, --directory=DIR        change to directory DIR

使用了-C參數改變目錄為-C後面 目錄,不管是在打包還是解壓都很有用。

用法:tar temp.tar file -C fileDir

$ cd temp$ lsimg1  img2  img3$ tar -cf img.tar temp/*這樣打包會將temp目錄也打包進去,使用下面帶有-C參數的命令可以去掉路徑資訊
$ tar -cf img.tar * -C temp

 解壓img.tar到目前的目錄下的temp目錄

$ tar -xf img.tar -C temp
三、解壓方法總結

1、*.tar 用 tar –xvf 解壓

2、*.gz 用 gzip -d或者gunzip 解壓

3、*.tar.gz和*.tgz 用 tar –xzf 解壓

4、*.bz2 用 bzip2 -d或者用bunzip2 解壓

5、*.tar.bz2用tar –xjf 解壓

6、*.Z 用 uncompress 解壓

7、*.tar.Z 用tar –xZf 解壓

8、*.rar 用 unrar x 解壓

9、*.zip 用 unzip 解壓

使用unrar注意

先安裝unrar,使用unrar不帶參數運行一下就可以看到協助資訊。

如果一個檔案s.rar,裡面有1000首歌,用e參數,就直接把1000首歌全減壓出來到目前的目錄。

如果是x參數,解壓後,所有內容都放在同名的檔案夾裡面。

資源連結:

Linux常用命令之壓縮打包篇(gzip、gunzip、tar、zip、bzip2)

每天一個linux命令(28):tar命令 

 

轉載http://www.cnblogs.com/starof/p/4229017.html

Linux tar 命令[轉]

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.