如何在Linux上使用tarball?

系统 Linux
Tarball 提供了一种在 Linux 系统上备份和管理一组文件的通用方法。请按照以下提示了解如何创建它们,以及从中提取和删除单个文件。

[[254845]]

 “tarball” (LCTT 译注:国内也常称为“tar 包”)一词通常用于描述备份一组选择的文件并将它们打包在一个文件中的一种文件格式。该名称来自 .tar 文件扩展名和 tar 命令,它用于将文件打包到一个文件中,有时还会压缩该文件,使其在移动到其它系统时更小。

tarball 通常用于备份个人或系统文件来创建存档,特别是在进行可能需要撤消的更改之前。例如,Linux 系统管理员通常会在更改应用之前创建包含一系列配置文件的 tarball,以防必须撤消这些更改。从 tarball 中解压文件通常比在备份中搜索文件快。

如何在 Linux 上创建 tarball

使用如下命令,你可以在单条命令中创建 tarball 并压缩它。

  1. $ tar -cvzf PDFs.tar.gz *.pdf

其结果是一个压缩文件(gzip 压缩的),其中包含了当前目录中的所有 PDF 文件。当然,压缩是可选的。一个稍微简单的只是将 PDF 文件打包成未压缩 tarball 的命令:

  1. $ tar -cvf PDFs.tar *.pdf

注意,选项中的 z 将文件变成压缩的。 c 表明创建文件,v(详细)表示你在命令运行时需要一些反馈。如果你不想查看列出的文件,请忽略 v

另一个常见的命名约定是给压缩的 tarball 命名成 .tgz 而不是双扩展名 .tar.gz,如下所示:

  1. $ tar cvzf MyPDFs.tgz *.pdf

如何从 tarball 中解压文件

要从 gzip 压缩包中解压所有文件,你可以使用如下命令:

  1. $ tar -xvzf file.tar.gz

如果使用 .tgz 命名约定,该命令将如下所示:

  1. $ tar -xvzf MyPDFs.tgz

要从 gzip 包中解压单个文件,你可以执行几乎相同的操作,只需添加文件名:

  1. $ tar -xvzf PDFs.tar.gz ShenTix.pdf
  2. ShenTix.pdf
  3. ls -l ShenTix.pdf
  4. -rw-rw-r-- 1 shs shs 122057 Dec 14 14:43 ShenTix.pdf

如果未压缩 tarball,你甚至可以从 tarball 中删除文件。例如,如果我们想从 PDFs.tar.gz 中删除我们上面解压过的文件,我们会这样做:

  1. $ gunzip PDFs.tar.gz
  2. $ ls -l PDFs.tar
  3. -rw-rw-r-- 1 shs shs 10700800 Dec 15 11:51 PDFs.tar
  4. $ tar -vf PDFs.tar --delete ShenTix.pdf
  5. $ ls -l PDFs.tar
  6. -rw-rw-r-- 1 shs shs 10577920 Dec 15 11:45 PDFs.tar

请注意,我们在删除 ShenTix.pdf 后,缩小了一点 tarball 文件占用的空间。如果我们想要,我们可以再次压缩文件:

  1. $ gzip -f PDFs.tar
  2. ls -l PDFs.tar.gz
  3. -rw-rw-r-- 1 shs shs 10134499 Dec 15 11:51 PDFs.tar.gzFlickr / James St. John

丰富的命令行选项使得 tarball 使用起来简单方便。

责任编辑:庞桂玉 来源: Linux中国
相关推荐

2021-10-02 10:10:47

LinuxBusyBox命令

2019-11-26 16:58:51

Linuxpkgsrc

2023-01-17 07:40:59

LinuxAppImage应用程序

2022-08-10 13:12:04

Linuxcat命令

2020-08-24 12:37:54

Linuxxargs命令

2018-04-25 10:46:05

Linux命令行日历

2018-08-06 09:30:00

LinuxPbcopyPbpaste

2018-03-07 11:32:44

LinuxVundleVim

2022-09-19 08:45:52

Telnet系统Linux

2020-04-21 14:21:31

LinuxPython

2018-12-11 11:00:50

Linux字体命令

2021-10-12 08:43:19

LinuxSambaWindows

2022-08-30 19:14:31

LinuxBash

2017-05-03 15:30:38

LinuxMeld比较文件夹

2019-09-29 09:40:20

LinuxWindowsMacOS

2014-06-05 15:06:29

2016-11-23 08:48:24

LinuxCalibre电子书

2015-08-21 09:07:52

LinuxNMAP安全

2021-08-03 14:33:53

cron定时器Linux命令

2014-10-09 14:35:44

HAProxy负载均衡
点赞
收藏

51CTO技术栈公众号