linux tar命令详解+示例

Linux系统中经常会碰到.tar.gz 或 tgz 后缀的压缩文件,所以你需要很熟练的知道如何解压这些文件,最好也需要知道如何创建这种压缩文件。

在本文中,我们将学习 Linux 中的 tar 命令来创建压缩或未压缩的存档文件。我们还将介绍如何使用 tar 命令提取文件。

 tar 命令

Linux 中的 tar 是什么

tar 命令在 Linux 中用于创建包含一组文件或单个文件的压缩或未压缩档案。tar 实用程序可以创建.tar存档(未压缩)并使用 xz、gzip 和 bzip2 等压缩算法对其进行压缩。

压缩存档文件或称为 tarball 将具有扩展名,例如 .tar.gz(gzip 压缩)和 .tar.bz2(bzip2 压缩)。

如何使用 tar 命令

tar 命令通常用于将文件和目录压缩到单个存档中。Tar 可以使用不同的压缩算法来创建具有 .tar.gz 和 .tar.bz2 等扩展名的 tarball。

tar 命令的基本语法:

tar [options][archive-file] [file or directory to be archived]

一些重要的 tar 选项是:

选项 描述
-c 创建存档文件
-v 详细模式,创建存档文件时显示进度
-x 提取存档文件
-z 告诉 tar 命令使用 gzip 压缩算法压缩存档
-j 告诉 tar 命令使用 bzip2 压缩算法压缩存档
-t 显示归档文件中的文件
-r 将文件或目录添加到 tar 文件
-f 可以指定存档文件名

要在 Linux 中压缩目录或文件,请使用以下语法:

tar -czvf new-archive-file.tar.gz /path/to/directory-or-the-file

例如要压缩当前目录中命名Projects的目录并用 name 保存project-archive-tar.gz,输入:

tar -czvf project-archive.tar.gz Projects

如果您收到一条消息说“tar:从成员名称中删除前导 `/’”,这只是您可以使用 -P 选项或删除绝对路径的信息。示例:tar -czvf new-archive-file.tar.gz -P /path/to/directory-or-the-file

Tar 命令示例

让我们通过示例进一步了解 Linux Tar 命令及其用法。

创建一个未压缩的 tar 文件

-cvf使用选项创建没有任何压缩的存档文件。

tar -cvf move.tar file.txt file2.txt file2.txt

这会创建 tar 文件,它用于捆绑一堆文件或目录

压缩整个目录

您可以告诉 tar 命令使用各种算法创建带有压缩的存档文件。您需要使用-zgzip-j选项和 bzip2 算法选项。

例如,要压缩projects使用 gzip 命名的目录并将文件另存为projectbackup.tar.gz,请键入:

tar -czvf projectbackup.tar.gz /home/foo/documents

上述命令将在当前目录中创建一个名为 projectbackup.tar.gz 的存档文件。

您可以使用替换-z选项-j来使用 bzip2 算法进行压缩。

压缩多个目录

以下命令将目录压缩为compressed-file.tar.gz以当前目录命名的存档文件:

tar -czvf compressed-file.tar.gz /path/to/directory1 /path/to/directory2

压缩多个文件

要将多个文件压缩为一个存档文件,请键入:

tar -czvf projectbackup.tar.gz doc1.txt doc2.txt doc3.pdf

创建存档文件时排除目录

压缩时,您可以使用 –exclude 开关排除特定目录或文件。

tar -czvf projectbackup.tar.gz Projects --exclude=/home/linuxopsys/CSS --exclude=  /home/linuxopsys/data  --exclude=*.jpg

排除开关还接受诸如--exclude=*.jpg.

解压 tar.gz 压缩文件

要提取或解压缩名为compressed-file.tar.gz 的存档文件,请运行以下命令:

tar -xzvf compressed-file.tar.gz 

存档文件的内容将被提取到当前目录。

将文件提取到特定目录

上面我们看到压缩包的内容被解压到了当前目录。如果您想将存档提取到特定目录使用-C选项。

tar -xzvf compressed-file.tar.gz -C /home/linuxopsys/documents

列出存档文件的内容

您想查看存档文件内容怎么样?无需解压即可查看 tar 文件的内容。

以下命令列出名为 tar 归档文件的内容compressed-file.tar.gz

tar -tvf compressed-file.tar.gz

要在存档文件中搜索特定文件名,请键入:

tar -tvf compressed-file.tar.gz filename 

从存档文件中仅提取特定文件

列出归档文件内容后,如果您想提取特定文件,请使用以下命令:

tar -xzvf compressed-file.tar.gz "file1" "file2"

您还可以使用模式来匹配和提取一组特定的文件:

tar -xzvf compressed-file.tar.gz --wildcards “*.jpg”

将文件添加到现有的 tar 文件

使用选项 -r 将文件添加到现有存档文件。存档文件应该是 .tar 文件。

tar -rvf compressed-file.tar newfile

注意:无法将文件添加到压缩存档文件中。解决方法是先 gunzip,然后将文件添加到 .tar 文件,然后 gzip 该文件。

结论

在本教程中,我们学习了如何在 Linux 中使用 tar 命令。我们已经通过可用示例解释了 tar 选项。有关更多信息,请使用tar 手册页或直接man tar从命令行键入。

Ubuntu下如何安装php8.0
linux命令行杀死进程

发表我的评论

电子邮件地址不会被公开。 必填项已用*标注

80 + 37 =

ajax-loader