在Linux系統中,壓縮文件通常是先將若干文件(包括目錄)打包成一個tar文件,然后再調用壓縮程序將tar文件壓縮成相應的壓縮包,這也就是為什么Linux系的壓縮包的后綴通常都是像tar.gz,tar.Z這樣的格式。因此,tar命令也就成了在Linux系統中壓縮解壓最常用的命令了,他不僅可以用來打包或者解開tar文件,還可以調用相應的壓縮程序。所以,一個tar命令就可以完成大多數的壓縮和解壓的任務。這也是筆者推薦的方式。當然還有一些情況比如zip或者rar文件,由于他們通常都是直接將源文件壓縮成包的(不帶tar后綴名),這類壓縮包通常都需要使用另外的命令來進行操作,這在后面會相續提到。
我們首先來看tar命令。這里只是介紹常用的功能選項方便大家快速上手,其他的高級功能可以查看幫助,在使用bash命令時,遇到不清楚的地方使用--help選項查看幫助是一個好的習慣。
tartar命令的常用選項如下表所示:
| 選項(短) | 選項 | 作用 |
| -c | --create | 創建壓縮文件 |
| -x | --extract, --get | 解壓文件 |
| -f | --file | 指定文件名 |
| -v | --verbose | 詳細的列出處理的文件 |
所以解壓普通的tar文件命令就是:
$ tar –xvf file.tar //解壓tar包
-x表示解壓,-v表示顯示詳細輸出(不加也行),-f用來指定解壓文件,如果你是在解壓對象是文件(大多數情況都是這樣,除非你是用管道傳遞得到解壓對象的),那么這個必須要加上。
tar可調用的壓縮程序| 選項 | 壓縮格式 | 壓縮程序 |
| -z | .gz | gzip |
| -j | .bz2 | bzip2 |
| -Z | .Z | comPRess |
當看到tar.gz后綴的壓縮包,使用-z選項調用gzip程序解壓,當看到tar.bz2后綴的壓縮包,使用-j選項調用bzip2程序解壓。下面給出了幾個例子。
$ tar -xzvf file.tar.gz //解壓tar.gz$ tar -xjvf file.tar.bz2 //解壓tar.bz2$ tar –xZvf file.tar.Z //解壓tar.Z
是不是覺得很麻煩,其實還有一個-a選項,可以根據后綴名自動選擇調用相應的壓縮程序,所以上面的3種情況可以直接使用:
$ tar -xavf file.tar.xxx //解壓tar.xxx | 萬能解壓命令
很方便不是嗎?筆者就經常使用這個命令,上面的那些選項,不查幫助有時還真記不起來。
前面介紹的都是解壓到當前目錄,那么如何解壓到指定的目錄呢?
通過查看幫助發現了一個新選項-C --directory=DIR 改變目錄DIR。假設我們要把某文件解壓到test目錄,在前面的基礎上加上-C選項即可:
$ tar -xavf file.tar.gz -C ./test/ //解壓文件到指定目錄rar
$ unrar e file.rar //解壓rar到當前目錄$ unrar x file.rar ./test/ //解壓rar到指定目錄zip
$ unzip file.zip //解壓zip$ unzip file.zip -d ./test //解壓zip到指定目錄
新聞熱點
疑難解答