溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

linux中的tar命令有什么用

發(fā)布時(shí)間:2021-07-01 10:02:30 來(lái)源:億速云 閱讀:253 作者:小新 欄目:開(kāi)發(fā)技術(shù)

這篇文章給大家分享的是有關(guān)linux中的tar命令有什么用的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

一、使用介紹

tar命令用來(lái)打包,解包和壓縮。

1、名詞區(qū)分

打包:將一大堆文件或目錄變成一個(gè)總的文件【tar命令】

壓縮:將一個(gè)大的文件通過(guò)一些壓縮算法變成一個(gè)小文件【gzip,bzip2等】

Linux中很多壓縮程序只能針對(duì)一個(gè)文件進(jìn)行壓縮,這樣當(dāng)你想要壓縮一大堆文件時(shí),你得將這一大堆文件先打成一個(gè)包(tar命令),然后再用壓縮程序進(jìn)行壓縮(gzip bzip2命令)。

2、tar語(yǔ)法

語(yǔ)法:tar [主選項(xiàng)+輔選項(xiàng)] 文件或目錄

使用該命令時(shí),主選項(xiàng)必須有,它告訴tar要做什么事情,輔選項(xiàng)是輔助使用的,可以選用。

主選項(xiàng):【一條命令以下5個(gè)參數(shù)只能有一個(gè)】

-c: --create 新建一個(gè)壓縮文檔,即打包

-x: --extract,--get解壓文件

-t: --list,查看壓縮文檔里的所有內(nèi)容

-r:--append 向壓縮文檔里追加文件

-u:--update 更新原壓縮包中的文件

輔助選項(xiàng):

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

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

-v:顯示操作過(guò)程!這個(gè)參數(shù)很常用

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

-C:切換到指定目錄

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

二、例子

1、打包

習(xí)慣上以.tar后綴代表tar包,用xxx.tar.gz或.tgz代表gzip壓縮過(guò)的tar文件,用.tar.bz2代表bzip2壓縮過(guò)的tar文件。

將img1和img2兩個(gè)文件夾打包成img.tar,僅打包不壓縮

liuxiaoyan@development:~/test$ tar -cvf img.tar img1 img2

img1/
img1/102.png
img1/101.png
img1/100.png
img2/
img2/105.png
img2/104.png
img2/103.png
liuxiaoyan@development:~/test$ ls
img1 img2 img.tar

將img1和img2兩個(gè)文件夾打包成img.tar.gz,打包后,以gzip壓縮

liuxiaoyan@development:~/test$ tar -zcvf img.tar.gz img1 img2
img1/
img1/102.png
img1/101.png
img1/100.png
img2/
img2/105.png
img2/104.png
img2/103.png
liuxiaoyan@development:~/test$ ls
img1 img2 img.tar img.tar.gz

將img1和img2兩個(gè)文件夾打包成img.tar.bz2,打包后,以bzip2來(lái)壓縮

liuxiaoyan@development:~/test$ tar -jcvf img.tar.bz2 img1 img2
img1/
img1/102.png
img1/101.png
img1/100.png
img2/
img2/105.png
img2/104.png
img2/103.png
liuxiaoyan@development:~/test$ ls
img1 img2 img.tar img.tar.bz2 img.tar.gz

2、不解壓的情況下查看

查看img.tar中的所有內(nèi)容

liuxiaoyan@development:~/test$ tar -tf img.tar
img1/
img1/102.png
img1/101.png
img1/100.png
img2/
img2/105.png
img2/104.png
img2/103.png

查看img.tar.gz的所有內(nèi)容

加-v參數(shù)查看詳細(xì)信息,-z可有可無(wú)

liuxiaoyan@development:~/test$ tar -tf img.tar.gz
img1/
img1/102.png
img1/101.png
img1/100.png
img2/
img2/105.png
img2/104.png
img2/103.png
liuxiaoyan@development:~/test$ tar -ztf img.tar.gz
img1/
img1/102.png
img1/101.png
img1/100.png
img2/
img2/105.png
img2/104.png
img2/103.png
liuxiaoyan@development:~/test$ tar -ztvf img.tar.gz
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.png
drwxrwxr-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內(nèi)容

加-v參數(shù)查看詳細(xì)信息,-j可有可無(wú)

liuxiaoyan@development:~/test$ tar -tf img.tar.bz2 
img1/
img1/102.png
img1/101.png
img1/100.png
img2/
img2/105.png
img2/104.png
img2/103.png
liuxiaoyan@development:~/test$ tar -jtf img.tar.bz2 
img1/
img1/102.png
img1/101.png
img1/100.png
img2/
img2/105.png
img2/104.png
img2/103.png
liuxiaoyan@development:~/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.png
drwxrwxr-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目錄

liuxiaoyan@development:~/test$ cd temp/
liuxiaoyan@development:~/test/temp$ ls
liuxiaoyan@development:~/test/temp$ tar -xf ../img.tar
liuxiaoyan@development:~/test/temp$ ls
img1 img2

只減壓img.tar中的img1

liuxiaoyan@development:~/test/temp$ tar -xf ../img.tar img1
liuxiaoyan@development:~/test/temp$ ls
img1

4、更新

現(xiàn)在給movies文件下新建一個(gè)文件movie2.txt,然后更新enjoy.tar

$ tar -cf img.tar img1 img2

給img1增加了一張照片,現(xiàn)在用下面命令更新img.tar

$ tar -uf img.tar img1

5、追加

$ tar -cf img.tar img1 img2
img.tar里追加一個(gè)文件夾img3
$ tar -rf img.tar img3

6、-C參數(shù)

-C(大C參數(shù)很有用,改變文件目錄,多層時(shí)用)  -C, --directory=DIR        change to directory DIR

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

用法:

tar temp.tar file -C fileDir
$ cd temp
$ ls
img1 img2 img3
$ tar -cf img.tar temp/*

這樣打包會(huì)將temp目錄也打包進(jìn)去,使用下面帶有-C參數(shù)的命令可以去掉路徑信息

$ tar -cf img.tar * -C temp

解壓img.tar到當(dāng)前目錄下的temp目錄

$ tar -xf img.tar -C temp

三、解壓方法總結(jié)

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不帶參數(shù)運(yùn)行一下就可以看到幫助信息。

如果一個(gè)文件s.rar,里面有1000首歌,用e參數(shù),就直接把1000首歌全減壓出來(lái)到當(dāng)前目錄。

如果是x參數(shù),解壓后,所有內(nèi)容都放在同名的文件夾里面。

感謝各位的閱讀!關(guān)于“l(fā)inux中的tar命令有什么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI