迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 操作系统 >

UNIX 和 Linux 中 tar 命令的 11 个示例

作者:迹忆客 最近更新:2023/02/08 浏览次数:

UNIX 或 Linux 中的 tar 命令是在 UNIX 中提供归档功能的重要命令之一。 我们可以使用 UNIX tar 命令通过 gzipbzip2 创建压缩或未压缩的归档文件。 在此 UNIX tar 命令教程中,我们将看到与基本归档任务相关的 UNIX tar 命令示例,例如 如何在 Unix 和 Linux 中创建 tar 存档,如何在 UNIX 中从 tar 存档中提取文件,如何在 Unix 和 Linux 中查看 tar 文件的内容或如何在 Unix 中更新现有的 tar 文件。

UNIX 中的 tar 命令示例保持简单易懂,并掌握使用 UNIX tar 命令的每个基本任务。

好的,现在介绍得够多了,让我们看看 Unix 和 Linux 中 tar 命令的一些真实示例:


如何在 Unix 中使用 tar 命令

在 UNIX 中使用 tar 命令很简单,它的语法与任何其他 UNIX 命令相似。 以下是 UNIX 中 tar 命令的语法:

tar  [options] [name of the tar file to be created] [list of files and directories to be included]

tar 命令的语法是为了便于理解,我们也可以在 UNIX 机器上使用命令 tar --usage查看详细语法。


Linux 中的 tar 命令示例

现在,让我们看看 Linux 中用于实现文件和目录的 tar 命令的一些实际示例。

1. Unix tar 命令行选项

在 UNIX tar 命令教程的这一部分中,我们将看到 Linux 中 tar 命令的一些有用选项,我们将在示例中使用这些选项来了解此选项与 tar 命令的用法。

  • c -- 创建,用于创建 tar 文件
  • v -- verbose,tar 命令中包括、排除的文件的显示名称
  • f -- 下面,用于指向要创建的 tar 文件的名称。 它实际上告诉 tar 命令文件的名称是选项之后的“下一个”字母。
  •  
  • x -- extract,用于从 tar 文件中提取文件。
  • t -- 用于查看 tar 文件的内容
  • z -- zip,告诉 tar 命令使用 gzip 创建 tar 文件。
  • j – 另一个压缩选项告诉 tar 命令使用 bzip2 进行压缩
  • r -- 在已存在的 .tar 文件中更新或添加文件或目录
  • 通配符——在 Unix tar 命令中指定模式

2. 如何在 Unix 中创建 tar 存档或 tar 文件

大多数人在 Windows 机器上使用 WinZip 或 WinRAR 来压缩或创建内容存档,因此当我们转向 Unix 或 Linux 等命令行界面时,我们在没有这些工具的情况下苦苦挣扎。 UNIX tar 命令类似于 WinZip 或 WinRAR,我们可以使用 UNIX tar 命令在 UNIX 中创建压缩或未压缩(压缩)存档。

在这个 tar 命令示例中,我们将创建一个包含 Unix 中所有文件和目录或选定文件和目录的 tar 文件。

$ ls -lrt
total 0
-r--r--r--  1 stock_trader Domain Users 0 Jul 15 11:42 equity
drwxrwxrwx+ 1 stock_trader Domain Users 0 Jul 15 14:33 stocks/
-r--r--r--  1 stock_trader Domain Users 0 Jul 15 15:30 currency

它有两个文件和一个目录。 现在我们将创建一个包含所有这些内容的 tar 文件。

$ tar -cvf trading.tar *
currency
equity
stocks/
stocks/online_stock_exchanges.txt

我们会看到 unix tar 命令正在创建名为“trading”的 tar 文件,其内容如上所示。 只是回顾一下 -c 用于创建 tar 文件“v”用于冗长而“f”用于告诉 tar 文件名。 你可以在这里看到 tar 文件

$ ls -lrt
-r--r--r--  1 stock_trader Domain Users   0 Jul 15 11:42 equity
drwxrwxrwx+ 1 stock_trader Domain Users   0 Jul 15 14:33 stocks/
-r--r--r--  1 stock_trader Domain Users   0 Jul 15 15:30 currency
-rw-r--r--  1 stock_trader Domain Users 10K Jul 18 12:29 trading.tar

3.如何在Unix或Linux下查看tar文件的内容

在 Unix 或 Linux 中 tar 命令的早期示例中,我们创建了一个名为“trading.tar”的未压缩 tar 文件,现在在这个示例中我们将看到该 tar 文件的实际内容。

$ tar -tvf trading.tar
-r--r--r-- stock_trader/Domain Users 0 2011-07-15 15:30 currency
-r--r--r-- stock_trader/Domain Users 0 2011-07-15 11:42 equity
drwxrwxrwx stock_trader/Domain Users 0 2011-07-15 14:33 stocks/
-rwxrwxrwx stock_trader/Domain Users 0 2011-07-15 14:33 stocks/online_stock_exchanges.txt

这里选项“t”用于在 UNIX 中显示 tar 文件的内容,而选项“v”和“f”用于“verbose”和“following”。 现在我们可以清楚地看到我们想要包含在 tar 文件中的所有文件都在那里。

  1. 如何从 Unix 中的 tar 文件中提取内容 在这个 UNIX tar 命令示例中,我们将看到如何在 UNIX 或 Linux 中从 tar 文件中提取文件或目录。 我们将使用在前面示例中创建的相同 trading.tar 文件。
$ ls -lrt
total 12K
-rw-r--r-- 1 stock_trader Domain Users 10K Jul 18 12:37 trading.tar

现在目录是空的,只有 trading.tar 文件

$ tar -xvf trading.tar
currency
equity
stocks/
stocks/online_stock_exchanges.txt

此 UNIX tar 命令将在当前目录中提取 trading.tar 的内容。 “x”用于提取。 在我们所有的示例中,“v”再次代表一个冗长的可选参数。

$ ls -lrt
-r--r--r--  1 stock_trader Domain Users   0 Jul 15 11:42 equity
drwxr-xr-x+ 1 stock_trader Domain Users   0 Jul 15 14:33 stocks/
-r--r--r--  1 stock_trader Domain Users   0 Jul 15 15:30 currency
-rw-r--r--  1 stock_trader Domain Users 10K Jul 18 12:37 trading.tar

现在我们可以看到 tar 文件中包含的所有文件和目录(stocks、equity和currency )都已成功提取。

5. 如何在 Unix 中创建只包含指定内容的 tar 文件

在上面的 unix 中的 tar 命令示例中,我们创建了包含当前目录中所有可用内容的 tar 文件,但我们也可以创建具有选择性内容的 tar 文件,如上例所示。

现在在我们的当前目录中,我们有文件和目录,我们只想在我们的 tar 文件中包含两个文件 equity 和 currency。

$ ls -lrt
-r--r--r--  1 stock_trader Domain Users   0 Jul 15 11:42 equity
drwxrwxrwx+ 1 stock_trader Domain Users   0 Jul 15 14:33 stocks/
-r--r--r--  1 stock_trader Domain Users   0 Jul 15 15:30 currency
-rw-r--r--  1 stock_trader Domain Users 10K Jul 18 12:29 trading.tar
drwxr-xr-x+ 1 stock_trader Domain Users   0 Jul 18 12:46 new/
$ tar -cvf equitytrading.tar equity currency
equity
currency

大家看到我们的 tar 文件中只包含两个文件 equity 和 currency。

6. 如何在 Unix 中使用 gzip 创建压缩的 tar 文件

在我们之前的 Linux tar 命令示例中,我们创建了一个未压缩的 tar 文件,但大多数时候我们还需要使用 gzip 或 bzip2 创建压缩的 tar 文件。 在这个 Linux 中的 tar 命令示例中,我们将学习如何使用 gzip 创建 tar 文件。

$ tar -zcvf trading.tgz *
currency
equity
stocks/
stocks/online_stock_exchanges.txt

大家会看到使用 gzip 创建 tar 文件非常简单,只需使用“-z”选项,它就会创建一个 gzip tar。 .tgz 或 tar.gz 扩展名用于表示带有 gzip 的 tar 文件。 压缩的 tar 文件的大小远小于未压缩的文件。

$ ls -lrt
-r--r--r--  1 stock_trader Domain Users   0 Jul 15 11:42 equity
drwxrwxrwx+ 1 stock_trader Domain Users   0 Jul 15 14:33 stocks/
-r--r--r--  1 stock_trader Domain Users   0 Jul 15 15:30 currency
-rw-r--r--  1 stock_trader Domain Users 219 Jul 18 13:01 trading.tgz

我们还可以使用前面的命令结合“z”选项查看 gzip tar 文件的内容,从 gzip tar 中提取内容也是如此。 下面的 unix tar 命令示例将展示如何在 unix 中查看 .tgz 或 .tar.gz 文件的内容。

$ tar -ztvf trading.tgz
-r--r--r-- stock_trader/Domain Users 0 2011-07-15 15:30 currency
-r--r--r-- stock_trader/Domain Users 0 2011-07-15 11:42 equity
drwxrwxrwx stock_trader/Domain Users 0 2011-07-15 14:33 stocks/
-rwxrwxrwx stock_trader/Domain Users 0 2011-07-15 14:33 stocks/online_stock_exchanges.txt

同样,我们可以从 .tgz.tar.gz 文件中提取内容,如下面的 unix tar 命令示例所示:

$ tar -zxvf trading.tgz
currency
equity
stocks/
stocks/online_stock_exchanges.txt

$ ls -lrt
-r--r--r--  1 stock_trader Domain Users   0 Jul 15 11:42 equity
drwxr-xr-x+ 1 stock_trader Domain Users   0 Jul 15 14:33 stocks/
-r--r--r--  1 stock_trader Domain Users   0 Jul 15 15:30 currency
-rw-r--r--  1 stock_trader Domain Users 219 Jul 18 13:07 trading.tgz

7. 如何在 Unix 中使用 bzip2 创建压缩的 tar 文件

bzip2 是我们拥有的另一个压缩选项,我们可以将其与 unix tar 命令一起使用。 它与我们之前使用 gzip 压缩的选项完全相似,但我们需要使用“j”tar 选项而不是“z”选项来创建 bzip2 文件,如下面的 unix 中的 tar 命令示例所示。

$ tar -jcvf trading.tar.bz2 *
currency
equity
stocks/
stocks/online_stock_exchanges.txt

$ ls -lrt trading.tar.bz2
-rw-r--r--  1 stock_trader Domain Users 593 Jul 18 13:11 trading.tar.bz2

.tar.bz2 用于表示使用 bzip2 压缩的 tar 文件。 要查看 bzip2 tar 文件的内容和提取内容,我们可以使用带有 gzip 压缩的 UNIX tar 命令示例所示,只需将 bzip2 的“-z”替换为“-j”即可。

8. 如何从 .tar、.tar.gz 或 .tar.bzip2 中提取特定文件

在前面从 tar 文件中提取内容的示例中,我们已经提取了所有内容。 有时我们只需要 tar 文件中的特定文件。 在这个 unix tar 命令示例中,我们将从 tar 存档中提取特定文件。

$ tar -jxvf trading.tar.bz2 equity
equity

在这种情况下,它只是简单地指定文件名,即它的“equity”。 如果我们的 tar 文件是 gzip 文件,那么使用 -z 就可以了。 我们还可以将 grepfind 命令与 tar 结合使用以获得更多动态使用。

9. 如何在 UNIX 中从 .tar、.tar.gz 或 .tar.bzip2 格式中提取文件组或目录

