网站搜索

如何将 Tar 文件提取到 Linux 中的特定或不同目录


tar 实用程序是可用于在 Linux 系统上创建备份的实用程序之一。它包括许多选项,可用于指定要实现的任务。

需要理解的一件事是,您可以将 tar 文件提取到不同或特定的目录,不一定是当前工作目录。在继续阅读本文之前,您可以在下面的文章中阅读有关 tar 备份实用程序的更多信息以及许多不同的示例。

通过这 18 个 Linux 示例掌握 tar 命令

在本指南中,我们将了解如何将 tar 文件提取到您希望文件驻留的特定或不同目录。

用于提取文件的 tar 实用程序的一般语法:

tar -xf file_name.tar -C /target/directory
tar -xf file_name.tar.gz --directory /target/directory

注意:在上面的第一个语法中,-C选项用于指定当前工作目录之外的不同目录。

现在让我们看一下下面的一些例子。

示例 1:将 tar 文件提取到特定目录

在第一个示例中,我将 articles.tar 中的文件提取到目录 /tmp/my_article 中。请始终确保要将 tar 文件解压到的目录存在。

让我首先使用以下命令创建 /tmp/my_article 目录:

mkdir /tmp/my_article

您可以在上述命令中包含 -p 选项,以便该命令不会出现错误。

要将 articles.tar 中的文件提取到 /tmp/my_article,我将运行以下命令:

tar -xvf articles.tar -C /tmp/my_article/

在上面的示例中,我使用 -v 选项来监视 tar 提取的进度。

对于上面的示例,我还使用 --directory 选项而不是 -c。它的工作原理是一样的。

tar -xvf articles.tar --directory /tmp/my_articles/

示例 2:将 .tar.gz 或 .tgz 文件提取到不同的目录

首先确保您使用以下命令创建要解压到的特定目录:

mkdir -p /tmp/tgz

现在我们将 documents.tgz 文件的内容提取到单独的 /tmp/tgz/ 目录中。

tar -zvxf documents.tgz -C /tmp/tgz/ 

示例 3:将 tar.bz2、.tar.bz、.tbz 或 .tbz2 文件提取到不同目录

再次强调,在解压文件之前必须创建一个单独的目录:

mkdir -p /tmp/tar.bz2

现在我们将把 documents.tbz2 文件解压到 /tmp/tar.bz2/ 目录。

tar -jvxf documents.tbz2 -C /tmp/tar.bz2/ 

示例 4:从 Tar 存档中仅提取特定或选定的文件

tar 实用程序还允许您定义只想从 .tar 文件中提取的文件。在下一个示例中,我将从 tar 文件中提取特定文件到特定目录,如下所示:

mkdir /backup/tar_extracts
tar -xvf etc.tar etc/issue etc/fuse.conf etc/mysql/ -C /backup/tar_extracts/

概括

也就是说,将 tar 文件提取到特定目录,并从 tar 文件中提取特定文件。如果您发现本指南有帮助或者有更多信息或其他想法,您可以通过发表评论向我提供反馈。