Tar文件是压缩档案。在使用像Ubuntu这样的Linux发行版时,甚至在macOS上使用终端时,您会经常遇到它们。下面介绍如何提取或解压tar文件(也称为tarball)的内容。
文件有一个。焦油.gz或者一个。焦油bz2扩展名是压缩的存档文件。只有.tar扩展名的文件是未压缩的,但这种情况非常少见。
文件扩展名的.tar部分代表磁带存档,这也是这两种文件类型都称为tar文件的原因。Tar文件可以追溯到1979年,当时创建了Tar命令,允许系统管理员将文件归档到磁带上。四十年后,我们仍然使用tar命令将tar文件提取到硬盘上。某处可能有人还在用焦油胶带。
.gz或.bz2扩展后缀表示已使用gzip或bzip2压缩算法压缩存档。tar命令可以很好地处理这两种类型的文件,所以不管使用哪种压缩方法,只要有bashshell,它都应该是可用的。您只需要使用适当的tar命令行选项。
假设你下载了两个乐谱文件。其中一个文件称为四弦琴_歌曲.tar.gz另一种叫吉他_歌曲.tar.bz2. 这些文件在下载目录中。
让我们摘录四弦琴的歌曲:
tar -xvzf ukulele_songs.tar.gz在提取文件时,它们将列在终端窗口中。
我们使用的命令行选项有:
用ls列出目录中的文件,你会看到已经创建了一个名为Ukulele Songs的目录。提取的文件在该目录中。这个目录是从哪里来的?它包含在tar文件中,并与文件一起提取。
现在让我们提取吉他歌曲。为此,我们将使用与以前几乎完全相同的命令,但有一个重要的区别。.bz2扩展名后缀告诉我们它是使用bzip2命令压缩的。我们不使用-z(gzip)选项,而是使用-j(bzip2)选项。
tar -xvjf guitar_songs.tar.bz2同样,在提取文件时,这些文件会列在终端上。为了清楚起见,我们在tar中使用的命令行选项。焦油bz2文件是:
如果我们列出下载目录中的文件,我们将看到另一个名为吉他歌曲的目录已经创建。
如果要将文件提取到当前目录以外的位置,可以使用-C(指定目录)选项指定目标目录。
tar -xvjf guitar_songs.tar.gz -C ~/Documents/Songs/在我们的文档/歌曲目录中,我们会看到吉他歌曲目录已经创建。
请注意,目标目录必须已经存在,如果它不存在,tar将不会创建它。如果您需要创建一个目录,并让tar在一个命令中将所有文件提取到其中,您可以按以下方式执行:
mkdir -p ~/Documents/Songs/Downloaded && tar -xvjf guitar_songs.tar.gz -C ~/Documents/Songs/Downloaded/p(parents)选项使mkdir创建所需的任何父目录,确保目标目录已创建。
到目前为止,我们只是采取了信仰的飞跃和提取文件的视线看不见。你可能想三思而后行。您可以使用-t(list)选项在解压缩tar文件之前查看其内容。通常通过less命令将输出管道化是很方便的。
tar -tf ukulele_songs.tar.gz | less注意,我们不需要使用-z选项来列出文件。我们只需要在从文件中提取文件时添加-z选项。焦油.gz文件。同样地,我们不需要-j选项来列出焦油bz2文件。
滚动输出,我们可以看到tar文件中的所有内容都保存在一个名为UkuleleSongs的目录中,在这个目录中,有文件和其他目录。
我们可以看到,Ukulele歌曲目录包含了名为Random Songs、Ramones和Possibles的目录。
要从tar文件中的目录中提取所有文件,请使用以下命令。请注意,路径用引号括起来,因为路径中有空格。
tar -xvzf ukulele_songs.tar.gz "Ukulele Songs/Ramones/"要提取单个文件,请提供文件的路径和名称。
tar -xvzf ukulele_songs.tar.gz "Ukulele Songs/023 - My Babe.odt"您可以使用通配符提取选定的文件,其中*表示任何字符串,而?表示任何单个字符。使用通配符需要使用--wildcards选项。
tar -xvz --wildcards -f ukulele_songs.tar.gz "Ukulele Songs/Possibles/B*"如果不希望在硬盘上重新创建tar文件中的目录结构,请使用--strip components选项。--strip components选项需要一个数字参数。数字表示要忽略的目录级别。忽略目录中的文件仍会被提取,但不会在硬盘上复制目录结构。
如果我们在示例tar文件中指定--strip components=1,那么tar文件中最上面的四弦琴歌曲目录就不会在硬盘上创建。本应提取到该目录的文件和目录将在目标目录中提取。
tar -xvzf ukulele_songs.tar.gz --strip-components=1在我们的示例tar文件中只有两级目录嵌套。因此,如果我们使用--strip components=2,则所有文件都在目标目录中提取,而不会创建其他目录。
tar -xvzf ukulele_songs.tar.gz --strip-components=2如果你看一下Linux手册页,你会发现tar肯定是“命令行选项最多的命令”这个标题的一个很好的候选者。焦油.gz以及焦油bz2文件具有良好的细粒度控制,我们只需要记住这些选项中的一小部分。
... 让我们看看软件是如何安装在三大桌面平台上的:Windows、macOS和Linux。 ...
...面是一个关于如何编译和安装的优秀指南焦油.GZ以及焦油BZ2Linux中的文件。 ...
... 你觉得在Linux上安装软件怎么样?它与其他操作系统相比如何?可以改进吗?分享你的想法,如果你有任何问题,不要犹豫问! ...
...容。 相关:如何从文件中提取文件。焦油.gz或者。焦油bz2Linux上的文件 有几种方法可以做到这一点。如果右键单击该文件,将出现上下文菜单。从菜单中选择“Extract Here”。 如果您的上下文菜单没有“Extract Here”选项,请关闭...
...案。 相关:如何从文件中提取文件。焦油.gz或者。焦油bz2Linux上的文件 zip、unzip和其他实用程序 您可能已经知道,Linux和类似Unix的操作系统(如macOS)具有允许您创建ZIP文件并从中提取文件的工具,称为ZIP和unzip。但是有一系列...
...tar.bz2 相关:如何从文件中提取文件。焦油.gz或者。焦油bz2Linux上的文件 34顶部 top命令显示与Linux机器相关的数据的实时显示。屏幕顶部是状态摘要。 第一行显示您的计算机运行的时间和时间,有多少用户登录到它,以及过去一...
...夹。 相关:如何从文件中提取文件。焦油.gz或者。焦油bz2Linux上的文件 mget *.c 将文件上载到ftp服务器 根据授予FTP帐户的权限,您可以将文件上载(或“放入”)到服务器。要上载文件,请使用put命令。在我们的示例中,用户正...
...人都同时调用.tar和.tar。焦油.gz文件简单的“tar文件” 如何打开tar文件? 如果您使用的是macOS或Linux,并且不介意使用终端,那么它只是一个命令(其中tarfile是您的文件名): tar -xzf tarfile 您还可以向命令添加一些标志,使其...
...找一个明亮的蓝色主题还是一个漂亮的深色主题,下面是如何定制你的桌面。 虽然默认情况下它不包括许多定制选项,但是gnomeshell桌面是非常可定制的。例如,你甚至可以使用扩展和主题来使Ubuntu看起来很像Windows。 如何更改...
...加密保护存档文件),还需要另一个应用程序。 相关:如何用密码保护文件和文件夹的加密 如果您需要的不仅仅是Windows提供的功能,我们建议您使用7-Zip。7-Zip是一个免费的、开源的、功能强大的Windows存档工具。它自己的7z格...