linux怎么用tar压缩文件

linux怎么用tar压缩文件

浏览次数:
信息来源: 用户投稿
更新日期: 2026-05-23
文章简介

target="_blank"gt;归档、压缩和提取文件是Linux管理员最常见的一些任务。如果您曾经使用过具有.tar、.tar.gz、.xz或.bz2扩展名的“tarball”文件,那么它很可能

2025阿里云双十一服务器活动

target="_blank">归档、压缩和提取文件是Linux管理员最常见的一些任务。如果您曾经使用过具有.tar、.tar.gz、.xz或.bz2扩展名的“tarball”文件,那么它很可能是使用.tar实用程序创建的。在本文中,我们将演示如何使用该tar实用程序在Linux系统上归档、压缩和提取文件。我们将使用Ubuntu20.04作为所有示例,但您可以在任何使用tar.

tar—“磁带存档”的缩写—是一个用于创建和提取存档的GNU命令行工具。

存档是包含多个文件或目录的单个文件。在开源和Linux社区中,tarball是分发源代码和其他重要文件的最常用方法之一。

除了创建档案外,tar还可以使用多种不同的压缩实用程序(例如gzip和bzip2.

在处理Linux归档文件时,您可能经常在类似的上下文中听说过tar和。gzip

这两个工具的基本区别是:在压缩文件

tar的同时从多个文件创建存档。gzip

这些工具并不相互排斥。tar可以gzip用来压缩它归档的文件。tar的z开关使tar命令使用gzip。

gzip不是唯一tar可以使用的压缩程序。它还支持bzip2和xz。下表详细说明了这些压缩工具之间的一些基本区别。

.tar.gz、.tgz、.gz

一般来说,从压缩和性能的角度来看,gzip和是可比的,但使用更广泛。往往会提供最佳的整体压缩,但也需要更多的时间和计算资源。bzip2gzip.xz

注意:在我们的示例中,我们将专注于使用gzip.?在命令中替换-z为-j将使用bzip2而不是gzip。使用-Jinsteadof-z将使用xzinsteadof?gzip。

在Linux中压缩单个文件或目录的一般命令是:

tar-czvf<archivename></path/to/file/or/directory>

  • z-通过运行存档gizp。
  • v-详细列出文件。
  • f-使用特定的存档文件。
  • 例如,要将/pepper目录压缩到名为的存档egg.tar.gz,请运行以下命令:

    tar-czvfegg.tar.gz/pepper

    tar:Removingleading`/'frommembernames

    /pepper/pepperAndegg.log

    /pepper/pepperAndEgg.txt

    /pepper/pepperandegg.log

    如果我们省略v开关而是使用命令tar-czfegg.tar.gz/pepper,输出将不会包括每个文件。相反,它看起来类似于此

    tar:Removingleading`/'frommembernames

    如果没有错误或需要从成员名称中删除的字符——例如,如果我们正在压缩当前工作目录中的文件——则不会有输出。

    注意:tar指定开关的方法不止一种。您会注意到我们-在指定tar开关之前使用。虽然这是一个常见的约定,但通常并不需要。tarczvf<archivename></path/to/file/or/directory>也会工作。一样会tar-cf<archivename>-vz</path/to/file/or/directory>。tar我们将坚持我们在其余示例中使用的约定,但请记住,指定选项的方法不止一种。

    如何将多个文件或目录压缩到一个存档

    linux怎么用tar压缩文件

    tar-czvf<archivename></path/to/file/or/directory1></path/to/file/or/directory2>...</path/to/file/or/directoryN>

    例如,要将文件one.txt、two.mp4和压缩three.iso到名为的存档egg.tar.gz,请运行以下命令:

    tar-czvfegg.tar.gzone.txttwo.mp4three.iso

    如果您指定一个目录来创建存档,则可能有一些文件要从存档中排除。该--exclude选项允许您指定要从存档中排除的模式。

    任何与传递给--exclude选项的模式相匹配的文件都不会包含在存档tar创建中。

    tar从存档中排除文件的一般命令是:

    tar--exclude=<PATTERN><Options><archivename></path/to/directory>

    例如,假设我们的/pepper目录中有这些文件:

    我们希望将除.log文件之外的所有内容压缩到egg.tar.gz存档中。我们可以使用这个命令:

    tar--exclude='*.log'-czvfegg.tar.gz/pepper

    如果需要,您可以--exclude在单个命令中指定多个模式。

    如果你有一个现有的档案并且你想向它添加文件,你可以使用-r或--append选项。附加到.tar档案的一般命令是:

    tar-rf<tararchive></path/to/file>

    -r与--append压缩档案不兼容。这意味着您只能将它们与未通过压缩程序(如、或)运行的tarballgzip一起bzip2使用xz。

    如果您尝试在压缩存档上使用-r或--append,您可能会看到类似于以下内容的错误:

    tar:Cannotupdatecompressedarchives

    tar:Errorisnotrecoverable:exitingnow

    由于此限制以及和的其他一些细微差别-r,--append在许多情况下,使用附加文件创建新存档会更容易。

    -t您可以使用或--list选项列出存档的内容。列出档案内容的一般命令是:

    和选项适用于压缩和未压缩的档案-t。?--list

    例如,要列出egg.tar.xz当前工作目录中存档的内容,请运行以下命令:

    tar的-x开关用于提取档案。在Linux中提取存档的一般命令是:

    该tar-xf命令适用于压缩和未压缩的档案。

    例如,要egg.tar.gz在我们当前的工作目录中提取一个档案,我们可以使用这个命令:

    在某些情况下,您可能希望将文件提取到当前工作目录以外的目录中。tar的-C开关在这种情况下很有用。

    将档案提取到特定目录的一般命令是:

    tar-xf<archive>-C</path/to/destination>

    例如,要将我们的egg.tar.gz存档提取到/tmp/cherry,我们可以使用以下命令:

    tar-xfegg.tar.gz-C/tmp/cherry

    现在您已经了解了使用.tar的基础知识tar,您可以像专业人士一样使用“tarballs”。请记住,tar它是灵活的,您可以组合不同的开关来产生不同的结果并调整输出。要深入了解tar,请查看官方GNUtar手册

    标签:
    为什么大连网站建设如此重要(大连网站建设介绍)
    « 上一篇
    返回列表
    下一篇 »

    如本文对您有帮助,就请抽根烟吧!