linux常用命令 tar

2022-10-09 07:03:10 字數 4009 閱讀 8239

通過ssh訪問伺服器,難免會要用到壓縮,解壓縮,打包,解包等,這時候tar命令就是是必不可少的乙個功能強大的工具。linux中最流行的tar是麻雀雖小,五臟俱全,功能強大。

tar命令可以為linux的檔案和目錄建立檔案。利用tar,可以為某一特定檔案建立檔案(備份檔案),也可以在檔案中改變檔案,或者向檔案中加入新的檔案。tar最初被用來在磁帶上建立檔案,現在,使用者可以在任何裝置上建立檔案。利用tar命令,可以把一大堆的檔案和目錄全部打包成乙個檔案,這對於備份檔案或將幾個檔案組合成為乙個檔案以便於網路傳輸是非常有用的。

首先要弄清兩個概念:打包和壓縮。打包是指將一大堆檔案或目錄變成乙個總的檔案;壓縮則是將乙個大的檔案通過一些壓縮演算法變成乙個小檔案。為什麼要區分這兩個概念呢?這源於linux中很多壓縮程式只能針對乙個檔案進行壓縮,這樣當你想要壓縮一大堆檔案時,你得先將這一大堆檔案先打成乙個包(tar命令),然後再用壓縮程式進行壓縮(gzip bzip2命令)。

linux下最常用的打包程式就是tar了,使用tar程式打出來的包我們常稱為tar包,tar包檔案的命令通常都是以.tar結尾的。生成tar包後,就可以用其它的程式來進行壓縮。

1.命令格式:

tar[必要引數][選擇引數][檔案]

2.命令功能:

用來壓縮和解壓檔案。tar本身不具有壓縮功能。可以呼叫壓縮功能

3.命令引數:

必要引數有如下:

-a 新增壓縮檔案到已存在的壓縮

-b 設定區塊大小

-c 建立新的壓縮檔案

-d 記錄檔案的差別

-r 新增檔案到已經壓縮的檔案

-u 新增改變了和現有的檔案到已經存在的壓縮檔案

-x 從壓縮的檔案中提取檔案

-t 顯示壓縮檔案的內容

-z 支援gzip解壓檔案

-j 支援bzip2解壓檔案

-z 支援compress解壓檔案

-v 顯示操作過程

-l 檔案系統邊界設定

-k 保留原有檔案不覆蓋

-m 保留檔案不被覆蓋

-w 確認壓縮檔案的正確性

可選引數如下:

-b 設定區塊數目

-c 切換到指定目錄

-f 指定壓縮檔案

--help 顯示幫助資訊

--version 顯示版本資訊

4.常見解壓/壓縮命令

tar 

解包:tar xvf filename.tar

打包:tar cvf filename.tar dirname

(注:tar是打包,不是壓縮!)

.gz解壓1:gunzip filename.gz

解壓2:gzip -d filename.gz

壓縮:gzip filename

.tar.gz 和 .tgz

解壓:tar zxvf filename.tar.gz

壓縮:tar zcvf filename.tar.gz dirname

.bz2

解壓1:bzip2 -d filename.bz2

解壓2:bunzip2 filename.bz2

壓縮: bzip2 -z filename

.tar.bz2

解壓:tar jxvf filename.tar.bz2

壓縮:tar jcvf filename.tar.bz2 dirname

.bz解壓1:bzip2 -d filename.bz

解壓2:bunzip2 filename.bz

壓縮:未知

.tar.bz

解壓:tar jxvf filename.tar.bz

壓縮:未知

.z解壓:uncompress filename.z

壓縮:compress filename

.tar.z

解壓:tar zxvf filename.tar.z

壓縮:tar zcvf filename.tar.z dirname

.zip

解壓:unzip filename.zip

壓縮:zip filename.zip dirname

.rar

解壓:rar x filename.rar

壓縮:rar a filename.rar dirname

5.使用例項

例項1:將檔案全部打包成tar包

命令:

tar -cvf log.tar log2012.log

tar -zcvf log.tar.gz log2012.log

tar -jcvf log.tar.bz2 log2012.log

輸出:[root@localhost test]# ls -al log2012.log

---xrw-r-- 1 root root 302108 11-13 06:03 log2012.log

[root@localhost test]# tar -cvf log.tar log2012.log

log2012.log

[root@localhost test]# tar -zcvf log.tar.gz log2012.log

log2012.log

[root@localhost test]# tar -jcvf log.tar.bz2 log2012.log

log2012.log

[root@localhost test]# ls -al *.tar*

-rw-r--r-- 1 root root 307200 11-29 17:54 log.tar

-rw-r--r-- 1 root root 1413 11-29 17:55 log.tar.bz2

-rw-r--r-- 1 root root 1413 11-29 17:54 log.tar.gz

說明:tar -cvf log.tar log2012.log 僅打包,不壓縮!

tar -zcvf log.tar.gz log2012.log 打包後,以 gzip 壓縮

tar -jcvf log.tar.bz2 log2012.log 打包後,以 bzip2 壓縮

在引數 f 之後的檔案檔名是自己取的,我們習慣上都用 .tar 來作為辨識。

如果加 z 引數,則以 .tar.gz 或 .tgz 來代表 gzip 壓縮過的 tar包;

如果加 j 引數,則以 .tar.bz2 來作為tar包名。

例項2:查閱上述 tar包內有哪些檔案

命令:

tar -ztvf log.tar.gz

輸出:[root@localhost test]# tar -ztvf log.tar.gz

---xrw-r-- root/root 302108 2012-11-13 06:03:25 log2012.log

說明:由於我們使用 gzip 壓縮的log.tar.gz,所以要查閱log.tar.gz包內的檔案時,就得要加上 z 這個引數了。

例項3:將tar 包解壓縮

命令:

tar -zxvf /opt/soft/test/log.tar.gz

輸出:[root@localhost test3]# ll

總計 0[root@localhost test3]# tar -zxvf /opt/soft/test/log.tar.gz

log2012.log

[root@localhost test3]# ls

log2012.log

[root@localhost test3]#

說明:在預設的情況下,我們可以將壓縮檔在任何地方解開的

例項4:只將 /tar 內的 部分檔案解壓出來

命令:

tar -zxvf /opt/soft/test/log30.tar.gz log2013.log

輸出:tar -ztvf *.tar.gz //查閱 tar 包內的檔名稱

tar -zxvf *.tar.gz log2013.log //解壓出單個檔案

Linux常用命令 tar

tar命令可以用來壓縮打包單檔案 多個檔案 單個目錄 多個目錄。單個檔案壓縮打包 tar czvf my.tar file1 多個檔案壓縮打包 tar czvf my.tar file1 file2,單個目錄壓縮打包 tar czvf my.tar dir1 多個目錄壓縮打包 tar czvf my...

常用命令 tar

tar命令 解壓檔案到指定目錄 tar zxvf home user aa.tar.gz c home user pf tar cxtzjvfppn 檔案與目錄 引數 c 建立乙個壓縮檔案的引數指令 create 的意思 x 解開乙個壓縮檔案的引數指令!t 檢視tarfile 裡面的檔案!特別注意,...

tar常用命令選項

tar命令 1.作用 tar命令是unix linux系統中備份檔案的可靠方法,幾乎可以工作於任何環境中,它的使用許可權是所有使用者。2.格式 tar 主選項 輔選項 檔案或目錄 3.主要引數 使用該命令時,主選項是必須要有的,它告訴tar要做什麼事情,輔選項是輔助使用的,可以選用。3.1 主選項 ...