如何在 Linux 中将 Tar 文件提取到特定或不同的目录
tar实用程序是可用于在 Linux 系统上创建备份的实用程序之一。它包含许多选项,可用于指定要完成的任务。
需要理解的一点是,您可以将 tar 文件提取到不同的或特定的目录,不一定是当前工作目录。在继续阅读本文之前,您可以在以下文章中阅读有关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 文件解压特定文件的方法。如果您觉得本指南有用或者有更多信息或其他想法,您可以通过发表评论给我反馈。