在 Linux 上使用 tarball
「tarball」 (LCTT 譯註:國內也常稱為「tar 包」)一詞通常用於描述備份一組選擇的文件並將它們打包在一個文件中的一種文件格式。該名稱來自 .tar 文件擴展名和 tar
命令,它用於將文件打包到一個文件中,有時還會壓縮該文件,使其在移動到其它系統時更小。
tarball 通常用於備份個人或系統文件來創建存檔,特別是在進行可能需要撤消的更改之前。例如,Linux 系統管理員通常會在更改應用之前創建包含一系列配置文件的 tarball,以防必須撤消這些更改。從 tarball 中解壓文件通常比在備份中搜索文件快。
如何在 Linux 上創建 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
如何從 tarball 中解壓文件
要從 gzip 壓縮包中解壓所有文件,你可以使用如下命令:
$ tar -xvzf file.tar.gz
如果使用 .tgz 命名約定,該命令將如下所示:
$ tar -xvzf MyPDFs.tgz
要從 gzip 包中解壓單個文件,你可以執行幾乎相同的操作,只需添加文件名:
$ tar -xvzf PDFs.tar.gz ShenTix.pdf
ShenTix.pdf
ls -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.tar
ls -l PDFs.tar.gz
-rw-rw-r-- 1 shs shs 10134499 Dec 15 11:51 PDFs.tar.gzFlickr / James St. John
豐富的命令行選項使得 tarball 使用起來簡單方便。
via: https://www.networkworld.com/article/3328840/linux/working-with-tarballs-on-linux.html
作者:Sandra Henry-Stocker 選題:lujun9972 譯者:geekpi 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive