linux下各種檔案格式的壓縮以及解壓縮命令(長期更新)

來源:互聯網
上載者:User

-----------------------------------------華麗分割線--------------------------


.tar.gz 
 解壓:tar zxvf FileName.tar.gz 
 壓縮:tar zcvf FileName.tar.gz dirName

solaris下解壓 *.tar.gz可能有些不同,按照以下兩步實現解壓:

1、gzip -d *.tar.gz

2、tar xvf *.tar

第一步,先把*.tar.gz格式解壓成*.tar格式

第二步,直接解壓*.tar格式檔案,完成解壓

----------------------------------------------------------------------------------------------
.tar
  解包:tar xvf FileName.tar      tar xvf FileName.tar -C DirName(解壓到指定檔案夾DirName)
  打包:tar cvf FileName.tar DirName
-----------------------------------------------------------------------------------------------
.gz
  解壓1:gunzip FileName.gz
  解壓2:gzip -d FileName.gz
  壓縮:gzip FileName
.tar.gz 和 .tgz
  解壓:tar zxvf FileName.tar.gz
  壓縮:tar zcvf FileName.tar.gz FileName
---------------------------------------------------------------------------------------------
.bz2
  解壓1:bzip2 -d FileName.bz2
  解壓2:bunzip2 FileName.bz2

  壓縮: bzip2 -z FileName

.tar.bz2
  解壓:tar jxvf FileName.tar.bz2
  壓縮:tar jcvf FileName.tar.bz2 FileName
---------------------------------------------------------------------------------------------
.bz
  解壓1:bzip2 -d FileName.bz
  解壓2:bunzip2 FileName.bz
  壓縮:未知
.tar.bz
  解壓:tar jxvf FileName.tar.bz
  壓縮:tar jcvf FileName.tar.bz FileName
---------------------------------------------------------------------------------------------
.z
  解壓:uncompress FileName.Z
  壓縮:compress FileName
.tar.z
  解壓:tar zxvf FileName.tar.z
  壓縮:tar zcvf FileName.tar.z DirName
---------------------------------------------------------------------------------------------
.zip
  解壓:unzip FileName.zip
  壓縮:zip FileName.zip DirName
---------------------------------------------------------------------------------------------
.rar
  解壓:rar x FileName.rar
  壓縮:rar a FileName.rar DirName

  rar請到:http://www.rarsoft.com/download.htm 下載。
  解壓後請將rar_static拷貝到/usr/bin目錄(其他由$PATH環境變數指定的目錄也可以):
  [root@www2 tmp]# cp rar_static /usr/bin/rar
---------------------------------------------------------------------------------------------

.lha
  解壓:lha -e FileName.lha
  壓縮:lha -a FileName.lha FileName

  lha請到:http://www.infor.kanazawa-it.ac.jp/~ishii/lhaunix/下載。
  >解壓後請將lha拷貝到/usr/bin目錄(其他由$PATH環境變數指定的目錄也可以):
  [root@www2 tmp]# cp lha /usr/bin/
---------------------------------------------------------------------------------------------
.rpm
  解包:rpm2cpio FileName.rpm | cpio -div
---------------------------------------------------------------------------------------------
.deb
  解包:ar p FileName.deb data.Tar.gz | Tar zxf -
---------------------------------------------------------------------------------------------
.Tar .tgz .Tar.gz .Tar.Z .Tar.bz .Tar.bz2 .zip .cpio .rpm

.deb .slp .arj .rar .ace .lha .lzh .lzx .lzs .arc .sda .sfx .lnx

.zoo .cab .kar .cpt .pit .sit .sea
  解壓:sEx x FileName.*
  壓縮:sEx a FileName.* FileName

  sEx只是調用相關程式,本身並無壓縮、解壓功能,請注意。
  sEx請到: http://sourceforge.net/projects/sex下載。
  解壓後請將sEx拷貝到/usr/bin目錄(其他由$PATH環境變數指定的目錄也可以):
  [root@www2 tmp]# cp sEx /usr/bin/

