第五周的學習內容很豐富, 從查找到壓縮打包,到軟件包的管理,其中尤其是以壓縮的內容最為豐富,而且龐大的選項讓人絕望,那我今天就總結了一下壓縮的一些東西,和大家一起分享。
為什么會產生壓縮工具呢?因為我們的現在的很多文件會利用到的東西很多,電腦的讀存速度也越來越快,一些大的文件在傳輸和使用上就會很麻煩,雖然運算速度很快但是會大量占用我們的系統資源和硬盤的空間,縮小了我們的可使用空間,而壓縮工具就是盡可能在不破壞原文件的情況下,通過一些算法,壓縮我們的文件,提升我們的運算和傳輸速度。
首先對于我們的第一個認識的壓縮工具就是 compress 這個工具,英文的翻譯就是壓縮的意思,既然是壓縮工具就能夠壓縮文件,使用方法如下:
compress [ -f ] [ -v ] [ -c ] [ -V ] [ -r ] [ name … ]
-f 對硬連接的文件進行強制壓縮,其他同inode的文件硬連接數減一
圖里我們可以看出來我們新建的硬連接文件用普通的壓縮根本就不能壓縮,加了-f之后就完成了壓縮,compress 壓縮出來的文件以.Z結尾
-v 顯示詳細過程
我們震驚的發現我們壓縮比無比驚人,從50M壓縮到16k,其實不然,我們的這個test2文件,是利用dd if of 填充完成的,其實其中的東西并不多,都是一些重復的空行之類的,所以壓縮比才會如此驚人!
-c 將結果打印在我們的屏幕上,由于是二進制文件我們看不懂,可以利用我們的重定向來輸出出來,但是相當于新建了一個文件,權限會發生變化
-V 顯示指令版本及程序預設值
-r 遞歸
我們壓縮tmp文件夾,自動遞歸的去壓縮我們的文件夾下的文件。
那有壓縮就一定有解壓縮要不然怎么打開呢。。。下面是我們的三種解壓縮
①uncompress
②compress -d 文件名
③zcat 文件名 > 文件名
上述了那么多的選項,其實compress已經算是退出了歷史舞臺,取代它的有好幾種壓縮工具,接下來我們就看一下”zip”小家族
gzip
gzip [OPTION]… FILE …
直接后面跟文件名,直接壓縮,不保留原文件,自帶后綴
-c 可以指定將壓縮或解壓縮的結果輸出至標準輸出,也就是可以用重定向輸出文件不過不要忘了后綴名
-d 也和上面的用處相差不大,也都是解壓
-# 1-9 :可以指定壓縮比,9為最大,越大壓縮比越大,默認為6
我們可以看到我們的壓縮問及一級級的往下排,但是我們也看到一些8級的比9級的還要小,這是因為到了后面的壓縮的就會有寫誤差,所以會造成這種現象。
bzip2
bzip2 [OPTION]… FILE …
-k 保留原文件(默認不保存)
-c 將結果打印到屏幕上,配合重定向,不會覆蓋原文件,但權限會變。 bzip2 -c 文件名 >
-f 默認不對硬鏈接數為2及以上的文件壓縮,加上f,強制壓縮指定文件,而其他同inode的文件硬鏈接數減1.
-v 顯示詳細過程。
-# 數字越大,壓縮比越高,速度越慢,文件越小。
-1 等于 –fast
-2,3,4,5,6,7,8
-9 等于 –best (default)
很驚人的壓縮比,bzip2的壓縮比很可怕,就是zip的9都低,所以占用的資源也很多,所以壓縮時很慢!
這些上面的選項我在上面都一一試過了,用戶都差不多,就不在一一的列舉了。
xz
xz [OPTION]… FILE …
-d 解壓縮
xzcat
-k 保留原文件
-f 默認不對硬鏈接數為2及以上的文件壓縮,加上f,強制壓縮指定文件,而其他同inode的文件硬鏈接數減1.
-v 顯示詳細過程。
-# 數字越大,壓縮比越高,速度越慢,文件越小。
-0 等于 –fast
-1 -2,3,4,5,6(default),7,8
-9 等于 –best
zip
.zip (后綴名)
unzip 解壓縮
|zip 將生成的文件名 –
可以將管道前的輸出結果轉為文件并壓縮。通過此方式壓縮的文件只能使用“unzip -p 壓縮包 > 新文件 ”來解壓縮
unzip -p 預覽解壓縮后的內容到屏幕,可以配置重定向將結果保存到指定文件,權限會發生變化。
好了,上述就是一些關于壓縮的小知識,看著那么多的壓縮工具,其實很簡單的我們記住基本的幾個-d解壓縮,-c重定向輸出,-k保留原文件,-#壓縮幾級,-f壓縮硬連接,然后其他的邊角就什么時候用什么時候man吧。
原創文章,作者:努力!奮斗!,如若轉載,請注明出處:http://www.www58058.com/84444