linux tar命令的使用

2021-08-20 19:00:49 字數 2792 閱讀 2087

tar命令

上次的壓縮命令大多只能對單一的檔案進行壓縮,對目錄卻無能為力,雖然 gzip, bzip2, xz 也能夠針對目錄來進行壓縮不過, 這幾個指令對目錄的壓縮指的是「將目錄內的所有檔案 「分別」 進行壓縮」的動作。在windows 的系統,可以使用類似 winrar 這一類的壓縮軟體來將好多資料「包成乙個檔案」的樣式。不過在linux中,也存在將很多個檔案,目錄打包成乙個大檔案,也就是打包指令,那就是神奇的tar,同時還可以通過 gzip/bzip2/xz 的支援,將該檔案同時進行壓縮。

tar的命令實在太多,以下只說一下常用的幾個,其他的可以在linux上找man來解決。

用法:先看一下引數:

-c :建立打包檔案,可搭配 -v 來察看過程中被打包的檔名(filename)

-t :察看打包檔案的內容含有哪些檔名,重點在察看「檔名」就是了;

-x :解打包或解壓縮的功能,可以搭配 -c (大寫) 在特定目錄解開

特別留意的是, -c, -t, -x 不可同時出現在一串命令列中。

以上三個是與打包解包相關的命令,命令串中只能出現其中乙個。

-z :通過 gzip 的支援進行壓縮/解壓縮:此時檔名最好為 *.tar.gz

-j :通過 bzip2 的支援進行壓縮/解壓縮:此時檔名最好為 *.tar.bz2

-j :通過 xz的支援進行壓縮/解壓縮:此時檔名最好為 *.tar.xz

特別留意, -z, -j, -j 不可以同時出現在一串命令列中

以上三個引數是壓縮時選用的哪種壓縮方式,壓縮指令引數只能有乙個。

-v :在壓縮/解壓縮的過程中,將正在處理的檔名顯示出來!

-f filename:-f 後面要立刻接要被處理的檔名!建議 -f 單獨寫乙個選項囉!(比較不會忘記)

-c 目錄:這個選項用在解壓縮,若要在特定目錄解壓縮,可以使用這個選項。

-p(小寫) :保留備份資料的原本許可權與屬性,常用於備份(-c)重要的配置檔案

-p(大寫) :保留絕對路徑,亦即允許備份資料中含有根目錄存在之意;

打包:tar -cv -f filename.tar 要打包的檔案1 要打包的檔案2 要打包的目錄

root@localhost:/tmp# tar -cvf many.tar test.txt test2.txt direc

test.txt

test2.txt

direc/

以上命令的意思是將test.txt test2.txt 檔案,direc目錄打包在一起名字叫many.tar,注意這只是打包,並沒有壓縮,c的意思是將檔案打包,v是打包的過程中顯示檔名,f後是打包之後的名字。注意f要跟其他引數放一起時只能放在最後。

壓縮:上面說了打包的命令,接下來只要加乙個引數即可進行壓縮

tar -c[zjj]v -f filename.tar

-z

root@localhost:/tmp# tar -czvf many.tar.gz test.txt test2.txt direc

test.txt

test2.txt

direc/

root@localhost:/tmp# ls -l

-rw-r--r-- 1 root root 240 6月 15 15:59 many.tar.gz

-j

root@localhost:/tmp# tar -cjvf many.tar.bz2 test.txt test2.txt direc

test.txt

test2.txt

direc/

root@localhost:/tmp# ls -l

-rw-r--r-- 1 root root 251 6月 15 16:01 many.tar.bz2

-j

root@localhost:/tmp# tar -cjvf many.tar.xz test.txt test2.txt direc

test.txt

test2.txt

direc/

root@localhost:/tmp# ls -l

-rw-r--r-- 1 root root 268 6月 15 16:03 many.tar.xz

解壓:

解壓縮:tar -x[zjj]v -f filename.tar.bz2 -c 欲解壓縮的目錄,與壓縮不一樣,c換成了x,x是將打的包解開與c是相反的意思。中括號中的引數根據壓縮時引數進行選擇,只能選擇乙個

以j示例:

root@localhost:/tmp# tar -xjvf many.tar.xz

test.txt

test2.txt

direc/

小結:

總結*.tar 用 tar -xvf 解包-未壓縮

*.gz 用 gzip -d或者gunzip 解壓(未被打包的檔案)

.tar.gz和*.tgz 用 tar -xvzf 解壓,解壓的出的檔案一一列出。

*.bz2 用 bzip2 -d或者用bunzip2 解壓(未被打包的檔案)

*.tar.bz2用tar -xvjf 解壓,解壓的出的檔案一一列出

*.z 用 uncompress 解壓

*.tar.z 用tar -xvzf 解壓

*.rar 用 unrar e解壓

*.zip 用 unzip 解壓

*.tar.xz用tar -xvjf來解壓,解壓的出的檔案一一列出

*.xz 用xz -d 來解壓

tar的神奇之處有很多,不懂就問man

linux tar命令使用詳解

linux下最常用的打包程式就是tar了,使用tar程式打出來的包我們常稱為tar包,tar包檔案的命令通常都是以.tar結尾的。生成tar包後,就可以用其它的程式來進行壓縮了,所以首先就來講講tar命令的基本用法 tar命令的選項有很多 用man tar可以檢視到 但常用的就那麼幾個選項,下面來舉...

linux tar命令使用詳解

linux下最常用的打包程式就是tar了,使用tar程式打出來的包我們常稱為tar包,tar包檔案的命令通常都是以.tar結尾的。生成tar包後,就可以用其它的程式來進行壓縮了,所以首先就來講講tar命令的基本用法 tar命令的選項有很多 用man tar可以檢視到 但常用的就那麼幾個選項,下面來舉...

linux tar命令簡單使用

touch file1 touch file2 mkdir dir1 touch dir1 file3 普通tar文件 tar cf tar file.tar file1 file2 dir1 壓縮的tar文件 使用gnuzip演算法 tar czf tgz file.tgz file1 file2...