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』那是關於絕對路徑的特殊設定。
參數:
-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 這個參數了!這很重要的!
[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/ 可能會有所不一樣喔!
[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 內的根目錄 / 是被拿掉了!
[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 的屬性是很重要的,尤爲是當您要保留本來文件的屬性時!
[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
[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
[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 與管線命令啦!
[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 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 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 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 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
壓縮: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 是在 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,介紹了壓縮與解壓文件的幾種方法與技巧,但願對讀者有必定的幫助。
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 文件名」解包。 |