日常操作中我們經常使用到文件壓縮操作,其使用一些特定的演算法來減小文件的大小,可以提高傳輸數據時的速率和減少數據在一些存儲機制上占有的空間大小,實現空間利用最大化。 比如:如果你想通過郵箱發送一個文件夾,你會發現可能行不通,怎麼辦呢,難道將文件夾內的內容一個個發送嗎?顯然不用,因為郵箱不支持文件夾這種 ...
日常操作中我們經常使用到文件壓縮操作,其使用一些特定的演算法來減小文件的大小,可以提高傳輸數據時的速率和減少數據在一些存儲機制上占有的空間大小,實現空間利用最大化。
比如:如果你想通過郵箱發送一個文件夾,你會發現可能行不通,怎麼辦呢,難道將文件夾內的內容一個個發送嗎?顯然不用,因為郵箱不支持文件夾這種格式,所以我們需要將文件夾壓縮,或將眾多文件歸檔後壓縮後,才能進行發送,這樣不僅對應了郵箱支持的格式,而且還將提升傳輸效率。
任何一個文件在電腦上儲存都有它的格式,現今各操作系統中最常用的壓縮格式zip, rar;從功能上看rar格式比zip格式的壓縮率更高,但壓縮解壓縮的時間也高於zip格式。當然除這兩種格式外,還有很多的壓縮格式。以下簡述在命令行上壓縮歸檔命令的一些技巧:
- zip格式,由程式員菲爾卡次1989年發表,zip原義有拉鏈,速度的含義。zip在Linux,Mac os, Windows平臺上都可以看到他的身影,雖然它在Linux下不太廣泛,但在與其他平臺交流數據時就很有用了。
1:在linux系統下用zip命令創建歸檔壓縮文件:zip -r file.zip dir //-r 表示對目錄進行遞歸式歸檔
-q表示安靜模式,不顯示任何執行過程中的信息。
-d選項可以刪除歸檔文件中一個或多個文件。 zip -d file.zip file1 file2 ...
2:unzip 可以提取出zip中的內容(相當於解壓縮): unzip file.zip ;-l選項則可以列出壓縮歸檔文件中的內容。
- rar格式,開發者為尤金·羅謝爾,全名是“Roshal ARchive”,即“羅謝爾的歸檔”之意;多用於數據壓縮與歸檔打包。
- Linux下常用的的gz (gzip), bz2(bzip2), lzma格式:
1: gzip的使用方法(命令行, ->表示左邊操作得到右邊):
壓縮:gzip filename->fliename.gz
解壓縮:gunzip filename.gz->filename
列出壓縮文件的屬性信息:gzip -l filename.gz->各文件的具體信息
2: 因為gzip壓縮只針對單個文件或數據流,所以時常與tar結合使用:
方式為先創建tar歸檔文件: tar -cvf filename.tar file1 file2 ... -> filename.tar
再使用gzip壓縮: gzip filename.tar->filename.tar.gz
因為tar支持選項-z以gzip格式壓縮,所以也可以:tar -cvzf filename.tar.gz file1 file2 .... ->filename.tar.gz
3:bzip2,lzma在功能與語法上與gzip相似,bzip2的壓縮效率高於gzip,lzma最高
解壓縮bzip2格式文件: bunzip filename.bz2 -> filename
解壓縮lzma格式文件: unlzma filename.lzma -> filename
也可以使用-j, --lzma選項使用tar分別進行bzip2, lzma格式的壓縮。
瞭解一些常見的壓縮文件格式利於我們區分各式各樣的文件噢。