一般情況下Linux系統中我們常用到的壓縮文件的種類大致為 .zip,。gz和。tar,那我們先就來介紹一下最常見的。zip文件的壓縮解壓命令。
Linux中處理 .zip 文件的命令是 zip 和 unzip.zip 和 unzip 程序位於 /usr/bin 目錄中,它們和 MS - DOS 下的 pkzip、pkunzip 以及 MS-windows 的 Winzip 軟件功能一樣、可將文件壓縮成 .zip 文件以節省硬盤空間,而當需要的時候再將壓縮文件解開。
壓縮文件的 zip 命令
zip 可用來壓縮文件,如果我們有許多文件需要做壓縮,甚至可以將它們一並處理並壓縮成一個文件。以下是 zip 的語法以及可用的參數介紹 :
其實 zip 最常用的方法是在後面加上壓縮後的文件名,以及要壓縮的文件即可。
因為 zip 命令在許多 OS 平台都有,而且參數相當多,在此我只介紹一些 Linux 上適用的參數 :
-1 : 最快壓縮,壓縮率最差。
-9 : 最大壓縮,壓縮率最佳。
-b : 暫存文件的路徑。這個參數一般在要產生的 zip 文件存在,而硬盤現有空間不足時。
-c : 替新增或更新的文件增加一行注解。
-d : 從 zip 文件移出一個文件。
-D : 不要在 zip 文件中儲存文件的目錄信息。
-f : 以新文件取代現有文件。
-F : 修復已經損毀的壓縮文件。
-g : 將文件壓縮附加到 zip 文件中。
-h : 顯示輔助說明。
-i : 指定要含入的某些特定文件。
-j : 只儲存文件的名稱,不含目錄。
-k : 強迫使用 MSDOS 格式文件名。
-l : 將 CR ( Carriage Return ) LF ( Line Feed ) 轉換成 LF,一般是要將 MS-DOS 上的文本文件壓縮後拿到 UNIX 下使用時才使用此參數。這只適用於文本文件 ( .txt ),如果用於二進制文件則會造成二進制文件損毀。
-L : 顯示 zip 命令的版權。
-m : 將特定文件移入 zip 文件中,並且刪除特定文件。
-n : 不壓縮特定擴展名的文件。
-o : 將 zip 文件的時間設成最後修正 zip 文件的時間。
-q : 安靜模式,不會顯示相關訊息和提示。
-r : 包括子目錄。
-t : 只處理 mmddyy 日期以後的文件。
-T : 測試 zip 文件是否正常。
-u : 只更新改變過的文件和新文件。
-v : 顯示版本資訊或詳細訊息。
-x : 不需要壓縮的文件。
-y : 將 symbolic link 壓縮,而不是壓縮所連結到的文件。
-z : 為 zip 文件增加注解。
-# : 設定壓縮速度,-0 表示不壓縮,-1 表示最快速度的壓縮,
-9 表示最慢速度的壓縮 ( 最佳化的壓縮 ),預設值為 -6.
-@ : 從標准輸入讀取文件名稱。
解開壓縮文件的 unzip 命令
unzip 命令用於解開 .zip 文件,unzip 命令的語法和 zip 類似,參數在這裡就不一一贅述了。
打包文件的 tar
tar 程序位於 /usr/bin 目錄中,一般 UNIX 上常用的壓縮方式是先用 tar 將許多文件 ( 可能含有子目錄 )打包成一個文件 ( gzip、compess 只能壓縮一個文件 ),以 gzip 第 2 次壓縮成 xxx.tar.gz ( 或稱為 xxx.tgz ) 的文件。
因為 tar 參數繁多,我先介紹 tar 的常用法 :
paul : ~/tar cvf filesname.tar <- 將所有文件包裝成 filesname.tar,注意擴展名 .tar自行加上。
paul : ~/tar cvzf filesname.tar.gz <- 將所有文件包裝成 filesname.tar,再用 gzip 壓縮。
paul : ~/tar tvf filesname.tar <- 檢查 filesname.tar 文件中包括了哪些文件。
paul : ~/tar xvf filesname.tar <- 將 filesname.tar 解開。
KDE 的 archiver
KDE 的 archiver 就像 MS-wondows 的 winzip,也能把 zip、gzip、tar、tar.gz 等的壓縮文件解開