本文由秀依林楓提供友情贊助,首發于爛泥行天下。
tar命令一般是做打包和解壓使用,有關tar命令的使用。我們可以通過幫助文檔進行查看,如下:
tar –help
man tar
tar有幾個比較重要的參數如下:
-c 創建一個新歸檔
-f 當與-c選項一起使用時,創建的tar文件使用該選項的指定的文件名;當與-x選項一起使用時,則解包該選項指定的歸檔。該參數一定放在所有參數的最后面。
-t 顯示tar文件中的文件列表
-v 顯示歸檔或解檔的進度
-z 使用gzip來壓縮tar文件
-j 使用bzip2來壓縮tar文件
-x 解壓tar壓縮包,
-C 解壓到新的目錄,該命令是大寫。
-p 保留備份數據的原本權限和屬性
以上命令需要特別注意-c、-t、-x不能在一個命令中同時出現。
現在我們先來講解tar打包的使用方法。注意在此我們全部以gzip格式的文件為例,如果是bzip文件把參數-z修改為-j即可。
將ilanni目錄進行打包,打包后的文件為ilanni.tar.gz,并將打包后存放到/testtar目錄下:
tar -cvzf /testtar/ilanni.tar.gz ilanni
或者
tar -czf /testtar/ilanni.tar.gz ilanni
其中參數-v是可有可無。
通過上述兩張圖片我們可以看出,已經打包成功。剛剛是把本地的文件打包到其他目錄,如果把A目錄下的文件打包到B目錄如下:
tar -czf /testtar/tar.tar.gz /tar
該條命令的作用是把/tar目錄進行打包,打包完成后以tar.tar.gz命名文件存放到/testtar目錄下。
以上都是在同一臺服務器上進行的,如果我想把本地的文件打包后,上傳到另外一臺服務器上。操作如下:
ssh root@192.168.1.102 tar -czf /ks/tar.tar.gz /tar/
該條命令的意思是把/tar目錄打包到192.168.1.102服務器的/ks目錄下。
通過上述兩張截圖,我們可以看到已經成功的把/tar打包到192.168.1.102服務器的/ks目錄下。
上面是對目錄進行打包,如果是對單獨的文件進行打包也很簡單。我們來測試下,如果兩個文件在不同的目錄,打包到一個壓縮包中。如下
tar -zvcf test.tar.gz ./tftp.txt ./ilanni/iso.txt
tar -tvf test.tar.gz
通過上面這張截圖,我們可以很清楚的看出。我們現在已經把當前目錄下的tftp.txt文件和該目錄下的ilanni目錄下的iso.txt文件打包到同一個壓縮包中。
以上是有關tar打包的相關使用方法。下面我們來介紹使用tar解壓壓縮包的方法。按照網絡上的說法對于不同的壓縮包比如gzip壓縮包和bzip2壓縮包,我們再解壓時,要使用不同的命令。
對于gzip壓縮包,使用tar –zxf ilanni.tar.gz解壓。對于bzip壓縮包,使用tar –jxf ks.bz2解壓。
其實根本沒有那個必要,只要是tar壓縮包,我們直接使用tar –xf進行解壓即可。如下:
tar -xf ilanni.tar.gz
tar -xf ks.bz2
通過上圖,我們可以看到只要是tar壓縮包的解壓我們就可以直接使用tar -xf進行解壓。
以上我們是把壓縮包解壓到同一目錄下,下面我們來測試下把壓縮包解壓到另外一個目錄。如下:
tar -xf ilanni.tar.gz -C /testtar/
該條命令的意思是把當前目錄下ilanni.tar.gz解壓到/testtar/目錄下。
通過上圖,我們可以看到ilanni.tar.gz已經成功的解壓到/testtar/目錄下。
以上我們解壓的是整個目錄,假如說這個壓縮包是一個文件夾的話,而里面又有很多的文件,我們現在只想把其中的一個文件解壓出來。操作如下:
先查看該壓縮包的目錄結構,使用如下命令:
tar -tvf ilanni.tar.gz
注意圖中黃色部分標記出來的ilanni/tftp.txt,我們現在就是要把tftp.txt解壓出來,其他的文件不進行解壓。而且這個路徑也要記錄下,等會解壓要使用到。
現在開始解壓,使用如下命令:
tar -xf ilanni.tar.gz ilanni/tftp.txt
可以看到現在已經把tftp.txt文件解壓出來了。
如果多個文件,但又不是全部解壓??梢允褂妙愋偷拿?。如下:
tar -xf ilanni.tar.gz ilanni/{tftp.txt,iso.txt}
通過上圖可以看到,我們現在已經只把tftp.txt和iso.txt。兩個文件解壓出來了。
到此有關tar的基本使用介紹結束。
新聞熱點
疑難解答