linux壓縮命令有哪些

2023-03-01 22:00:59

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 的意思是一樣的 – targz 的組合來顯示檔案是一個壓縮的 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% 的大小,但是所有這些壓縮命令都相當顯著地減少原始檔案的大小。

  • 是否替換原始檔案

bzip2gzipxz 命令都用壓縮檔案替換原始檔案。tarzip 命令不替換。

  • 執行時間

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其它相關文章!