tar命令用於對文件打包壓縮或解壓:
$ tar [選項] [文件]
以下是tar命令的常用參數:
tar是個打包的命令,它的作用是將一堆的文件或目錄歸檔成一個.tar結尾的文件。生成tar包後,就可以用其他的壓縮程序來對tar包進行壓縮。
我們在上面看到的 -z 參數就是對tar包用Gzip程序進行了壓縮,最後才生成了 .tar.gz 結尾的壓縮包。如果不用 -z 參數而使用 -j 參數,也就是用bzip2程序壓縮tar包,最後就會生成 .tar.bz2 結尾的壓縮包。
使用tar命令打包壓縮的一個好處是,它會保留原始文件的許可權和屬性。
我們經常會在windows系統上使用 .zip 格式的壓縮文件,在linux中也可以將文件和目錄壓縮成zip格式,或者解壓zip格式的壓縮包。
但是zip的缺點是不能保留文件的許可權和屬性,解壓後需要我們自己用chmod重新設置文件的許可權。
『貳』 linux中打包和壓縮有什麼區別
打包就是把若干文件或文件夾放到一個tar文件中,但是不會壓縮文件大小。
壓縮就是在打包的基礎上壓縮文件的大小。
『叄』 怎樣在linux下對目錄進行壓縮生成gz文件
在linux下,使用gzip命令可以對目錄壓縮生成gz文件,具體步驟如下:
1、首先,連接相應linux主機,進入到linux命令行狀態下,等待輸入shell指令。
『肆』 linux中怎麼壓縮一個文件夾
1、將/home/wwwroot/xahot/ 這個目錄下所有文件和文件夾打包為當前目錄下的xahot.zip
zip –q –r xahot.zip /home/wwwroot/xahot
4、然後就完成了。
『伍』 linux文件壓縮
tar[-j|-z][cv][-f建立的檔案名]filename...《==打包與壓縮
tar[-j|-z][tv][-f建立的檔案名]《==查看檔案
tar[-j|-z][xv][-f建立的檔案名][-C目錄]《==解壓縮
選項與參數:
-c:建立打包檔案,可搭配-v來觀察過程中被打包的檔案名(filename)
-t:查看打包檔案的內容含有那些檔案
-x:解壓縮的功能,可以搭配-C在特定的目錄解開;-c、-t、-x不能同時出現在一串指令列中。
-j:透過bzip2的支持進行壓縮/解壓縮:此時檔案名最好為*.tar.bz2
-z:透過gzip的支持進行壓縮/解壓縮:此時檔案名最好為*.tar.gz
-v:在壓縮/解壓縮的過程中,將正在處理文件名顯示出來
-ffilename:-f後面要立刻接被處理的檔案名!建議-f單獨寫一個選項
-C目錄:這個選項用在解壓縮,若要在特定目錄解壓縮,可以使用這個選項
tar命令是Unix/Linux系統中非常常用的備份文件方法,它的使用許可權是所有用戶。
tar命令語法:
tar[主選項+輔選項]文件名或目錄。使用該命令時,主選項是必須要有的,它告訴tar命令要做什麼,輔選項是輔助使用的,可以選用。
主選項:
-c創建新的檔案文件。如果用戶想備份一個目錄或是一些文件,就要選擇這個選項。相當於打包。
-x從檔案文件中釋放文件。相當於拆包。
-t列出檔案文件的內容,查看已經備份了哪些文件。
-r把要存檔的文件追加到檔案文件的末尾。例如用戶已經做好備份文件,又發現還有一個目錄或是一些文件忘記備份了,這時可以使用該選項,將忘記的目錄或文件追加到備份文件中
特別注意,主選項只能存在一個,c/x/t/r僅能存在一個!不可同時存在!因為不可能同時壓縮與解壓縮。
輔助選項:
-z:用gzip程序來壓縮或解壓縮文件,加上該選項後可以將檔案文件進行壓縮,但還原時也一定要使用該選項進行解壓縮。文件格式一般為xx.tar.gz或xx.tgz
-j:使用bzip2程序進行文件的壓縮或解壓,文件格式一般為xx.tar.bz2
-v:壓縮的過程中顯示文件!這個常用
-f:使用檔名,請留意,在f之後要立即接檔名!不要再加其他參數!
-p:使用原文件的原來屬性(屬性不會依據使用者而變)
-w每一步都要求確認。
--excludeFILE:在壓縮的過程中,不要將FILE打包!
範例:
範例一:將整個/etc目錄下的文件全部打包成/tmp/etc.tar
[root@ubuntu~]#tar-cvf/tmp/etc.tar/etc<==僅打包,不壓縮!
[root@ubuntu~]#tar-zcvf/tmp/etc.tar.gz/etc<==打包後,以gzip壓縮
[root@ubuntu~]#tar-jcvf/tmp/etc.tar.bz2/etc<==打包後,以bzip2壓縮
#特別注意,在參數f之後的文件檔名是自己取的,我們習慣上都用.tar來作為辨識。
#如果加z參數,則以.tar.gz或.tgz來代表gzip壓縮過的tarfile
#如果加j參數,則以.tar.bz2來代表bzip2壓縮過的tarfile
#上述指令在執行的時候,會顯示一個警告訊息:
#『tar:Removingleading`/"frommembernames』那是關於絕對路徑的特殊設定。
範例二:查看上述/tmp/etc.tar.gz文件內有那些被壓縮的文件
[root@ubuntu~]#tar-ztvf/tmp/etc.tar.gz
#由於我們使用gzip壓縮,所以要查閱該tarfile內的文件時,
#就得要加上z這個參數了!這很重要的!
範例三:將/tmp/etc.tar.gz文件解壓縮在/usr/local/src底下
[root@linux~]#cd/usr/local/src
[root@linuxsrc]#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@linuxtmp]#tar-zxvf/tmp/etc.tar.gzetc/passwd
#我可以透過tar-ztvf來查閱tarfile內的文件名稱,如果單只要一個文件,
#就可以透過這個方式來下達!注意到!etc.tar.gz內的根目錄/是被拿掉了!
範例五:我要備份/home,/etc,但不要/home/dmtsai
[root@linux~]#tar--exclude/home/dmtsai-zcvfmyfile.tar.gz/home/*/etc
另外:tar命令的C參數
$tar-cvffile2.tar/home/usr2/file2
tar:Removingleading'/'frommembersnames
home/usr2/file2
該命令可以將/home/usr2/file2文件打包到當前目錄下的file2.tar中,需要注意的是:使用絕對路徑標識的源文件,在用tar命令壓縮後,文件名連同絕對路徑(這里是home/usr2/,根目錄'/'被自動去掉了)一並被壓縮進來。使用tar命令解壓縮後會出現以下情況:
$tar-xvffile2.tar
$ls
………home…………
解壓縮後的文件名不是想像中的file2,而是home/usr2/file2。
$tar-cvffile2.tar-C/home/usr2file2
該命令中的-Cdir參數,將tar的工作目錄從當前目錄改為/home/usr2,將file2文件(不帶絕對路徑)壓縮到file2.tar中。注意:-Cdir參數的作用在於改變工作目錄,其有效期為該命令中下一次-Cdir參數之前。
使用tar的-Cdir參數,同樣可以做到在當前目錄/home/usr1下將文件解壓縮到其他目錄,例如:
$tar-xvffile2.tar-C/home/usr2
而tar不用-Cdir參數時是無法做到的:
$tar-xvffile2.tar/home/usr2
tar:/tmp/file:Notfoundinarchive
tar:
『陸』 如何在Linux上使用tar命令解壓和壓縮文件
在Linux上使用tar命令解壓和壓縮文件方法如下:
壓縮單個文件或者整個文件的方式方法,通常可以利用以下這些命令來解壓和壓縮:
-v:在終端顯示進度的同時創建歸檔,也被稱為「V erbose」模式。
-c:C reate存檔。
-f:允許你指定存檔的Filename。
-z:壓縮zip存檔。如圖所示: