1. 程式人生 > >linux中 gzip bizp2 xz zip怎麼用,解壓縮

linux中 gzip bizp2 xz zip怎麼用,解壓縮

linux 中常用的壓縮指令 

         壓縮  gzip bzip2 xz , 解壓gunzip  unxz bunzip2 解壓對應的壓縮包 *.tar.gz  *.tar.xz  *.tar.bz2(由於 compress 效率底下,已經丟棄不用啦)

選項與引數

          1. -c --stdout --to-stdout 將壓縮的結果輸出標準輸出上,即螢幕。

          2. -d --decompress --uncompress 將壓縮包解壓縮,解壓縮指令不支援該選項

          3. -v  --verbose 過程中顯示詳細資訊,檔名和壓縮比等資訊

          4. -r --recursive 遞迴壓縮目錄及目錄下的檔案

          5. -# --fast --best 指明壓縮等級, # 代表數字 [1-9] 1 壓縮最快壓縮比最差,9壓縮最慢壓縮比最好

          6. -l --list 顯示壓縮檔案的詳細資訊,如 壓縮後文件的大小,壓縮前檔案大小,壓縮率,檔名等

          7. -t  --test 顯示壓縮檔案的完整性

          8. -k  --keep 壓縮或解壓時保留原檔案,該選項 gzip 不支援,bzip2 xz 支援

          9. -f  --fore 強制壓縮或者解壓檔案,如覆蓋檔案等不提示 

   說明:壓縮指令gzip bzip2 xz,解壓縮 指令gunzip bunzip unxz, 其中xz壓縮比最高,但是最費時間,其次是 bzip2,最後是gzip,但是gzip 用度最廣,由於只是壓縮演算法和效率不一樣,因此壓縮指令的用法除了 -k 選項 gzip 不支援,解壓縮指令不支援 -d 選項外,其他都是一樣的,將指令換成其他的指令就就可以了,以下以 gzip 為例

  1. 壓縮一個或多個檔案, 在linux中壓縮和解壓預設都是不保留原檔案的 

gzip -v test1 test2     # 預設以 6 壓縮等級壓縮,壓縮後生成 test1.gz test2.gz檔案,而 test1 test2 檔案則不存在
gzip -v test1.gz test2.gz    #解壓縮test1.gz 檔案,解壓後生成 test1 test2,而 test1.gz test2.gz 檔案將不存在
gunzip -v test1.gz test2.gz  # 同上,解壓縮

  2. ,若要保留,則需要資料量重定向   >

gzip -cv test1 > test1.tar       # 壓縮保留原始檔,該目錄下游 test1 和 test1.tar 兩個檔案
gzip -dcv test1.tar > test1      # 解壓縮保留原始檔,test1檔案不必存在,gzip會自動建立,若已經存在,將會覆蓋該檔案 
gunzip -cv test1.tar > test1

  3.  利用標準輸出 -c 和 重定向  > 壓縮或解壓縮到指定目錄

gzip -vc test2 > testdir/test2.gz      #將test2 壓縮到 testdir中的 test2.gz 檔案
gzip -dvc test2.gz > /tmp/test2      #將test2 解縮到 tmp目錄中的 test2 檔案
gunzip -vc test2.gz > /tmp/test2

  4. 以最大壓縮比壓縮

gzip -v9 test1    #將以9為壓縮等級壓縮,如果檔案過大,耗時比較長

  5. 遞迴壓縮目錄下的所有檔案,目標檔案以原檔案末尾加上 .gz 