我们可以通过指定匹配模式并使用选项 --wildcards 在 Unix 中提取一组文件形式的 .tar、.tar.gz 或 .tar.bzip2。 让我们举一个 unix 中带有 --wildcards 的 tar 命令的例子

$ tar -jxvf trading.tar.bz2 --wildcards "s*"
stocks/
stocks/online_stock_exchanges.txt

在上面的 UNIX tar 命令示例中,我们正在提取名称以“s”开头的所有文件或目录。

10. 如何在 Linux 中更新现有的 tar 文件

我们还可以在已创建的 tar 文件中更新或附加新文件。 选项“-r”用于此。 让我们看一个在 UNIX 中使用 tar 命令更新 tar 文件的示例:

$ tar -cvf sample.tar equity currency
equity
currency

$ tar -rvf sample.tar gold
gold

$ tar -tvf sample.tar
-r--r--r-- stock_trader/Domain Users 0 2011-07-15 11:42 equity
-r--r--r-- stock_trader/Domain Users 221 2011-07-18 13:10 currency
-rw-r--r-- stock_trader/Domain Users   0 2011-07-18 13:30 gold

显然无法更新压缩存档。如果我们尝试这样做,将收到错误“tar: Cannot update compressed archives”。

11. 在 UNIX 中计算 tar 文件的大小

有时在创建 tar 文件之前知道它的大小很有用,我们可以使用 UNIX tar 命令获取它,如下例所示:

$ tar -cf - * | wc -c
20480

此处显示的大小以 KB 为单位,我们还可以使用 z 代表 gzip,j 代表 bzip2 来计算压缩的 tar 文件的大小

这就是 UNIX 或 Linux 中 tar 命令的 11 个示例系列的全部内容。 如果你们有其他一些关于 UNIX tar 命令的好例子,欢迎与我们分享。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 Linux 中安装 MySQL 客户端

发布时间:2023/05/09 浏览次数:72 分类:MySQL

在 Linux 中安装 MySQL 客户端的命令。Linux 和 Unix 等环境作为命令行界面工作,仅在命令的帮助下运行。

在 Linux 中更新 YUM

发布时间:2023/05/04 浏览次数:82 分类:操作系统

本文介绍了 Linux 中的 yum update 命令。本文将教我们如何在 Linux 中更新 YUM,以及如何在 Linux 系统上安装、更新、删除、查找和管理包。

在 Linux 中安装 Deb 文件

发布时间:2023/05/04 浏览次数:130 分类:操作系统

本文介绍如何在 Linux 中安装 deb 文件。在这篇 Linux 文章中,我们将学习如何在 Linux 系统上安装 .deb(Debian 软件包)文件。 我们还将看到如何在安装后删除 .deb 文件。

Linux 中的 lsof 命令

发布时间:2023/05/04 浏览次数:82 分类:操作系统

在这篇 Linux 文章中,我们将了解 Linux 操作系统中的 lsof 命令。 我们将看到如何在 Linux 中将此命令用于不同目的。

Linux 中的 ps aux 命令

发布时间:2023/05/04 浏览次数:69 分类:操作系统

本篇文章将讨论 Linux 中的 ps aux 命令。如果将 aux 快捷方式与 ps 命令一起使用,它将显示用户需要的最多信息,并可以为您提供系统运行进程的当前状态。

Linux 中的 NTP

发布时间:2023/05/04 浏览次数:137 分类:操作系统

本篇文章将讨论 Linux 中的 ntp。NTP 是大多数 IT 基础设施使用的核心协议。 使用它的目的是同步日期和时间信息。

在 Linux 中计算文件中的唯一行

发布时间:2023/05/04 浏览次数:70 分类:操作系统

计算文件中的唯一行是 Linux 中的一项常见任务,可以使用多种不同的工具和方法来执行此操作。使用 sort 和 uniq 命令计算文件中的唯一行数

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便