“tarball”一词通常用于描述用于备份选定文件组并将它们合并为单个文件的文件类型。这个名字来自. tar文件扩展名和焦油命令,用于将文件组合成单个文件,该文件有时会被压缩以使其更小以便移动到另一个系统。
tarball通常用于在适当的位置备份个人或系统文件以创建存档,特别是在进行可能必须逆转的更改之前。例如,Linux系统管理员在对应用程序进行更改之前,通常会创建一个包含一系列配置文件的tarball,以防他们不得不逆转这些更改。从tarball中提取文件通常比从备份中检索文件要快。
如何在Linux上创建tarball
如果你使用如下命令,你可以创建一个tarball并在一个步骤中压缩它:
$ tar -cvzf pdf .tar.gz *.pdf
在这种情况下,结果是一个压缩(gzip)文件,其中包含当前目录中的所有PDF文件。当然,压缩是可选的。一个稍微简单一点的命令就是把所有的PDF文件放到一个未压缩的tar文件中:
$ tar -cvf pdf .tar *.pdf
注意它是z在导致文件被压缩或压缩的选项列表中。的c指定您正在创建的文件和v(详细)表示您希望在命令运行时获得一些反馈。省略了v如果您不想看到列出的文件。
另一种常见的命名约定是为扩展提供压缩压缩的tarball. tgz而不是双重扩展gz如下命令所示:
$ tar cvzf mypdf。tgz * . pdf
如何从tarball中提取文件
要从一个gzip压缩的tar文件中提取所有文件,你可以使用如下命令:
$ tar - xzf file.tar.gz
如果你使用.tgz命名约定,这个命令看起来像这样:
$ tar -xvzf mypdfs.tgz
要从一个gzip压缩的tar文件中提取一个单独的文件,你可以做几乎相同的事情,只是添加文件名:
$ 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 .tar.gz
如果tarball未被压缩,您甚至可以删除该tarball中的文件。例如,如果我们想要删除上面从PDFs.tar.gz文件中提取的tile文件,我们可以这样做:
$ 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——1 shs shs 10577920 Dec 15 11:45 PDFs.tar.gz
注意,我们在删除ShenTix.pdf文件时将tar文件删除了一小块空间。如果需要,我们可以再次压缩文件:
$ 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非常容易和方便。