linux壓縮命令:1、tar命令,附加一個「z」壓縮選項即可,語法「tar -z 壓縮包 原始檔或目錄」;2、zip命令,可建立一個壓縮檔案,與此同時保留原始檔案的完整性,語法「zip [選項] 壓縮包名 原始檔或源目錄列表」;3、gzip命令,語法「gzip [選項] 原始檔」;4、bzip2命令,語法「bzip2 [選項] 原始檔」;5、xz命令,語法「xz 壓縮包名」。
本教學操作環境:linux7.3系統、Dell G3電腦。
linux中壓縮是什麼
壓縮是指利用演演算法將檔案進行處理,已達到保留最大檔案資訊,而讓檔案體積變小的目的。其基本原理為,通過查詢檔案內的重複位元組,建立一個相同位元組的詞典檔案,並用一個程式碼錶示。
壓縮和歸檔檔案類似,壓縮檔案也是一個檔案和目錄的集合,且這個集合也被儲存在一個檔案中,但它們的不同之處在於,壓縮檔案採用了不同的儲存方式,使其所佔用的磁碟空間比集合中所有檔案大小的總和要小。
由於計算機處理的資訊是以二進位制的形式表示的,因此,壓縮軟體就是把二進位制資訊中相同的字串以特殊字元標記,只要通過合理的數學計算,檔案的體積就能夠被大大壓縮。把一個或者多個檔案用壓縮軟體進行壓縮,形成一個檔案壓縮包,既可以節省儲存空間,有方便在網路上傳送。
對檔案進行壓縮,很可能損壞檔案中的內容,因此,壓縮又可以分為有失真壓縮和無失真壓縮。無失真壓縮很好理解,指的是壓縮資料必須準確無誤;有失真壓縮指的是即便丟失個別的資料,對檔案也不會造成太大的影響。有失真壓縮廣泛應用於動畫、聲音和影象檔案中,典型代表就是影碟檔案格式 mpeg、音樂檔案格式 mp3 以及影象檔案格式 jpg。
採用壓縮工具對檔案進行壓縮,生成的檔案稱為壓縮包,該檔案的體積通常只有原檔案的一半甚至更小。需要注意的是,壓縮包中的資料無法直接使用,使用前需要利用壓縮工具將檔案資料還原,此過程又稱解壓縮。
linux壓縮命令
常用的壓縮命令有很多,比如 gzip、 zip、 bzip2 。
tar壓縮命令
tar
命令不是專門的壓縮命令。它通常用於將多個檔案拉入一個單個的檔案中,以便容易地傳輸到另一個系統,或者將檔案作為一個相關的組進行備份。它也提供壓縮的功能,這就很有意義了,附加一個 z
壓縮選項能夠實現壓縮檔案。
當使用 z
選項為 tar
命令附加壓縮過程時,tar
使用 gzip
來進行壓縮。
就像壓縮一組檔案一樣,你可以使用 tar
來壓縮單個檔案,儘管這種操作與直接使用 gzip
相比沒有特別的優勢。要使用 tar
這樣做,只需要使用 tar cfz newtarfile filename
命令來標識要壓縮的檔案,就像標識一組檔案一樣,像這樣:
$ tar cfz bigfile.tgz bigfile
^ ^
| |
+- 新的檔案 +- 將被壓縮的檔案
$ ls -l bigfile*
-rw-rw-r-- 1 shs shs 103270400 Apr 16 16:09 bigfile
-rw-rw-r-- 1 shs shs 21608325 Apr 16 16:08 bigfile.tgz
登入後複製
注意,檔案的大小顯著減少了。
如果你願意,你可以使用 tar.gz
擴充套件名,這可能會使檔案的特徵更加明顯,但是大多數的 Linux 使用者將很可能會意識到與 tgz
的意思是一樣的 – tar
和 gz
的組合來顯示檔案是一個壓縮的 tar 檔案。在壓縮完成後,你將同時得到原始檔案和壓縮檔案。
要將很多檔案收集在一起並在一個命令中壓縮出 「tar ball」,使用相同的語法,但要指定要包含的檔案為一組,而不是單個檔案。這裡有一個範例:
$ tar cfz bin.tgz bin/*
^ ^
| +-- 將被包含的檔案
+ 新的檔案
登入後複製
zip壓縮命令
zip
命令建立一個壓縮檔案,與此同時保留原始檔案的完整性。語法像使用 tar
一樣簡單,只是你必需記住,你的原始檔名稱應該是命令列上的最後一個引數。
$ zip ./bigfile.zip bigfile
updating: bigfile (deflated 79%)
$ ls -l bigfile bigfile.zip
-rw-rw-r-- 1 shs shs 103270400 Apr 16 11:18 bigfile
-rw-rw-r-- 1 shs shs 21606889 Apr 16 11:19 bigfile.zip
登入後複製
gzip壓縮命令
gzip
命令非常容易使用。你只需要鍵入 gzip
,緊隨其後的是你想要壓縮的檔名稱。不像上述描述的命令,gzip
將「就地」「加密」檔案。換句話說,原始檔案將被「加密」檔案替換。
$ gzip bigfile
$ ls -l bigfile*
-rw-rw-r-- 1 shs shs 21606751 Apr 15 17:57 bigfile.gz
登入後複製
bzip2壓縮命令
像使用 gzip
命令一樣,bzip2
將在你選擇的檔案「就地」壓縮,不留下原始檔案。
$ bzip bigfile
$ ls -l bigfile*
-rw-rw-r-- 1 shs shs 18115234 Apr 15 17:57 bigfile.bz2
登入後複製
xz壓縮命令
xz
是壓縮命令團隊中的一個相對較新的成員,在壓縮檔案的能力方面,它是一個領跑者。像先前的兩個命令一樣,你只需要將檔名稱提供給命令。再強調一次,原始檔案被就地壓縮。
$ xz bigfile
$ ls -l bigfile*
-rw-rw-r-- 1 shs shs 13427236 Apr 15 17:30 bigfile.xz
登入後複製
對於大檔案來說,你可能會注意到 xz
將比其它的壓縮命令花費更多的執行時間,但是壓縮的結果卻是非常令人讚歎的。
壓縮命令對比
大多數人都聽說過「大小不是一切」。所以,讓我們比較一下檔案大小以及一些當你計劃如何壓縮檔案時的問題。
下面顯示的統計資料都與壓縮單個檔案相關,在上面顯示的範例中使用 bigfile
。這個檔案是一個大的且相當隨機的文字檔案。壓縮率在一定程度上取決於檔案的內容。
大小減縮率
當比較時,上面顯示的各種壓縮命產生下面的結果。百分比表示壓縮檔案與原始檔案的比較效果。
-rw-rw-r-- 1 shs shs 103270400 Apr 16 14:01 bigfile
------------------------------------------------------
-rw-rw-r-- 1 shs shs 18115234 Apr 16 13:59 bigfile.bz2 ~17%
-rw-rw-r-- 1 shs shs 21606751 Apr 16 14:00 bigfile.gz ~21%
-rw-rw-r-- 1 shs shs 21608322 Apr 16 13:59 bigfile.tgz ~21%
-rw-rw-r-- 1 shs shs 13427236 Apr 16 14:00 bigfile.xz ~13%
-rw-rw-r-- 1 shs shs 21606889 Apr 16 13:59 bigfile.zip ~21%
登入後複製
xz
命令獲勝,最終只有壓縮檔案 13% 的大小,但是所有這些壓縮命令都相當顯著地減少原始檔案的大小。
是否替換原始檔案
bzip2
、gzip
和 xz
命令都用壓縮檔案替換原始檔案。tar
和 zip
命令不替換。
執行時間
xz
命令似乎比其它命令需要花費更多的時間來「加密」檔案。對於 bigfile
來說,大概的時間是:
命令 執行時間
tar 4.9 秒
zip 5.2 秒
bzip2 22.8 秒
gzip 4.8 秒
xz 50.4 秒
登入後複製
解壓縮檔案很可能比壓縮時間要短得多。
檔案許可權
不管你對壓縮檔案設定什麼許可權,壓縮檔案的許可權將基於你的 umask
設定,但 bzip2
除外,它保留了原始檔案的許可權。
與 Windows 的相容性
zip
命令建立的檔案可以在 Windows 系統以及 Linux 和其他 Unix 系統上使用(即解壓),而無需安裝其他工具,無論這些工具可能是可用還是不可用的。
相關推薦:《Linux視訊教學》
以上就是linux壓縮命令有哪些的詳細內容,更多請關注TW511.COM其它相關文章!