lzma (lempel-ziv-markov chain-algorithm) 基於著名的lz77壓縮演算法改進的壓縮/解壓工具,特點:高壓縮率,高解壓速度,低記憶體消耗,lzma命令列工具使用方式和gzip,bzip2類似,對 已經熟悉gzip,bzip2這類工具的使用者來說,上手並不難。
對比兩大主流壓縮工具:gzip,bzip2:
1,lzma和bzip2在速度上面遠遠輸給gzip,但在壓縮率方面,lzma演算法佔優勢。
2,lzma擁有比gzip,bzip2更高的壓縮比率,壓縮後檔案更小,純文字檔案壓縮更加明顯,在解壓方面比bzip2速度快出數倍,對於想要有較高的壓縮率,又不想消耗太多記憶體,lzma是首先。
3,檔案屬性,lzma壓縮和解壓縮能保持檔案所有人,許可權和修改時間等資訊,但是gzip不儲存這些資訊。
速度: bzip2 < lzma < gzip
壓縮率: gzip < bzip2 < lzma
檔案資訊:gzip 不保留, bzip2 , lzma 保留
這麼看來,好像沒有太多理由再用 bzip2 了?呵呵,不過bzip2仍是我的最愛,目前還沒有辦法一下子接受lzma,
雖然lzma很優秀,但我已經習慣了 tar cjvf 和 tar xjvf 了!
lzma在絕大多數linux和unix系統中預設安裝。
幾個主要引數:
-d --decompress --uncompress
指定解壓縮,比如 lzma -d test.lzma,該命令相當於 unlzma test.lzma
-f --force
強制解壓/壓縮,忽略一切問題,比如:目標檔案已經存在,直接覆蓋等。
-h --help
顯示幫助
-k --keep
不刪除原始檔案,
-t --test
測試,不解壓
-v --verbose
顯示進度等資訊,
-z --compress
強制壓縮
用法示例:
壓縮檔案:
lzma test.tar
壓縮後生成:lzma.tar.lzma 並且原檔案 test.tar會被刪除,要想保留,新增 -k 選項
lzma -k test.tar
解壓:lzma -d test.tar.lzma 或 unlzma test.tar.lzma
解壓後 test.tar.lzma預設被刪除,如果想保留,新增-k選項,
如果目標檔案已經存在,lzma不會覆蓋,而報錯退出執行,
新增 -f忽略:
lzma -kf test.tar
覆蓋已經存在的 lzma.tar.lzma 同時保留原檔案 test.tar
解壓:lzma -dkf test.tar.lzma
覆蓋已經存在的 test.tar 同時保留 test.tar.lzma
linux下使用c 操作mysql
關於mysql的基礎知識可以參考 mysql基礎 首先,需要確保已安裝mysql server,mysql client,mysql devel。1.mysql 用於定義乙個mysql物件,便於後續操作確定要操作的資料庫是哪乙個。mysql mysql mysql標記對應某個資料庫2.mysql r...
Linux 環境下使用g 編譯C
下面是乙個儲存在檔案 helloworld.cpp 中乙個簡單的 c 程式的 helloworld.cpp include int main int argc,char argv 程式使用定義在標頭檔案 iostream 中的 cout,向標準輸出寫入乙個簡單的字串。該 可用以下命令編譯為可執行檔案...
Linux下 使用C語言編寫who命令
在linux 下 who命令是查詢當前登入的每個使用者。who的預設輸出包括使用者名稱 終端型別 登入日期及遠端主機。如圖 我們man一下who,在聯機幫助裡可以看到,who命令是讀取 var run utmp檔案來得到以上資訊的。我們在man一下utmp,知道utmp這個檔案,是二進位制檔案,裡面...