linux解壓 tar命令

 

tar命令
tar [-cxtzjvfpPN] 文件與目錄 .... 
參數: 
-c :創建一個壓縮文件的參數指令(create 的意思); 
-x :解開一個壓縮文件的參數指令! 
-t :查看 tarfile 裏面的文件! 
特別注意,在參數的下達中, c/x/t 僅能存在一個!不可同時存在! 
由於不可能同時壓縮與解壓縮。 
-z :是否同時具備 gzip 的屬性?亦便是否須要用 gzip 壓縮? 
-j :是否同時具備 bzip2 的屬性?亦便是否須要用 bzip2 壓縮? 
-v :壓縮的過程當中顯示文件!這個經常使用,但不建議用在背景執行過程! 
-f :使用檔名,請留意,在 f 以後要當即接檔名喔!不要再加參數! 
   例如使用『 tar -zcvfP tfile sfile』就是錯誤的寫法,要寫成 
   『 tar -zcvPf tfile sfile』纔對喔! 
-p :使用原文件的原來屬性(屬性不會依據使用者而變) 
-P :可使用絕對路徑來壓縮! 
-N :比後面接的日期(yyyy/mm/dd)還要新的纔會被打包進新建的文件中! 
--exclude FILE:在壓縮的過程當中,不要將 FILE 打包! 
範例:
 
範例一:將整個 /etc 目錄下的文件所有打包成爲 /tmp/etc.tar 
[root@linux ~]#
  tar -cvf /tmp/etc.tar /etc <==僅打包,不壓縮! 
[root@linux ~]#  tar -zcvf /tmp/etc.tar.gz /etc <==打包後,以 gzip 壓縮 
[root@linux ~]#  tar -jcvf /tmp/etc.tar.bz2 /etc <==打包後,以 bzip2 壓縮 
# 特別注意,在參數 f 以後的文件檔名是本身取的,咱們習慣上都用 .tar 來做爲辨識。 
# 若是加 z 參數,則以 .tar.gz 或 .tgz 來表明 gzip 壓縮過的 tar file ~ 
# 若是加 j 參數,則以 .tar.bz2 來做爲附檔名啊~ 
# 上述指令在執行的時候,會顯示一個警告訊息: 
# 『tar: Removing leading `/" from member names』那是關於絕對路徑的特殊設定。
範例二:查閱上述 /tmp/etc.tar.gz 文件內有哪些文件? 
[root@linux ~]#  tar -ztvf /tmp/etc.tar.gz 
# 由於咱們使用 gzip 壓縮,因此要查閱該 tar file 內的文件時, 
# 就得要加上 z 這個參數了!這很重要的!
範例三:將 /tmp/etc.tar.gz 文件解壓縮在 /usr/local/src 底下 
[root@linux ~]#  cd /usr/local/src 
[root@linux src]#  tar -zxvf /tmp/etc.tar.gz 
# 在預設的狀況下,咱們能夠將壓縮檔在任何地方解開的!以這個範例來講, 
# 我先將工做目錄變換到 /usr/local/src 底下,而且解開 /tmp/etc.tar.gz , 
# 則解開的目錄會在 /usr/local/src/etc 呢!另外,若是您進入 /usr/local/src/etc 
# 則會發現,該目錄下的文件屬性與 /etc/ 可能會有所不一樣喔!
範例四:在 /tmp 底下,我只想要將 /tmp/etc.tar.gz 內的 etc/passwd 解開而已 
[root@linux ~]#  cd /tmp 
[root@linux tmp]#  tar -zxvf /tmp/etc.tar.gz etc/passwd 
# 我能夠透過 tar -ztvf 來查閱 tarfile 內的文件名稱,若是單隻要一個文件, 
# 就能夠透過這個方式來下達!注意到! etc.tar.gz 內的根目錄 / 是被拿掉了!
範例五:將 /etc/ 內的全部文件備份下來,而且保存其權限! 
[root@linux ~]#  tar -zxvpf /tmp/etc.tar.gz /etc 
# 這個 -p 的屬性是很重要的,尤爲是當您要保留本來文件的屬性時!
範例六:在 /home 當中,比 2005/06/01 新的文件才備份 
[root@linux ~]#  tar -N "2005/06/01" -zcvf home.tar.gz /home
範例七:我要備份 /home, /etc ,但不要 /home/dmtsai 
[root@linux ~]#  tar --exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc
範例八:將 /etc/ 打包後直接解開在 /tmp 底下,而不產生文件! 
[root@linux ~]#  cd /tmp 
[root@linux tmp]#  tar -cvf - /etc | tar -xvf - 
# 這個動做有點像是 cp -r /etc /tmp 啦~依舊是有其有用途的! 
# 要注意的地方在於輸出檔變成 - 而輸入檔也變成 - ,又有一個 | 存在~ 
# 這分別表明 standard output, standard input 與管線命令啦!
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
———————————————
.lha
解壓:lha -e FileName.lha
壓縮:lha -a FileName.lha FileName
———————————————
.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只是調用相關程序,自己並沒有壓縮、解壓功能,請注意!
gzip 命令 
減小文件大小有兩個明顯的好處,一是能夠減小存儲空間,二是經過網絡傳輸文件時,能夠減小傳輸的時間。gzip 是在 Linux 系統中常用的一個對文件進行壓縮和解壓縮的命令,既方便又好用。
語法:gzip [選項] 壓縮(解壓縮)的文件名該命令的各選項含義以下:
-c 將輸出寫到標準輸出上,並保留原有文件。-d 將壓縮文件解壓。-l 對每一個壓縮文件,顯示下列字段:     壓縮文件的大小;未壓縮文件的大小;壓縮比;未壓縮文件的名字-r 遞歸式地查找指定目錄並壓縮其中的全部文件或者是解壓縮。-t 測試,檢查壓縮文件是否完整。-v 對每個壓縮和解壓的文件,顯示文件名和壓縮比。-num 用指定的數字 num 調整壓縮的速度,-1 或 --fast 表示最快壓縮方法(低壓縮比),-9 或--best表示最慢壓縮方法(高壓縮比)。系統缺省值爲 6。指令實例:
gzip *% 把當前目錄下的每一個文件壓縮成 .gz 文件。gzip -dv *% 把當前目錄下每一個壓縮的文件解壓,並列出詳細的信息。gzip -l *% 詳細顯示例1中每一個壓縮的文件的信息,並不解壓。gzip usr.tar% 壓縮 tar 備份文件 usr.tar,此時壓縮文件的擴展名爲.tar.gz。
Linux中文件的壓縮與解壓縮
(李革新 2001年06月28日 14:02)

