Linux檔案管理-壓縮與解壓 命令: tar 格式: tar 選項 檔案目錄列表 功能: 對檔案目錄進行打包備份 www.2cto.com 選項: -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 檔案名稱”解包。 Red Hat Linux 9下的命令 gzip 和 gunzip 要使用 gzip 來壓縮檔,在 shell 提示下鍵入以下命令: gzip filename 檔案即會被壓縮,並被儲存為 filename.gz。 要擴充壓縮的檔案,鍵入以下命令: gunzip filename.gz filename.gz 會被刪除,而繼之以 filename。 你可以使用 gzip 命令同時處理多個檔案和目錄,方法是將它們逐一列出,並用空格間隔: gzip -r filename.gz file1 file2 file3 /usr/work/school 上面的命令把 file1、file2、 file3、以及 /usr/work/school 目錄的內容(假設這個目錄存在)壓縮起來,然後放入 filename.gz 檔案中。 竅門 要獲得有關這兩個命令的詳細資料,在 shell 提示下鍵入 man gzip 和 man gunzip 來閱讀 gzip 和 gunzip 命令的說明書頁。 zip 和 unzip 要使用 zip 來壓縮檔,在 shell 提示下鍵入下面的命令: zip -r filename.zip filesdir 在這個例子裡,filename.zip 代表你建立的檔案,filesdir 代表你想放置新 zip 檔案的目錄。-r 選項指定你想遞迴地(recursively)包括所有包括在 filesdir 目錄中的檔案。 要抽取 zip 檔案的內容,鍵入以下命令: unzip filename.zip 你可以使用 zip 命令同時處理多個檔案和目錄,方法是將它們逐一列出,並用空格間隔: zip -r filename.zip file1 file2 file3 /usr/work/school 上面的命令把 file1、file2、 file3、以及 /usr/work/school 目錄的內容(假設這個目錄存在)壓縮起來,然後放入 filename.zip 檔案中。 竅門 要獲得有關這兩個命令的詳細資料,在 shell 提示下鍵入 man zip 和 man unzip 來閱讀 zip 和 unzip 命令的說明書頁。 在 shell 提示下給檔案歸檔 tar 檔案是幾個檔案和(或)目錄在一個檔案中的集合。這是建立備份和歸檔的佳徑。 tar 使用的選項有: *-c — 建立一個新歸檔。 *-f — 當與 -c 選項一起使用時,建立的 tar 檔案使用該選項指定的檔案名稱;當與 -x 選項一起使用時,則解除該選項指定的歸檔。 *-t — 顯示包括在 tar 檔案中的檔案清單。 *-v — 顯示檔案的歸檔進度。 *-x — 從歸檔中抽取檔案。 *-z — 使用 gzip 來壓縮 tar 檔案。 *-j — 使用 bzip2 來壓縮 tar 檔案。 要建立一個 tar 檔案,鍵入: tar -cvf filename.tar directory/file 在以上的例子中,filename.tar 代表你建立的檔案,directory/file 代表你想放入歸檔檔案內的檔案和目錄。 你可以使用 tar 命令同時處理多個檔案和目錄,方法是將它們逐一列出,並用空格間隔: tar -cvf filename.tar /home/mine/work /home/mine/school 上面的命令把 /home/mine 目錄下的 work 和 school 子目錄內的所有檔案都放入目前的目錄中一個叫做 filename.tar 的新檔案裡。 要列出 tar 檔案的內容,鍵入: tar -tvf filename.tar 要抽取 tar 檔案的內容,鍵入: tar -xvf filename.tar 這個命令不會刪除 tar 檔案,但是它會把被解除歸檔的內容複寫到當前的工作目錄下,並保留歸檔檔案所使用的任何目錄結構。譬如,如果這個 tar 檔案中包含一個叫做 bar.txt 的檔案,而這個檔案包含在 foo/ 目錄中,那麼,抽取歸檔檔案將會導致在你當前的工作目錄中建立 foo/ 目錄,該目錄中包含 bar.txt 檔案。 請記住,tar 預設不壓縮檔。要建立一個使用 tar 和 bzip 來歸檔壓縮的檔案,使用 -j 選項: tar -cjvf filename.tbz file 按照約定俗成,用 bzip2 壓縮的 tar 檔案具有 .tbz 副檔名。不過,有時使用者使用 tar.bz2 副檔名來歸檔他們的檔案。 以上命令建立了一個歸檔檔案,然後將其壓縮為 filename.tbz 檔案。如果你使用 bunzip2 命令為 filename.tbz 檔案解壓,filename.tbz 檔案會被刪除,繼之以 filename.tar 檔案。 你還可以用一個命令來擴充並解除歸檔 bzip tar 檔案: tar -xjvf filename.tbz 要建立一個用 tar 和 gzip 歸檔並壓縮的檔案,使用 -z 選項: tar -czvf filename.tgz file 按照約定俗成,使用 gzip 來壓縮的 tar 檔案具有 .tgz 副檔名。 這個命令建立歸檔檔案 filename.tar,然後把它壓縮為 filename.tgz 檔案(檔案 filename.tar 不被保留)。如果你使用 gunzip 命令來給 filename.tgz 檔案解壓,filename.tgz 檔案會被刪除,並被替換為 filename.tar。 你可以用單個命令來擴充 gzip tar 檔案: tar -xzvf filename.tgz 竅門 鍵入命令 man tar 來閱讀 tar 命令的詳細資料。