環境說明:
博客使用的linux版本:CentOS Linux release 7.7.1908 (Core)
終端漢化:漢化是爲了方便學習,點擊這裏查看
一、linux常見壓縮文件擴展名說明
擴展名 |
說明 |
*.gz |
gzip程序壓縮的文件:僅壓縮普通文件 |
*.bz2 |
bzip2程序壓縮的文件:僅壓縮普通文件 |
*.tar |
tar程序打包的數據,並沒有經過壓縮 |
*.tar.gz |
tar程序打包的文件,其中經過gzip的壓縮 |
*.tar.bz2 |
tar程序打包的文件,其中經過bzip2的壓縮 |
*.zip |
zip壓縮文件 |
二、tar命令 – 打包和備份的歸檔工具
- tar命令簡介:tar命令可以爲linux的文件和目錄創建檔案。利用tar,可以爲某一特定文件創建檔案(備份文件),也可以在檔案中改變文件,或者向檔案中加入新的文件。
tar最初被用來在磁帶上創建檔案,現在,用戶可以在任何設備上創建檔案。利用tar命令,可以把一大堆的文件和目錄全部打包成一個文件,這對於備份文件或將幾個文件組合成爲一個文件以便於網絡傳輸是非常有用的。
2. 語法格式:tar [參數] [文件或目錄]
3. 常用參數:
參數 |
含義 |
-A |
新增文件到以存在的備份文件 |
-B |
設置區塊大小 |
-c |
建立新的備份文件 |
-C <目錄> |
切換工作目錄,先進入指定目錄再執行壓縮/解壓縮操作,可用於僅壓縮特定目錄裏的內容或解壓縮到特定目錄 |
-d |
記錄文件的差別 |
-x |
從歸檔文件中提取文件 |
-t |
列出備份文件的內容 |
-z |
通過gzip指令壓縮/解壓縮文件,文件名最好爲*.tar.gz |
-Z |
通過compress指令處理備份文件 |
-f<備份文件> |
指定備份文件 |
-v |
顯示指令執行過程 |
-r |
添加文件到已經壓縮的文件 |
-u |
添加改變了和現有的文件到已經存在的壓縮文件 |
-j |
通過bzip2指令壓縮/解壓縮文件,文件名最好爲*.tar.bz2 |
-v |
顯示操作過程 |
-l |
文件系統邊界設置 |
-k |
保留原有文件不覆蓋 |
-m |
保留文件不被覆蓋 |
-w |
確認壓縮文件的正確性 |
-p |
保留原來的文件權限與屬性 |
-P |
使用文件名的絕對路徑,不移除文件名稱前的“/”號 |
-N <日期格式> |
只將較指定日期更新的文件保存到備份文件裏 |
– -exclude=<範本樣式> |
排除符合範本樣式的文件 |
– -remove-files |
歸檔/壓縮之後刪除源文件 |
4.應用實例:
- 將所有.text的文件打成一個名爲all.tar的包:
- 解壓文件,將文件解壓到當前目錄
tar -xvf all.tar
三、gzip命令 – 壓縮和解壓文件
- gzip命令簡介:
gzip是個使用廣泛的壓縮程序,文件經它壓縮過後,其名稱後面會多處“.gz”擴展名。gzip命令對文本文件有60%~70%的壓縮率。減少文件大小有兩個明顯的好處,一是可以減少存儲空間,二是通過網絡傳輸文件時,可以減少傳輸的時間。
- 語法格式: gzip [參數]
- 常用參數:
參數 |
含義 |
-a |
使用ASCII文字模式 |
-d |
解開壓縮文件 |
-f |
強行壓縮文件 |
-l |
列出壓縮文件的相關信息 |
-c |
把壓縮後的文件輸出到標準輸出設備,不去更動原始文件 |
-r |
遞歸處理,將指定目錄下的所有文件及子目錄一併處理 |
-q |
不顯示警告信息 |
- 應用實例:
- 把當前目錄下每個文件壓縮成.gz文件
gzip *
- 顯示壓縮文件的詳細信息
gzip -dv *
- 遞歸的壓縮和解壓目錄
gzip -r test1
gzip -dr test1
四、bzip2命令 – bz2文件的壓縮程序
- bzip2命令簡介:Linux系統中bzip2命令的英文是“bunzip2”,即.bz2文件格式的壓縮程序; bzip2命令系統默認是沒有安裝的,需要安裝bzip2庫纔可以使用此命令。
bzip2命令採用新的壓縮演算法,壓縮效果比傳統的LZ77/LZ78壓縮演算法來得好。若沒有加上任何參數,bzip2壓縮完文件後會產生.bz2的壓縮文件,並刪除原始的文件。
注意:非內置命令,需要安裝
-
- 常用參數:
參數 |
含義 |
-c |
將壓縮與解壓縮的結果送到標準輸出 |
-d |
開始解壓解壓縮。bzip2,bunzip2 以及bzcat實際上是同一個程序,進行何種操作將根據程序名確定。指定該選項後將不考慮這一機制,強制 bzip2 進行解壓縮。 |
-f |
bzip2在壓縮或解壓縮時,若輸出文件與現有文件同名,預設不會覆蓋現有文件。若要覆蓋,請使用此參數 |
-k |
在壓縮或解壓縮時保留源文件(不刪除這些文件,默認刪除源文件)。 |
-s |
降低程序執行時內存的使用量 |
-t |
檢查指定文件的完整性,但並不對其解壓縮。 |
-v |
壓縮或解壓縮文件時,顯示詳細的信息 |
-z |
強制執行壓縮 |
- 應用實例
- 壓縮成 .bz2文件(保留源文件),檢查文件完整性,然後解壓文件
五、zip -壓縮成.zip文件
- zip命令和unzip命令簡介:
- zip程序將一個或多個壓縮文件與有關文件的信息(名稱、路徑、日期、上次修改的時間、保護和檢查信息以驗證文件完整性)一起放入一個壓縮存檔中。可以使用一個命令將整個目錄結構打包到zip存檔中。
- **語法格式:**zip [參數] [文件]
- 常用參數:
參數 |
含義 |
-q |
不顯示指令執行過程 |
-r |
遞歸處理,將指定目錄下的所有文件和子目錄一併處理 |
-z |
替壓縮文件加上註釋 |
-v |
顯示指令執行過程或顯示版本信息 |
-n<字尾字符串> |
不壓縮具有特定字尾字符串的文件 |
- 應用實例
- 壓縮當前目錄下的所有文件
zip alltext.zip *
六、unzip -解壓zip文件
- unzip命令簡介:
unzip命令用於解壓.zip文件 (zip壓縮的文件)
- 語法格式: unzip [參數] [文件]
- 常用參數:
參數 |
含義 |
-d |
解壓文件指定目錄 |
-l |
顯示壓縮文件內所包含的文件 |
-v |
執行時顯示詳細的信息 |
-c |
將解壓縮的結果顯示到屏幕上,並對字符做適當的轉換 |
-n |
解壓縮時不要覆蓋原有的文件 |
-j |
不處理壓縮文件中原有的目錄路徑 |
4. 應用實例:
- 檢查文件的完整性
- 將文件解壓到當前目錄下的test1 文件夾
unzip alltext.zip -d test1
- 將當前目錄下的(1.text.zip 2.text.zip 3.text.zip)的.zip文件解壓到當前目錄
unzip \*.text.zip .