對於tar包、壓縮包等相關概念的深入解釋
起初tar
命令並不具備壓縮功能,其僅僅是個打包工具,因為有的時候目錄檔案是不可以在某些地方進行傳輸的,所以需要打包成乙個包檔案,還有乙個原因就是,目錄檔案是不可以直接進行壓縮的,所以需要先打包一下
後來因為傳輸需要進行壓縮,這樣一來能快速傳輸,二來可以節省空間,所以可以使用壓縮工具對包進行壓縮,產生以.gz
和.bz2
結尾的壓縮檔案
至此相當於經歷了打包和壓縮兩個步驟,但是實際應用中,總是分兩步來做就顯得有些麻煩,於是tar
命令有了引數可以使用,這些引數有:
引數作用
-c(小寫)
建立壓縮檔案
-x解開壓縮檔案
-t檢視壓縮包內有哪些檔案
-z用gzip格式壓縮或者解壓
-j(小寫)
用bzip2格式壓縮或者解壓
-j(大寫)
用xz格式進行壓縮或者解壓
-v顯示壓縮或者解壓的過程
-f目標檔名
-p(小寫)
保留原始的許可權與屬性
-p(大寫)
使用絕對路徑來壓縮
-c(大寫)
指定解壓到的目錄
其中需要額外解釋的是,-v
引數一般情況下最好加一下,因為有時候,執行壓縮或者解壓縮操作時,可能需要花費比較長的時間,如果螢幕一直沒有輸出,一方面不好判斷進度情況,另一方面也會懷疑電腦是不是宕機了。
-f
引數也很重要,必須放在引數的最後一位
,代表要壓縮或者解壓到哪個指定的目錄
下面前後對比一下tar命令有了引數前後的變化
1、首先是沒有用tar的壓縮引數:
根據上述流程,可以看到主要分成了兩步,第一步是tar命令打包成包檔案,第二部是進行壓縮(有.gz和.bz2兩種格式可以選擇)
2、因為tar命令有引數,加了引數後就可以直接打包壓縮:
顯而易見,第二種方式比較方便,可以將打包與壓縮合併一起進行,只需要在使用tar命令時選擇適當引數即可
一般地可以這樣使用
[root@localhost ~]
# tar -czvf etc.tar.gz /etc/ #將/etc/下的檔案以gzip格式壓縮,壓縮過程進行顯示,壓縮後名字為etc.tar.gz
#此命令壓縮之後的etc.tar.gz檔案被儲存在當前目錄下
[root@localhost ~]
# tar -cjvf etc.tar.bz2 /etc/ #將/etc/下的檔案以bzip2格式壓縮,壓縮過程進行顯示,壓縮後名字文etc.tar.bz2
#壓縮後的etc.tar.bz2檔案被儲存在當前目錄下
[root@localhost ~]
# tar -xzvf etc.tar.gz -c /root/etc #將etc.tar.gz檔案以gzip格式解壓,解壓過程進行顯示,解壓到/root/etc下
[root@localhost ~]
# tar -xjcf etc.tar.bz2 -c /root/etc #將etc.tar.bz2檔案以bzip2格式解壓,解壓過程進行顯示,解壓到/root/etc下
總結:
tar打包和(gzip、bz2)壓縮實際上根本沒有半毛錢關係,只是tar命令順帶幫你提供了壓縮、解壓的引數而已
其他的壓縮與解壓方式、格式還有很多,不一一枚舉,僅舉以上常用的格式,相信這個對於tar包和壓縮的深入理解,會利於快速掌握對應的命令,否則死記硬背很容易忘記
–>有助於理解壓縮包解壓工具,建議收藏<–
tar包壓縮和解壓
tar.gz 格式解壓為 tar zxvf xx.tar.gz tar.bz2 格式解壓為 tar jxvf xx.tar.bz2 注。都有大z,因為都是用compress,它能對儲存文件壓縮解壓 tar czf tar.z jpg 將.jpz包壓縮tar包 tar xzf tar.z jpg 解壓...
Tar打包 壓縮與解壓縮
tar在linux上是常用的打包 壓縮 加壓縮工具,他的引數很多,折里僅僅列舉常用的壓縮與解壓縮引數 引數 c create 建立壓縮檔案的引數 x 解壓縮壓縮檔案的引數 z 是否需要用gzip壓縮 v 壓縮的過程中顯示檔案 f 置頂文件名,在f後面立即接檔名,不能再加引數 舉例 一,將整個 hom...
tar命令解壓壓縮包
linux系統用tar命令解壓壓縮包的時候,為了保持原有資料夾的屬性許可權,可以加 p命令 使用原檔案的原來屬性 方法如下 例子 將 tmp etc.tar.gz 檔案解壓縮在 usr local src 底下,保持目錄許可權不變 1 2 3 root linux cd usr local src ...