Tarball 提供了一種在 Linux 系統上備份和管理一組檔案的通用方法。請按照以下提示了解如何建立它們,以及從中提取和刪除單個檔案。
“tarball” (LCTT 譯註:國內也常稱為“tar 包”)一詞通常用於描述備份一組選擇的檔案並將它們打包在一個檔案中的一種檔案格式。該名稱來自 .tar 副檔名和 tar
命令,它用於將檔案打包到一個檔案中,有時還會壓縮該檔案,使其在移動到其它系統時更小。
tarball 通常用於備份個人或系統檔案來建立存檔,特別是在進行可能需要撤消的更改之前。例如,Linux 系統管理員通常會在更改應用之前建立包含一系列組態檔的 tarball,以防必須撤消這些更改。從 tarball 中解壓檔案通常比在備份中搜尋檔案快。
使用如下命令,你可以在單條命令中建立 tarball 並壓縮它。
$ tar -cvzf PDFs.tar.gz *.pdf
其結果是一個壓縮檔案(gzip 壓縮的),其中包含了當前目錄中的所有 PDF 檔案。當然,壓縮是可選的。一個稍微簡單的只是將 PDF 檔案打包成未壓縮 tarball 的命令:
$ tar -cvf PDFs.tar *.pdf
注意,選項中的 z
將檔案變成壓縮的。 c
表明建立檔案,v
(詳細)表示你在命令執行時需要一些反饋。如果你不想檢視列出的檔案,請忽略 v
。
另一個常見的命名約定是給壓縮的 tarball 命名成 .tgz 而不是雙擴充套件名 .tar.gz,如下所示:
$ tar cvzf MyPDFs.tgz *.pdf
要從 gzip 壓縮包中解壓所有檔案,你可以使用如下命令:
$ tar -xvzf file.tar.gz
如果使用 .tgz 命名約定,該命令將如下所示:
$ tar -xvzf MyPDFs.tgz
要從 gzip 包中解壓單個檔案,你可以執行幾乎相同的操作,只需新增檔名:
$ tar -xvzf PDFs.tar.gz ShenTix.pdfShenTix.pdfls -l ShenTix.pdf-rw-rw-r-- 1 shs shs 122057 Dec 14 14:43 ShenTix.pdf
如果未壓縮 tarball,你甚至可以從 tarball 中刪除檔案。例如,如果我們想從 PDFs.tar.gz 中刪除我們上面解壓過的檔案,我們會這樣做:
$ gunzip PDFs.tar.gz$ ls -l PDFs.tar-rw-rw-r-- 1 shs shs 10700800 Dec 15 11:51 PDFs.tar$ tar -vf PDFs.tar --delete ShenTix.pdf$ ls -l PDFs.tar-rw-rw-r-- 1 shs shs 10577920 Dec 15 11:45 PDFs.tar
請注意,我們在刪除 ShenTix.pdf 後,縮小了一點 tarball 檔案佔用的空間。如果我們想要,我們可以再次壓縮檔案:
$ gzip -f PDFs.tarls -l PDFs.tar.gz-rw-rw-r-- 1 shs shs 10134499 Dec 15 11:51 PDFs.tar.gzFlickr / James St. John
豐富的命令列選項使得 tarball 使用起來簡單方便。