---------------------------------------------------------------------------------------------

tar命令

  tar可以為檔案和目錄建立檔案。利用Tar,使用者可以為某一特定檔案建立檔案(備份檔案),也可以在檔案中改變檔案,或者向檔案中加入新的檔案。 Tar最初被用來在磁帶上建立檔案,現在使用者可以在任何裝置上建立檔案,如磁碟片。利用Tar命令,可以把一大堆的檔案和目錄全部打包成一個檔案,這對於備份檔案或將幾個檔案組合成為一個檔案以便於網路傳輸是非常有用的。Linux上的Tar是GNU版本的。

文法:tar [主選項+輔選項] 檔案或者目錄

  使用該命令時,主選項是必須要有的,它告訴tar要做什麼事情,輔選項是輔助使用的,可以選用。

主選項:

  c 建立新的檔案檔案。如果使用者想備份一個目錄或是一些檔案,就要選擇這個選項。

  r 把要存檔的檔案追加到檔案檔案的未尾。例如使用者已經作好備份檔案,後發現還有一個目錄或檔案需要備份追加,這時可以使用該選項。

  t 列出檔案檔案的內容,查看已經備份了哪些檔案。

  u 更新檔案。就是說,用新增的檔案取代原備份檔案,如果在備份檔案中找不到要更新的檔案,則把它追加到備份檔案的最後。

  x 從檔案檔案中釋放檔案。

輔助選項:

  b 該選項是為磁帶機設定的。其後跟一數字,用來說明區塊的大小,系統預設值為20(20*512 bytes)。

  f 使用檔案檔案或裝置,這個選項通常是必選的。

  k 儲存已經存在的檔案。例如我們把某個檔案還原,在還原的過程中,遇到相同的檔案,不會進行覆蓋。

  m 在還原檔案時,把所有檔案的修改時間設定為現在。

  M 建立多卷的檔案檔案,以便在幾個磁碟中存放。

  v 詳細報告tar處理的檔案資訊。如無此選項,tar不報告檔案資訊。

  w 每一步都要求確認。

  z 用gzip來壓縮/解壓縮檔案,加上該選項後可以將檔案檔案進行壓縮,但還原時也一定要使用該選項進行解壓縮。

例1:把/home目錄下包括它的子目錄全部做備份檔案,備份檔案名為usr.tar。

  $ tar cvf usr.tar /home

例2:把/home目錄下包括它的子目錄全部做備份檔案,並進行壓縮,備份檔案名為usr.tar.gz 。

  $ tar czvf usr.tar.gz /home

例3:把usr.tar.gz這個備份檔案還原並解壓縮。

  $ tar xzvf usr.tar.gz

例4:查看usr.tar備份檔案的內容,並以分屏方式顯示在顯示器上。

  $ tar tvf usr.tar | more

  要將檔案備份到一個特定的裝置,只需把裝置名稱作為備份檔案名。

例5:使用者在/dev/fd0裝置的磁碟片中建立一個備份檔案,並將/home 目錄中所有的檔案都拷貝到備份檔案中。

  $ tar cf /dev/fd0 /home

  要恢複裝置磁碟中的檔案,可使用xf選項:

  $ tar xf /dev/fd0

  如果使用者備份的檔案大小超過裝置可用的存貯空間,如磁碟片,您可以建立一個多卷的tar備份檔案。M選項指示tar命令提示您使用一個新的存貯裝置,當使用M選項向一個軟碟機進行存檔時,tar命令在一張磁碟片已滿的時候會提醒您再放入一張新的磁碟片。這樣您就可以把tar檔案存入幾張磁碟中。

  $ tar cMf /dev/fd0 /home

  要恢複幾張盤中的檔案,只要將第一張放入軟碟機,然後輸入有x和M選項的tar命令。在必要時您會被提醒放入另外一張磁碟片。

  $ tar xMf /dev/fd0

