tar命令使用手冊

tar
-c: 建立壓縮檔案
-x:解壓
-t:查看內容
-r:向壓縮歸檔文件末尾追加文件
-u:更新原壓縮包中的文件
這五個是獨立的命令,壓縮解壓都要用到其中一個,可以和別的命令連用但只能用其中一個。下面的參數是根據需要在壓縮或解壓檔案時可選的。


-z:有gzip屬性的
-j:有bz2屬性的
-Z:有compress屬性的
-v:顯示所有過程
-O:將文件解開到標準輸出
下面的參數-f是必須的
-f: 使用檔案名字,切記,這個參數是最後一個參數,後面只能接檔案名。
# tar -cf all.tar *.jpg 
這條命令是將所有.jpg的文件打成一個名爲all.tar的包。-c是表示產生新的包,-f指定包的文件名。
# tar -rf all.tar *.gif 
這條命令是將所有.gif的文件增加到all.tar的包裏面去。-r是表示增加文件的意思。 


# tar -uf all.tar logo.gif 
這條命令是更新原來tar包all.tar中logo.gif文件,-u是表示更新文件的意思。 


# tar -tf all.tar 
這條命令是列出all.tar包中所有文件,-t是列出文件的意思 


# tar -xf all.tar 
這條命令是解出all.tar包中所有文件,-t是解開的意思 
壓縮
tar –cvf jpg.tar *.jpg //將目錄裏所有jpg文件打包成tar.jpg
tar –czf jpg.tar.gz *.jpg   //將目錄裏所有jpg文件打包成jpg.tar後,並且將其用gzip壓縮,生成一個gzip壓縮過的包,命名爲jpg.tar.gz
tar –cjf jpg.tar.bz2 *.jpg //將目錄裏所有jpg文件打包成jpg.tar後,並且將其用bzip2壓縮,生成一個bzip2壓縮過的包,命名爲jpg.tar.bz2
tar –cZf jpg.tar.Z *.jpg   //將目錄裏所有jpg文件打包成jpg.tar後,並且將其用compress壓縮,生成一個umcompress壓縮過的包,命名爲jpg.tar.Z
rar a jpg.rar *.jpg //rar格式的壓縮,需要先下載rar for linux
zip jpg.zip *.jpg //zip格式的壓縮,需要先下載zip for linux
解壓
tar –xvf file.tar //解壓 tar包
tar -xzvf file.tar.gz //解壓tar.gz
tar -xjvf file.tar.bz2   //解壓 tar.bz2
tar –xZvf file.tar.Z   //解壓tar.Z
unrar e file.rar //解壓rar
unzip file.zip //解壓zip
總結
1、*.tar 用 tar –xvf 解壓
2、*.gz 用 gzip -d或者gunzip 解壓
3、*.tar.gz和*.tgz 用 tar –xzf 解壓
4、*.bz2 用 bzip2 -d或者用bunzip2 解壓
5、*.tar.bz2用tar –xjf 解壓
6、*.Z 用 uncompress 解壓
7、*.tar.Z 用tar –xZf 解壓
8、*.rar 用 unrar e解壓
9、*.zip 用 unzip 解壓
  .tar.gz 
  解壓:tar zxvf FileName.tar.gz 
  壓縮:tar zcvf FileName.tar.gz DirName1 DirName2
         大致總結了一下linux下各種格式的壓縮包的壓縮、解壓方法。但是部分方法我沒有用到,也就不全,希望大家幫我補充,我將隨時修改完善,謝謝!
  .tar
  解包:tar xvf FileName.tar
  打包:tar cvf FileName.tar DirName
  (注:tar是打包,不是壓縮!)
  ---------------------------------------------
  .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 DirName
  ---------------------------------------------
  .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 DirName
  ---------------------------------------------
  .bz
  解壓1:bzip2 -d FileName.bz
  解壓2:bunzip2 FileName.bz
  壓縮:未知
  .tar.bz
  解壓:tar jxvf FileName.tar.bz
  壓縮:未知
  ---------------------------------------------
  .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/


  參考文獻:Linux 文件壓縮工具指南
(其實看幫助是最好的方法,一般各個命令都可以用“--help”參數得到常用使用方法!)
  用戶經常需要備份計算機系統中的數據,爲了節省存儲空間,常常將備份文件進行壓縮。下面分別介紹備份與壓縮的命令。
  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 對每個壓縮文件,顯示下列字段:
  壓縮文件的大小
  未壓縮文件的大小
  壓縮比
  未壓縮文件的名字
  -r 遞歸式地查找指定目錄並壓縮其中的所有文件或者是解壓縮。
  -t 測試,檢查壓縮文件是否完整。
  -v 對每一個壓縮和解壓的文件,顯示文件名和壓縮比。
  -num 用指定的數字num調整壓縮的速度,-1或--fast表示最快壓縮方法(低壓縮比),-9或--best表示最慢壓縮方法(高壓縮比)。系統缺省值爲6。
  假設一個目錄/home下有文件mm.txt、sort.txt、xx.com。
  例1:把/home目錄下的每個文件壓縮成.gz文件。
  $ cd /home
  $ gzip *
  $ ls
  m.txt.gz sort.txt.gz xx.com.gz
  例2:把例1中每個壓縮的文件解壓,並列出詳細的信息。
  $ gzip -dv *
  mm.txt.gz 43.1%-----replaced with mm.txt
  sort.txt.gz 43.1%-----replaced with sort.txt
  xx.com.gz 43.1%-----replaced with xx.com
  $ ls
  mm.txt sort.txt xx.com


  例3:詳細顯示例1中每個壓縮的文件的信息,並不解壓。
  $ gzip -l *
  compressed uncompr. ratio uncompressed_name
  277 445 43.1% mm.txt
  278 445 43.1% sort.txt
  277 445 43.1% xx.com
  $ ls
  mm.txt.gz sort.txt.gz xx.com.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命令
  這個命令的功能是在壓縮文件中尋找匹配的正則表達式,用法和grep命令一樣,只不過操作的對象是壓縮文件。如果用戶想看看在某個壓縮文件中有沒有某一句話,便可用zgrep命令。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章