Linux打包壓縮解壓縮
打包跟壓縮的區別:
1、打包是指將多個檔案或者目錄放在一起,形成一個總的包,這樣便于保存和傳輸,但是大小是沒有變化的;
壓縮是指將一個或者多個大檔案或者目錄通過壓縮演算法使檔案的體積變小以達到壓縮的目的,可以節省存盤空間,在壓縮的時候通常是先打包再壓縮,
2、壓縮技術有很多種,因此雖然檔案名與檔案型別沒有直接關系,但是一般情況下還是加上擴展名以表明是使用何種壓縮方式壓縮,便于使用相應的解壓縮技術來還原,
3、常見擴展名
- .z : 使用compress 技術壓縮,已經基本不再使用
- .gz : 使用gzip技術壓縮,只能對單個檔案進行壓縮和解壓縮,
- .bz2:使用bzip2技術壓縮,相對于gzip,壓縮比更高,只能對單個檔案進行壓縮解壓縮
- .tar : 使用tar程式打包,但是沒有經過壓縮
- .tar.gz : 使用tar程式打包,并經過 gzip 技術壓縮
- .tar.bz2 : 使用tar程式打包,并經過bzip2技術壓縮
4、tar 命令:
? 常用選項:
-
-c : 建立打包檔案,可配合-v來查看詳細資訊
-
-t : 查看打包檔案的內容
-
-x :解打包或解壓縮
-
-j : 使用bzip2進行壓碩訓解壓縮,此時檔案名最好為 *.tar.bz2
-
-z : 使用gzip進行壓縮解壓縮,檔案名最好為*.tar.gz
-
-v : 顯示詳細資訊
-
-f : filename 使用檔案名,在f后面要接壓縮后的檔案的名字,只要用到tar命令,-f選項是必須要用的,-f引數在使用的時候一定排在其他引數的后面,在最右邊
-
-C :要解壓縮到的目錄名
-
-p : 保留備份資料的原本屬性與權限
-
-P : 保留絕對路徑,允許備份資料中含有根目錄
基本用法:
-
打包壓縮
- tar [-j] [-z] [cv] [-f(打包后的檔案名)] 要打包的檔案
- tar -jcvf filename.tar.bz2 file1 file2 file3
- tar -zcvf filename.tar.gz file1 file2 file3
-
查看檔案
- tar [-j] [-z] [tv] [-f (壓縮后檔案名)]
- tar -jtvf filename.tar.bz2
- tar -ztvf filename.tar.gz
-
解壓縮
- tar [-j] [-z] [xv] [-f 壓縮后檔案名] [-C 目錄名]
- tar -jxvf filename.tar.bz2 -C dir
- tar -zxvf filename.tar.bz2 -C dir
實體:
-
使用 tar 打包并壓縮備份/test目錄
- tar -zpcv -f test.tar.gz /test


- tar -zpcv -f test.tar.gz /test
-
查看壓縮檔案
- tar -ztvf test.tar.gz

- tar -ztvf test.tar.gz
-
解壓縮
- tar -zxvf test.tar.gz -C /software
- 如果不加-C,則會在當前目錄下進行解壓縮操作
5、gzip 命令:
? 常用選項:
-c : 將壓縮資料輸出至螢屏
-d : 解壓縮
-t :檢驗壓縮檔案的一致性,即查看檔案有無錯誤
-v : 顯示詳細資訊,如原檔案,壓縮比等
-# : 壓縮等級 :-1 最快、壓縮比最差
-9 最慢、壓縮比最好
默認為-6
? 實體:
- 將/etc/man.config 復制到/tmp,并用gzip壓縮
- cp /etc/man.config /tmp
- gzip -v man.config
- 使用zcat 命令讀取壓縮后檔案內容
- zcat man.config.gz
- 解壓縮
- gzip -d man.config.gz (會將原來的壓縮檔案洗掉)
- 壓縮同時保留原檔案
- gzip -9 -c man.config > man.config.gz
5、bzip2 命令:
? 常用命令:
-c:壓縮程序產生的資料輸出至螢屏
-d:解壓縮
-k:保留原檔案
-z:壓縮
-v:顯示詳細資訊
-#:與 gzip 相同,-1 最快,-9 壓縮比最佳
? 實體:
- 壓縮:bzip2 -z man.config
- 查看檔案內容:bzcat man.config.bz2
- 解壓縮:bzip2 -d man.config.bz2
- 使用最佳壓縮比,并保留原檔案
- bzip2 -9 -c man.config > man.config.bz2
- bzip2 -9 -k manconfig
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/396358.html
標籤:其他
