文章來源:linux下檔案的打包和壓縮
目錄- 一、檔案壓縮的原理
- 二、linux常見的壓縮指令
- 三、常用實體
- 1、tar命令
- 2、zip命令
- 3、gz命令
- 4、bz2命令
- 5、xz命令(必須分兩步)
- 總結:
一、檔案壓縮的原理
簡單來說,壓縮技術就是在存盤時將檔案里面沒有使用的空間利用起來,主要有以下兩種情況,
-
存盤時去掉沒有用到的空間,假設我們只是存盤一個數字 1 ,二進制表示數字1只需1個bit是1就可以表示(1=1*2^0),但是為了滿足作業系統對資料的存取要求,只能通過byte的形態來記錄,1 byte = 8 bits,所以每個byte當中會有8個bits,而其他的7個bits將自動的被填上0,其實那7個bits是沒有用到的,
-
另外一種壓縮技術是將重復的資料進行統計記錄,舉例來說,如果資料為[1111…]共有100個1,那么記錄為“100個1”也能精簡檔案的大小,
二、linux常見的壓縮指令
Linux支持的壓縮指令可以通過不同的后綴名進行區分,常見的擴展名:
- .zip:zip程式壓縮的檔案
- .gz:gzip程式壓縮的檔案
- .bz2:bzip2程式壓縮的檔案
- .xz:xz程式壓縮的檔案
- .tar:tar程式打包的資料,并沒有壓縮過
- .tar.gz:tar程式打包的資料,經過gzip壓縮過
- .tar.bz2:tar程式打包的資料,經過bzip2壓縮過
- .tar.xz:tar程式打包的檔案,經過xz壓縮過
三、常用實體
以把/etc中內容打包壓縮到/tmp/etc.*,然后在解壓回/etc為例
1、tar命令
打包:tar -cvf /tmp/etc.tar /etc
解包:tar -xvf /tmp/etc.tar /etc
常用引數 :
-
-c :建立壓縮檔案(create 的意思);
-
-x :解壓檔案!
-
-v : 顯示所有程序 ,執行程序會列印在螢屏上!
-
-f : 使用檔案名字,這個引數是最后一個引數,后面只能接檔案名,
2、zip命令
壓縮:zip -r /tmp/etc.zip /etc
解壓:unzip /tmp/etc.zip /etc
- -r: 將指定的目錄下的所有子目錄以及檔案一起處理
3、gz命令
壓縮:tar -czvf /tmp/etc.tar.gz /etc
解壓:tar -xzvf /tmp/etc.tar.gz /etc
- -z:使用gzip命令對檔案進行壓碩訓解壓縮,
4、bz2命令
壓縮:tar -cjvf /tmp/etc.tar.bz2 /etc
解壓:tar -xjvf /tmp/etc.tar.bz2 /etc
- -j:使用bz2命令對檔案進行壓碩訓解壓縮,
5、xz命令(必須分兩步)
打包:tar -cvf /tmp/etc.tar /etc
壓縮:xz -z /tmp/etc.tar #將 /tmp/etc.tar壓縮成為 /tmp/etc.tar.xz
解壓縮:xz -d etc.tar.xz #將 etc.tar.xz解壓成 etc.tar
解包:tar -xvf etc.tar
-
-z:使用xz命令對檔案進行壓縮操作,
-
-d:使用xz命令對檔案進行解壓縮操作,
以上命令均可以將多個檔案夾或檔案打包壓縮到一個檔案中
總結:
沒有特殊要求推薦使用bz2命令,它是速度和壓縮比都比較折中的命令,如果想要快速壓縮檔案,可以使用gz命令,如果追求最高的壓縮比,可以使用xz命令 ,
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/91680.html
標籤:Linux
