我們回到對許多人來說成為優勢的常見問題 高級 GNU/Linux 用戶 它是大量可用的替代方案或可能性。 對於最沒有經驗的人來說,這可能是一個問題,因為他們不知道該選擇哪一個,但正如我所說,擁有更多的可能性或靈活性從來不是一件壞事,恰恰相反。 在這種情況下,我們將討論 壓縮和解壓縮算法和程序 存在於我們最喜歡的平台上,以便您可以以另一種方式查看它們,而不是一團糟,不知道哪個是您的情況的最佳選擇......
事實是,不僅有像 tar 這樣的工具可以用來創建包,還可以添加某種類型的壓縮,正如我們習慣在 著名的 tarball 我們已經談到過 LxA多次出現。 我們還會發現像grep 這樣簡單而頻繁的工具變體,用於在壓縮文件中進行搜索,就像bzfgrep 一樣,甚至其他工具(例如less 和more)也有針對壓縮文件的變體,例如bzless 和bzmore 。 要查看全部內容,我們只需查看以下命令的輸出:
apropos compress
算法和測試:
全部當中 算法 Linux 中可用無損壓縮來壓縮和解壓縮數據,我們有很多選擇。 為了證明使用一種或另一種壓縮算法進行壓縮需要多長時間或者解壓縮需要多長時間,我建議您自己做一些測試。 您可以使用 time 命令來執行此操作,該命令將為您提供壓縮和解壓縮過程所需的時間。 例如,如果您要使用 zip 工具來壓縮名為 test 的文件:
time zip prueba.zip prueba
這會返回所用的時間,但如果你想看看 生成文件的大小,您可以嘗試使用不同的算法和壓縮工具來壓縮同一個文件,一旦您將所有文件壓縮到一個目錄中,只需使用一個簡單的命令即可列出並檢查每個文件佔用的大小:
ls -l
如果您願意,還可以使用其他工具來比較壓縮文件,例如 diff 工具的一些變體:
xzdiff [opciones] fichero1 fichero2 lzdiff [opciones] fichero 1 fichero2
如果您想查看有關算法大小和速度的圖表,您可以訪問 這個鏈接.
壓縮工具:
關於 可用工具 我們有很多工具,其中一些帶有適合新手的圖形界面,我們只需要使用簡單直觀的 GUI 來執行壓縮和解壓縮,就像 PeaZip 或 7zip 等的情況一樣。 具體來說,第一個能夠處理各種格式,特別是超過 180 種格式。 但如果您是仍然喜歡使用終端的人之一,那麼您將擁有大量您熟悉的工具:
- 壓縮並解壓:如果您想要將文件移植到其他操作系統,這是一個不錯的選擇,因為您會找到在 Microsoft Windows 系統以及 macOS 等系統中處理這些文件的工具。 例如,要壓縮名為 test 的文件或目錄,然後將其解壓縮:
zip prueba.zip prueba unzip prueba.zip
- GZIP:如果您只想在 Unix/Linux 操作系統之間進行移植,這是最好的選擇。 也許壓縮率與 zip 幾乎相同,也許稍微好一些,但您不會發現 zip 或 gzip 下的文件大小有太大差異。 要使用此工具進行壓縮和解壓縮,我們可以在解壓的情況下使用兩個選項,它們是直接使用gunzip別名的-do選項:
gzip prueba gzip -d prueba.gz gunzip prueba.gz
- bzip2:與前一種算法相同,該算法在 Unix/Linux 操作系統中非常普遍,儘管在壓縮和解壓縮過程中比 gzip 需要更長的時間。 在這種情況下,延遲不會像 xz 那樣轉化為更高的壓縮率,因為在 bzip2 下壓縮的文件將比 gzip 壓縮的文件多一點。 這就是為什麼建議避免使用 bzip2 並選擇 xz 或 gzip。 儘管一切都有點取決於您嘗試壓縮的文件類型......例如:
bzip2 prueba bzip2 -d prueba.bz2
- xz: 是大文件的首選格式,因為它提供了最佳的壓縮率,但確實需要更長的時間才能完成壓縮或解壓縮。 它比以前的版本更新了很多,因此您可能會遇到更原始的發行版或沒有相應工具的舊版 Unix 系統。 例子:
xz prueba xz -d prueba.xz
- 解壓和解壓:借助這些工具,我們還可以在 Linux 中使用 RAR 格式,儘管它在 *nix 系統中不像以前那樣流行...在這種情況下,我們可以選擇:
rar a prueba.rar prueba unrar e prueba.rar
- 壓縮和解壓縮:雖然壓縮的使用正在消失並且不像以前那樣流行,但我也不想忽視這個工具。 它用於壓縮擴展名為 .Z 的文件,這要歸功於修改後的 Lempel-Ziv 算法。 例如:
compress -v prueba uncompress prueba.Z
如果您想直接與 焦油工具,您還可以同時打包和壓縮文件以及解壓和解壓縮它們。 在這種情況下,我們可以將要使用的算法類型的選項直接傳遞給 tar。 但首先你應該知道,使用選項 c 我們創建一個包,使用選項 x 我們提取它。 例如:
tar czvf prueba.tar.gz prueba tar xzvf prueba.tar.gz
正如你所看到的,我們使用了 選項 zvf 表示壓縮算法 z 的類型(在本例中為 gzip),v 表示詳細模式,返回有關其正在執行的操作的信息,f 表示要使用的文件...好吧,如果我們更改它z 是對應於另一種算法類型的另一個字母,我們可以改變應用於tarball 的壓縮類型:
選項 | 算法 | 延期 |
---|---|---|
z | GZIP | 名為.tar.gz |
j | bzip2 | .tar.bz2 |
J | xz | .tar.xz |
郵編 | 拉鍊 | .tar.lz |
伊茲瑪 | 伊茲瑪 | .tar.lzma |
*當然,前面的所有命令都有有趣的選項,我邀請您使用 man 來發現,一些非常必要的選項,例如遞歸等。
別忘了 留下您的評論...
我個人使用7zip
你錯過了 7zip。 一個非常好的選擇和免費軟件。
非常好的信息,儘管我一開始就說它也可以毫無問題地以圖形方式壓縮和解壓縮,這樣你就不會看到值班的“黃蜂”說 GNU/Linux 非常困難,一切都必須在上面完成控制台。 不,這是另一種選擇。