linux tar命令详解+示例
文章目录
在Linux系统中经常会碰到.tar.gz 或 tgz 后缀的压缩文件,所以你需要很熟练的知道如何解压这些文件,最好也需要知道如何创建这种压缩文件。
在本文中,我们将学习 Linux 中的 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 命令使用各种算法创建带有压缩的存档文件。您需要使用-z
gzip-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
从命令行键入。