標籤:linux
linux中常見的兩種壓縮包檔案的格式是.tar、.gz和.tar.gz。.tar只是將檔案簡單地打包,檔案的大小沒有變化,也就是說.tar檔案只是一個包,沒有被壓縮;.tar.gz檔案是打包後用gzip壓縮得到的,檔案會被壓縮存放,可以減小壓縮檔的大小,可以便於傳輸和儲存;.gz檔案是將一個檔案用gzip壓縮之後得到的壓縮檔。
常用的檔案打包和壓縮的命令是tar命令和gzip命令,下面分別介紹。
1、gzip和gunzip
gzip命令是用來壓縮單個檔案的,也就是說不能用來壓縮目錄。這樣就不難理解為什麼linux中要單專屬一個用來打包的tar命令。因此,對於目錄,可以先使用tar命令打包,然後用gzip命令進行壓縮。當然,現在利用tar中的某些選項,也可以一步到位,詳見下文。
gunzip命令是用來對gzip產生的壓縮檔進行解壓的。其實,gzip的-d選項就是用來解壓縮的。所以gunzip就等同於gzip -d。
下面是gzip命令的幾個例子:
- 將a.txt壓縮為目前的目錄下的a.txt.gz(預設的名字就是這個樣子在原檔案名稱的後面加一個.gz)
- 將a.txt.gz解壓到目前的目錄
- gunzip a.txt.gz
- gzip -d a.txt.gz
到這裡不難發現gzip和gunzip在壓縮檔或者是解壓縮檔案的時候,都會將原來的檔案刪除。因此,為了壓縮或者解壓縮之後保留源檔案,我們要用到兩個命令的-c選項。-c選項是將壓縮的結果寫到標準輸出,這裡用的是linux重新導向的功能將標準輸出中的壓縮或者解壓縮的結果寫入到一個檔案,從而得到解壓縮或者壓縮的結果,同時保留原檔案。
- .gz壓縮
- gzip -c filename > filename.gz
- 解壓縮
- gunzip -c filename.gz > filename
- gzip -cd filename.gz > filename
2、tar
tar命令可以用來將目錄打包,其中也提供了打包之後壓縮的選項。下面是tar命令使用的幾個例子。
建立壓縮檔.tar
下面的命令會將lfqy目錄下的test目錄壓縮為test-02-07-14.tar
tar -cvftest-14-09-12.tar /home/lfqy/test
其中,-c選項代表建立新的tar檔案(也就是壓縮包);-v表示顯示建立的過程;-f表示指定新建立的tar檔案的名字,-f後面必須要緊跟檔案名稱,因此,f選項放在各個選項的最後面。
建立壓縮檔.tar.gz
為了建立要給gzip壓縮包,還要使用tar命令的-z選項。
下面的命令將lfqy目錄下的test目錄壓縮為test-14-09-12.tar.gz。
tar -cvzftest-14-09-12.tar.gz /home/lfqy/test
.tar檔案的解壓縮
為瞭解壓.tar檔案,要用到tar命令的-x選項代替壓縮檔時用到的-c選項。檔案預設會被解壓到當前的目錄,如果要指定解壓到那個目錄,需要用到-C選項。
下面的命令將檔案解壓到目前的目錄
tar -xvffilename.tar
下面的命令將檔案解壓到指定的目錄
tar -xvffilename.tar -C /home/lfqy/file_untar/
tar.gz檔案的解壓縮
tar.gz檔案解壓縮的方式和tar檔案相同
下面的命令將檔案解壓到目前的目錄
tar -xvffilename.tar.gz
下面的命令將檔案解壓到指定目錄
tar -xvffilename.tar.gz -C /home/lfqy/file_untar/