---------------------------------------------------------------------------------------------

gzip命令

減少檔案大小有兩個明顯的好處,一是可以減少儲存空間,二是通過網路傳輸檔案時,可以減少傳輸的時間。gzip是在Linux系統中經常使用的一個對檔案進行壓縮和解壓縮的命令,既方便又好用。

文法:gzip [選項] 壓縮(解壓縮)的檔案名稱

  各選項的含義:

  -c 將輸出寫到標準輸出上,並保留原有檔案。

  -d 將壓縮檔解壓。

  -l 對每個壓縮檔,顯示下欄欄位:

   壓縮檔的大小(compressed)

   未壓縮檔的大小(uncompressed)

   壓縮比(ratio)

   未壓縮檔的名字(uncompressed_name)

  -r 遞迴式地尋找指定目錄並壓縮其中的所有檔案或者是解壓縮。

  -t 測試,檢查壓縮檔是否完整。

  -v 對每一個壓縮和解壓的檔案,顯示檔案名稱和壓縮比。

  -num 用指定的數字num調整壓縮的速度,-1(--fast)表示最快壓縮方法(低壓縮比),-9(--best)表示最慢壓縮方法(高壓縮比)。系統預設值為6。

假設一個目錄/home下有檔案123  aaa  abc

例1:把/home目錄下的每個檔案壓縮成.gz檔案。

  $ cd /home

  $ gzip *

  $ ls

  123.gz  aaa.gz  abc.gz

例2:把例1中每個壓縮的檔案解壓,並列出詳細的資訊。

  $ gzip -dv *   123.gz: -50.0% -- replaced with 123
  aaa.gz: -50.0% -- replaced with aaa
  abc.gz: -50.0% -- replaced with abc

  $ ls

  123  aaa  abc

例3:詳細顯樣本1中每個壓縮的檔案的資訊,並不解壓。

  $ gzip -l *          compressed        uncompressed  ratio uncompressed_name
                 28                   4 -50.0% 123
                 28                   4 -50.0% aaa
                 28                   4 -50.0% abc
                 84                  12 -416.7% (totals)

  $ ls

  123.gz  aaa.gz  abc.gz

例4:壓縮一個tar備份檔案,如usr.tar,此時壓縮檔的副檔名為.tar.gz

  $ gzip usr.tar

  $ ls

  usr.tar.gz


---------------------------------------------------------------------------------------------

unzip命令

用MS Windows下的壓縮軟體winzip壓縮的檔案如何在Linux系統下展開呢。可以用unzip命令,該命令用於解副檔名為.zip的壓縮檔。

文法:unzip [選項] 壓縮檔名.zip

  各選項的含義分別為:

  -x 檔案清單 解壓縮檔案,但不包括指定的file檔案。

  -v 查看壓縮檔目錄,但不解壓。

  -t 測試檔案有無損壞,但不解壓。

  -d 目錄 把壓縮檔解到指定目錄下。

  -z 只顯示壓縮檔的註解。

  -n 不覆蓋已經存在的檔案。

  -o 覆蓋已存在的檔案且不要求使用者確認。

  -j 不重建文檔的目錄結構,把所有檔案解壓到同一目錄下。

例1:將壓縮檔text.zip在目前的目錄下解壓縮。

  $ unzip text.zip

例2:將壓縮檔text.zip在指定目錄/tmp下解壓縮,如果已有相同的檔案存在,要求unzip命令不覆蓋原先的檔案。

  $ unzip -n text.zip -d /tmp

例3:查看壓縮檔目錄,但不解壓。

  $ unzip -v text.zip

---------------------------------------------------------------------------------------------

zgrep命令

這個命令的功能是在壓縮檔中尋找匹配的Regex,用法和grep命令一樣,只不過操作的對象是壓縮檔。如果使用者想看看在某個壓縮檔中有沒有某一句話,便可用zgrep命令。







聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.