<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                [TOC] ## 3.1 Linux 系統常見的壓縮指令 在Linux的環境中,壓縮文件的擴展名大多是:“*.tar, *.tar.gz, *.tgz, *.gz, *.Z, *.bz2, *.xz”,為什么會有這樣的擴展名呢?不是說 Linux 的擴展名沒有什么作用嗎? 這是因為 Linux 支持的壓縮指令非常多,且不同的指令所用的壓縮技術并不相同,當然彼此之間可能就無法互通壓縮/解壓縮文件啰。 所以,當你下載到某個壓縮文件時,自然就需要知道該文件是由哪種壓縮指令所制作出來的,好用來對照著解壓縮啊! 也就是說,雖然 Linux 文件的屬性基本上是與文件名沒有絕對關系的, 但是為了幫助我們人類小小的腦袋瓜子,所以適當的擴展名還是必要的! 下面我們就列出幾個常見的壓縮文件擴展名吧: ``` *.zip zip 程序壓縮的文件; *.gz gzip 程序壓縮的文件; *.bz2 bzip2 程序壓縮的文件; *.xz xz 程序壓縮的文件; *.tar tar 程序打包的數據,并沒有壓縮過; *.tar.gz tar 程序打包的文件,其中并且經過 gzip 的壓縮 *.tar.bz2 tar 程序打包的文件,其中并且經過 bzip2 的壓縮 *.tar.xz tar 程序打包的文件,其中并且經過 xz 的壓縮 ``` ### 3.1.1 gzip, zcat/zmore/zless/zgrep gzip 可以說是應用度最廣的壓縮指令了!目前 gzip 可以解開 compress, zip 與 gzip 等軟件所壓縮的文件。 至于 gzip 所創建的壓縮文件為 *.gz 的文件名喔!讓我們來看看這個指令的語法吧: ``` [dmtsai@study ~]$ gzip [-cdtv#] 文件名 [dmtsai@study ~]$ zcat 文件名.gz 選項與參數: -c :將壓縮的數據輸出到屏幕上,可通過數據流重導向來處理; -d :解壓縮的參數; -t :可以用來檢驗一個壓縮文件的一致性~看看文件有無錯誤; -v :可以顯示出原文件/壓縮文件的壓縮比等信息; -# :# 為數字的意思,代表壓縮等級,-1 最快,但是壓縮比最差、-9 最慢,但是壓縮比最好!默認是 -6 范例一:找出 /etc 下面 (不含子目錄) 容量最大的文件,并將它復制到 /tmp ,然后以 gzip 壓縮 [dmtsai@study ~]$ ls -ldSr /etc/* # 忘記選項意義?請自行 man 啰! .....(前面省略)..... -rw-r--r--. 1 root root 25213 Jun 10 2014 /etc/dnsmasq.conf -rw-r--r--. 1 root root 69768 May 4 17:55 /etc/ld.so.cache -rw-r--r--. 1 root root 670293 Jun 7 2013 /etc/services [dmtsai@study ~]$ cd /tmp [dmtsai@study tmp]$ cp /etc/services . [dmtsai@study tmp]$ gzip -v services services: 79.7% -- replaced with services.gz [dmtsai@study tmp]$ ll /etc/services /tmp/services* -rw-r--r--. 1 root root 670293 Jun 7 2013 /etc/services -rw-r--r--. 1 dmtsai dmtsai 136088 Jun 30 18:40 /tmp/services.gz ``` 當你使用 gzip 進行壓縮時,在默認的狀態下原本的文件會被壓縮成為 .gz 的文件名,原始文件就不再存在了。 這點與一般習慣使用 windows 做壓縮的朋友所熟悉的情況不同喔!要注意!要注意! ``` 范例二:由于 services 是文本文件,請將范例一的壓縮文件的內容讀出來! [dmtsai@study tmp]$ zcat services.gz # 由于 services 這個原本的文件是是文本文件,因此我們可以嘗試使用 zcat/zmore/zless 去讀取! # 此時屏幕上會顯示 servcies.gz 解壓縮之后的原始文件內容! 范例三:將范例一的文件解壓縮 [dmtsai@study tmp]$ gzip -d services.gz # 鳥哥不要使用 gunzip 這個指令,不好背!使用 gzip -d 來進行解壓縮! # 與 gzip 相反, gzip -d 會將原本的 .gz 刪除,回復到原本的 services 文件。 范例五:由范例四再次創建的 services.gz 中,找出 http 這個關鍵字在哪幾行? [dmtsai@study tmp]$ zgrep -n 'http' services.gz 14:# http://www.iana.org/assignments/port-numbers 89:http 80/tcp www www-http # WorldWideWeb HTTP 90:http 80/udp www www-http # HyperText Transfer Protocol .....(下面省略)..... ``` ### 3.1.2 bzip2, bzcat/bzmore/bzless/bzgrep 若說 gzip 是為了取代 compress 并提供更好的壓縮比而成立的,那么 bzip2 則是為了取代 gzip 并提供更佳的壓縮比而來的。 bzip2 真是很不錯用的東西~這玩意的壓縮比竟然比 gzip 還要好~至于 bzip2 的用法幾乎與 gzip 相同!看看下面的用法吧! ``` [dmtsai@study ~]$ bzip2 [-cdkzv#] 文件名 [dmtsai@study ~]$ bzcat 文件名.bz2 選項與參數: -c :將壓縮的過程產生的數據輸出到屏幕上! -d :解壓縮的參數 -k :保留原始文件,而不會刪除原始的文件喔! -z :壓縮的參數 (默認值,可以不加) -v :可以顯示出原文件/壓縮文件的壓縮比等信息; -# :與 gzip 同樣的,都是在計算壓縮比的參數, -9 最佳, -1 最快! 范例一:將剛剛 gzip 范例留下來的 /tmp/services 以 bzip2 壓縮 [dmtsai@study tmp]$ bzip2 -v services services: 5.409:1, 1.479 bits/Byte, 81.51% saved, 670293 in, 123932 out. [dmtsai@study tmp]$ ls -l services* -rw-r--r--. 1 dmtsai dmtsai 123932 Jun 30 18:40 services.bz2 -rw-rw-r--. 1 dmtsai dmtsai 135489 Jun 30 18:46 services.gz # 此時 services 會變成 services.bz2 之外,你也可以發現 bzip2 的壓縮比要較 gzip 好喔!! # 壓縮率由 gzip 的 79% 提升到 bzip2 的 81% ! 范例二:將范例一的文件內容讀出來! [dmtsai@study tmp]$ bzcat services.bz2 范例三:將范例一的文件解壓縮 [dmtsai@study tmp]$ bzip2 -d services.bz2 ``` 看上面的范例,你會發現到 bzip2 連選項與參數都跟 gzip 一模一樣!只是擴展名由 .gz 變成 .bz2 而已!其他的用法都大同小異,所以鳥哥就不一一介紹了! 你也可以發現到 bzip2 的壓縮率確實比 gzip 要好些!不過,對于大容量文件來說,bzip2 壓縮時間會花比較久喔!至少比 gzip 要久的多! 這沒辦法~要有更多可用容量,就得要花費相對應的時間!還 OK 啊! ``` [dmtsai@study ~]$ xz [-dtlkc#] 文件名 [dmtsai@study ~]$ xcat 文件名.xz 選項與參數: -d :就是解壓縮啊! -t :測試壓縮文件的完整性,看有沒有錯誤 -l :列出壓縮文件的相關信息 -k :保留原本的文件不刪除~ -c :同樣的,就是將數據由屏幕上輸出的意思! -# :同樣的,也有較佳的壓縮比的意思! 范例一:將剛剛由 bzip2 所遺留下來的 /tmp/services 通過 xz 來壓縮! [dmtsai@study tmp]$ xz -v services services (1/1) 100 % 97.3 KiB / 654.6 KiB = 0.149 [dmtsai@study tmp]$ ls -l services* -rw-rw-r--. 1 dmtsai dmtsai 123932 Jun 30 19:09 services.bz2 -rw-rw-r--. 1 dmtsai dmtsai 135489 Jun 30 18:46 services.gz -rw-r--r--. 1 dmtsai dmtsai 99608 Jun 30 18:40 services.xz # 各位觀眾!看到沒有啊!!容量又進一步下降的更多耶!好棒的壓縮比! 范例二:列出這個壓縮文件的信息,然后讀出這個壓縮文件的內容 [dmtsai@study tmp]$ xz -l services.xz Strms Blocks Compressed Uncompressed Ratio Check Filename 1 1 97.3 KiB 654.6 KiB 0.149 CRC64 services.xz # 竟然可以列出這個文件的壓縮前后的容量,真是太人性化了!這樣觀察就方便多了! [dmtsai@study tmp]$ xzcat services.xz 范例三:將他解壓縮吧! [dmtsai@study tmp]$ xz -d services.xz 范例四:保留原文件的文件名,并且創建壓縮文件! [dmtsai@study tmp]$ xz -k services ``` 雖然 xz 這個壓縮比真的好太多太多了!以鳥哥選擇的這個 services 文件為范例,他可以將 gzip 壓縮比 (壓縮后/壓縮前) 的 21% 更進一步優化到 15% 耶! 差非常非常多!不過, xz 最大的問題是...時間花太久了!如果你曾經使用過 xz 的話,應該會有發現,他的運算時間真的比 gzip 久很多喔! 鳥哥以自己的系統,通過“ time [gzip|bzip2|xz] -c services > services.[gz|bz2|xz] ”去執行運算結果,結果發現這三個指令的執行時間依序是: 0.019s, 0.042s, 0.261s, 看最后一個數字!差了 10 倍的時間耶!所以,如果你并不覺得時間是你的成本考慮,那么使用 xz 會比較好!如果時間是你的重要成本,那么 gzip 恐怕是比較適合的壓縮軟件喔!
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看