Linux 下文件的壓縮、打包與解開
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 類似,參數在這奡N不一一贅述了。
打包文件的 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 等的壓縮文件解開。
|