gzip -rv mydir/      # mydir 目錄下有檔案 test1 test2 test3 三個檔案,壓縮後 mydir 目錄將有 test1.gz test2.gz test3.gz
gzip -dv ./*       # 解壓當前目錄下所有壓縮檔案
gunzip -v ./*

  6. 檢查壓縮檔案的完整性 及 列出壓縮檔案詳細資訊
[[email protected] testdir]# gzip -vt testa.gz            
testa.gz:        OK
[[email protected] mydir]# gzip -l test1.gz 
         compressed        uncompressed  ratio uncompressed_name
            3953830             4121063   4.1% test1
[[email protected] mydir]# gunzip -l test1.gz 
         compressed        uncompressed  ratio uncompressed_name
            3953830             4121063   4.1% test1           #沒有錯,gunzip 也支援列出詳細資訊 

  7. bzip2 xz 保留原始檔壓縮,當然 bzip2 xz 也可以用上面的 重定向資料流來壓縮或解壓檔案
bzip -k testa     #將testa 檔案壓縮成 testa.bz2,同時 testa 檔案不刪除

        更多; zip 壓縮指令 與 unzip 解壓指令,為了相容windows下面的壓縮包,linux中也能用zip打包,即windows中的 *.zip 包也可以在linux中也能用 unzip 指令解壓,同樣 zip unzip也像window中那樣是保留原檔案的,zip/unzip 複雜的選項特別多,這裡介紹常用的選項

  zip

      -r:遞迴壓縮目錄下的檔案和子目錄

zip -r testdir.zip testdir/    # testdir 目錄中有多個檔案,將所有檔案壓縮到當前目錄中的testdir.zip

      -m:將檔案壓縮後新增壓縮包,並刪除原檔案;

zip -m test1.zip test2  # 將test2 壓縮後新增到 test1.zip 中,此時test1.zip 中含有 test1 test2 兩個檔案,但是當前目錄中的test2 這個檔案就刪除沒有了, -m 與 -g 選項的區別就是保留與不保留的區別

      -u:將更新的檔案新增到壓縮包中

zip -u test.zip test4    # test.zip 中含有 test1 test4 這個兩個檔案,我將test4 這個檔案修改後,更新test.zip 中的test4 內容,更新後,test4 這個檔案保留

        -P: 大寫的p,加密壓縮,為壓縮包指定密碼,即解壓時需要輸入密碼

zip -P 123 test1.zip test1      # 加密壓縮, 123 是密碼,test1.zip 壓縮後的檔案,test1 被壓縮的檔案
      -v:顯示壓縮過程

      -[0-9]:執行壓縮等級

      -g:將檔案壓縮並新增到已有的壓縮包,不新建壓縮包,且不刪除原檔案

 zip -g test.zip test3         # test.zip 含有 test1 test2檔案,現在將test3 加入到 test.zip 中,test.zip 中將有 test1 test2 test3 這三個檔案,且當前目錄中的test3檔案不會刪除

   unzip: 解壓 .zip 的壓縮包,同windows 下的解壓風格,解壓後保留原檔案的

       -v 顯示執行過程的詳細資訊

       -c 將解壓的結果輸出標準輸出上,即螢幕

unzip -c test1.zip > test1       # 將test1.zip 解壓到test1這個檔案

       -d 將檔案解壓到指定的目錄

[[email protected] mydir]#unzip test1.zip -d /tmp/mydir/testdir/    #將test1.zip 解壓到 /tmp/mydir/testdir 目錄下,該目錄下將含有 test1這個檔案,同時 test1.zip 這個檔案保留
Archive:  test1.zip

       -l 顯示壓縮包中的檔案資訊

[[email protected] mydir]# unzip -l test1.zip    #顯示 test1.zip 檔案資訊
Archive:  test1.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
  4121063  11-09-2017 22:29   test1
---------                     -------
  4121063                     1 file

       - P 解壓時指定密碼,針對加密碼的壓縮包

[[email protected] mydir]#unzip test1.zip       # 解壓上面的加密壓縮包
Archive:  test1.zip
[test1.zip] test1 password:      #輸入密碼 123
  inflating: test1                   
[[email protected] mydir]# 

         -o 若用同名檔案,不詢問使用者,直接覆蓋掉
[[email protected] mydir]#unzip test1.zip     #改目錄下已經有test1這個檔案,解壓時將詢問
Archive:  test1.zip
replace test1? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
  inflating: test1                           
[[email protected] mydir]# unzip -o test1.zip    #強行覆蓋,不做任何資訊
Archive:  test1.zip
  inflating: test1                   
[[email protected] mydir]# 

zcat/ bzcat/ xzcat       zmore/ bzmore/ xzmore      zless/ bzless/ xzless  zgrep/ bzgrep/ xzgrep

這些指令就是不解壓檔案讀取壓縮檔案的內容,

  其中 zcat 讀取 *.gz  *.zip 壓縮包檔案的內容

           bzcat讀取 *.bz2 壓縮包檔案的內容

           xzcat讀取 *.xz 壓縮包檔案的內容

           zmore 讀取檔案是結合more工具

           zless 讀取檔案時結合 less工具

           zgrep 不解壓包搜尋壓縮檔案的內容,支援正則表示式

相關推薦

linux gzip bizp2 xz zip怎麼壓縮

linux 中常用的壓縮指令           壓縮  gzip bzip2 xz , 解壓gunzip  unxz bunzip2 解壓對應的壓縮包 *.tar.gz  *.tar.xz  *.tar.bz2(由於 compress 效率底下,已經丟棄不用啦) 選項

linuxgzip、bzip2、zip、unzip、tar使用介紹

gzip lin mes ffi 級別 unrar 不可 信息 ble 壓縮解壓縮命令介紹.gz 壓縮為gzip文件.bz2 壓縮為bzip2文件.tar 打包文件,將多個文件合並成一個目錄.tar.gz 先打成tar包,再壓縮為gzip文件.tar.bz2 先打成tar包

通過調支付寶查詢對賬單接口返回bill_download_url下載zip壓縮

read new edi p2s turn zipentry path public ipa 通過url下載zip對賬單文件,進行解壓。 讀取壓縮文件內容 import java.io.BufferedOutputStream; import java.io.Buffer

LinuxCache內存占過高解決辦法

格式化 left ack 當前 區別 專業 技術分享 表示 進行 在Linux系統中,我們經常用free命令來查看系統內存的使用狀態。在一個RHEL6的系統上,free命令的顯示內容大概是這樣一個狀態: 這裏的默認顯示單位是kb,我的服務器是128G內存,所以數字顯得

linux單引號、 雙引號反引號的區別

單引號、 雙引號反引號的區別1、單引號、雙引號用於用戶把帶有空格的字符串賦值給變量的分界符。  [root@localhost sh]# str="Today is Monday"  [root@localhost sh]# echo $str  Today is Monday  如果沒有

壓縮命令 gzip bzip2 xz zip

gzip xz zip bzip2 壓縮命令 1.壓縮命令gzipgzip不能壓縮目錄,可以指定壓縮級別1-9,默認級別是6,壓縮格式是gz。不保留源文件1.1 gzip使用方法格式:gzip [選項] 參數 選項:不加選項:壓縮-d:解壓-c:將壓縮的數據傳輸到屏幕上,可通過數據流重定向

linux命令突然不能

先用:echo $PATH 發現path丟失:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin 於是用臨時環境變數 export PATH=$PATH:/usr/local/sbi

Linux磁碟的管理(格式化分割槽掛載)

      今天主要跟大家分享一下有關linux中磁碟管理方面的知識,在這之前先跟大家普及一下磁碟的基礎概念: 一.磁碟的概念:          磁碟:計算機的外部儲存器裝置,是一種利用電流的磁效應為工作原

【mybatis】欄位儲存多個值”隔開如何查詢

目錄 做專案遇到這種情況,欄位中儲存多個值用“,”隔開。這種應該如何查詢呢。 做個簡單的例子: 表: 判斷一個值是否存在其中(FIND_IN_SET) SELECT *

解決Oracle缺少動態連結庫cannot open shared object file: No such file o;解決 Linuxpython指令碼執行無問題配置crontab定時任務報錯

注:該問題的本質是:缺少動態連結庫 20181030更: 在另一臺伺服器再次遇到類似的問題,也是直接執行python指令碼無問題,在crontab中報錯: ImportError: libclntsh.so.11.1: cannot open shared ob

Linuxrz和sz命令用法詳上傳下載命令

在linux中rz 和 sz 命令允許開發板與主機通過串列埠進行傳遞檔案了,下面我們就來簡單的介紹一下rz 和 sz 命令的例子。 rz,sz是Linux/Unix同Windows進行ZModem檔案傳輸的命令列工具。 優點就是不用再開一個sftp工具登入上去上傳下載檔案。

linux輸出每個group的戶成員

並排 使用 etc 相關信息 lin 及其 pass 串行化 相關 先提供使用文件一步一步獲取相關信息: 1. 獲取所有的用戶: awk -F: ‘{print $1 > "1.txt"}‘ /etc/passwd 2. 獲取每個用戶, 及其組: awk ‘{val=

已解決:登入Linux後好多命令不能如使用service會報錯service command not found

su 或者 su root:的話只是將當前身份轉為root,使用者shell並沒有改變.所以有些系統命令不能使用. su -或者su -l或者su -l root,可以完全的將當前環境轉為root環境.如同root直接登陸. 其次,service的路徑為/sbin

linux關於檢視程序埠號關閉程序

1.檢視所有啟動的埠號 >netstat -tulp 2.檢視某個埠或者程式名稱 >netstat -tulp|grep 6379 或者 >netstat -tulp|grep redis *使用ps檢視資訊更詳細: 根據埠號查詢: >ps

linux如何檢視程序啟動時間持續時長

[[email protected] Transsoft]# ps -eo pid,lstart,etime | grep 5359 5359 Tue Sep 16 14:47:22 2014       00:43 其中5359為程序號,方便做過濾用的 Tue

linux通過shell指令碼複製檔案並用時間戳命名

其中/var/log/ha/ha.log該檔案是被複制檔案,var/log/ha/log/$currentTimeStamp時間戳生成的檔案複製的檔案,/var/log/ha/cp_info.log是實行本shell的操作記錄,同時本currentTimeStamp時間戳是長

升級Linux tar &&解決某tar壓失敗的tar包

更新 文件名 發現 目錄 ftp 估計 決定 bin div 今天解壓個文件,出來很多這樣的: /bin/tar: Ignoring unknown extended header keyword `SCHILY.dev‘/bin/tar: Ignoring unknown

Linux搭建一個ftp服務器詳

使用 -o /etc 架設 /etc/ pam.d apache服務器 傳輸數據 ftp服務器 來源:Linux社區 作者:luzhi1024 詳解Linux中搭建一個ftp服務器。 ftp工作是會啟動兩個通道:控制通道 , 數據通道在ftp協議中,控制連接均是由客戶端發

tar gz bz2 xz zip z歸檔、壓縮壓縮

默認 不同 unxz arch 信息 zip壓縮 壓縮命令 完成後 調用 壓縮、解壓縮命令壓縮格式:gz, bz2, xz, zip, Z壓縮算法:算法不同,壓縮比也會不同;compress: FILENAME.Zuncompressgzip: .gz gzip /PATH

Linux/etc/passwd 和 /etc/shadows 詳

賬號 nologin var game tcs 發布 文件中 用戶組 8K linux操作系統上的用戶如果需要登錄主機,當其輸入用戶名和密碼之後: 首先在/etc/passwd文件中查找是否有你的賬號,如果沒有無法登錄,如果有的話將該用戶的UID和GID讀出來,此外將此用