對許多用戶來講,在DOS和Windows環境下利用工具軟件ARJ、Winzip等,壓縮或解壓文件是比較容易的事。可是,在Linux中如何對文件進行壓縮與解壓呢?本文基於Red Hat 6.0,介紹了壓縮與解壓文件的幾種方法與技巧,但願對讀者有必定的幫助。 

命令 compress
格式 compress 選項 文件列表
功能 用Lempel-ziv壓縮方法來壓縮文件或壓縮標準輸入
選項 -r 遞歸操做,若是指定目錄變元,則壓縮該目錄及其子目錄中的全部文件。
-c 將壓縮數據返回標準輸出,而缺省狀況下爲壓縮文件時將壓縮數據返回文件。
-v 顯示每一個文件夾的壓縮百分比。
解釋 在用compress壓縮文件時,將在原文件名以後加上擴展名.Z。若是不指定文件,則壓縮標準輸入,其結果返回標準輸出。
實例 目的:壓縮/mnt/lgx/a1.doc文件
命令:#compress /mnt/lgx/a1.doc
結果:壓縮後生成a1.doc.Z文件。
 
命令 uncompress
格式 uncompress 選項 文件列表
功能 解壓縮用compress 程序壓縮過的文件
選項 -c 它將壓縮數據發往標準輸出而不是改寫舊的壓縮文件
解釋 若是不指定文件,則解壓縮標準輸入。缺省-c時,爲解壓縮。
實例 目的:解壓縮/mnt/lgx/a1.doc.Z
命令:# uncompress /mnt/lgx/a1.doc.Z
 
命令 gzip
格式 gzip 選項 文件目錄列表
功能 用Lempel-ziv編碼壓縮文件
選項 -c 壓縮結果寫入標準輸出,原文件保持不變。缺省時gzip將原文件壓縮爲.gz文件,並刪除原文件。
-v 輸出處理信息。
-d 解壓縮指定文件。
-t 測試壓縮文件的完整性。
解釋 值得一提的是,gzip比compress壓縮更加有效。
實例 目的:壓縮/mnt/lgx/a1.doc
命令:#gzip -v /mnt/lgx/a1.doc
結果:產生a1.doc.gz的壓縮文件
 
命令 gunzip
格式 gunzip 選項 文件列表
功能 解壓縮用gzip命令(以及compress和zip命令)壓縮過的文件
選項 -c 將輸出寫入標準輸出,原文件保持不變。缺省時,gunzip將壓縮文件變成解壓縮文件。
-l 列出壓縮文件中的文件而不解壓縮。
-r 遞歸解壓縮,深刻目錄結構中,解壓縮命令行變元所指定目錄中的全部子目錄內的文件。
實例 目的:解壓縮/mnt/lgx/a1.doc.gz
命令:#gunzip /mnt/lgx/a1.doc.gz
 
命令 tar
格式 tar 選項 文件目錄列表
功能 對文件目錄進行打包備份
選項 -c 創建新的歸檔文件
-r 向歸檔文件末尾追加文件
-x 從歸檔文件中解出文件
-O 將文件解開到標準輸出
-v 處理過程當中輸出相關信息
-f 對普通文件操做
-z 調用gzip來壓縮歸檔文件,與-x聯用時調用gzip完成解壓縮
-Z 調用compress來壓縮歸檔文件,與-x聯用時調用compress完成解壓縮
實例1 目的:用tar打包一個目錄下的文件
命令:#tar -cvf /mnt/lgx/a1.doc
結果:產生一個以.tar爲擴展名的打包文件
實例2 目的:用tar解開打包文件
命令:#tar -xvf /mnt/lgx/a1.doc.tar
附加說明:在一般狀況下,tar打包與gzip(壓縮)常常聯合使用,效果更好。方法是:
首先用tar打包,如:#tar -cvf /mnt/lgx/a1.doc (產生a1.doc.tar文件)
而後用gzip壓縮a1.doc.tar文件,如:#gzip /mnt/lgx/a1.doc.tar (產生a1.doc.tar.gz文件)
實例3 目的:解壓a1.doc.tar.gz文件方法1:#gzip -dc /mnt/lgx/a1.doc.tar.gz (產生a1.doc.tar文件)#tar -xvf /mnt/lgx/a1.doc.tar (產生a1.doc文件)這兩次命令也可以使用管道功能,把兩個命令合二爲一:#gzip -dc /mnt/lgx/a1.doc.tar.gz | tar -xvf方法2:使用tar提供的自動調用gzip解壓縮功能#tar -xzvf /mnt/lgx/a1.doc.tar.gz通過tar打包後,也可用compress命令壓縮(注:gzip比compress壓縮更加有效),產生一個以.tar.Z的文件,在解包時,可先用「uncompress 文件名」格式解壓,而後用「tar -xvf 文件名」解包。也可直接調用「tar -Zxvf 文件名」解包。
相關文章
相關標籤/搜索