本文共 4940 字,大约阅读时间需要 16 分钟。
tar.gz文件怎么解压缩
如果您使用开源软件,则有时可能会遇到.tar文件。 开源tar存档实用程序自1979年以来一直存在,因此它在世界中确实无处不在。 它的目的很简单:它将一个或多个文件并“包装”到一个自包含的文件中,称为磁带存档,因为发明了tar时,它用于将数据放置在存储磁带上。
tar格式的新手通常将其等同于.zip文件,但是tar归档文件显然未压缩。 tar格式仅创建文件的容器,但是可以使用单独的实用工具压缩文件。 应用于.tar文件的常见压缩是Gzip , bzip2和xz 。 这就是为什么您很少只看到.tar文件,而更经常遇到.tar.gz或.tgz文件的原因。
在Linux,BSD,Illumos甚至Mac OS上,已经为您安装了tar命令。
在Windows上,处理.tar文件的最简单方法是安装开源实用程序。 它的名称暗示它是一个zip实用程序,但它也可与tar存档一起使用,甚至为cmd命令行界面提供命令。
如果您真的想在Windows上使用实际的tar实用程序,则可以通过Windows 10上的或安装GNU tar 。
tar存档通常被称为tarball ,大概是因为我们的黑客喜欢将单词缩短到尽可能少的音节,并且“ tarball”比“ tar存档”更短,更容易。
在GUI中,创建tarball最多是一个三步过程。 我正在使用KDE,但是在Gnome或XFCE上的过程基本相同:
在外壳程序中,基本上是相同的过程。
要将一组文件收集到一个存档中,请将文件放在目录中,然后调用tar,为要创建的存档和要存档的目录提供名称:
$ tar --create --verbose --file archive.tar myfiles
tar实用程序在命令之间是唯一的,因为它的短选项不需要在前面加上破折号,从而使高级用户可以简化以下复杂命令:
$ tar cvf archive.tar myfiles
您不必在归档文件之前将文件放入目录中,但是礼节性很差,因为没有人希望在取消归档目录时将50个文件散布到桌面上。 这些档案有时被称为“ 炸弹” ,尽管并不总是带有负面含义。 Tarbombs对于补丁程序和软件安装程序很有用。 只是知道何时使用它们以及何时避免使用它们。
创建tar归档文件不会压缩文件,只会使它们更容易以一个blob的形式移动。 为了进行压缩,您可以使用tar调用或 :
$ tar --create --bzip2 --file foo.tar.bz2 myfiles $ tar --create --gzip --file foo.tar.gz myfiles
常见扩展名是用于Gzipped tar文件的tar.gz和.tgz ,以及用于bzip压缩tar文件的.tbz和.tar.bz2 。
如果您从朋友或软件项目收到压缩包,则可以将其解压缩到GUI桌面或外壳中。 在GUI中,右键单击要提取的档案,然后选择“提取”。
提供了一项功能,可以自动检测从存档中提取的文件是否包含在目录中,或者是否需要为其创建新目录。 我使用此选项,以便当我从tarbomb提取文件时,它们保持整洁并包含在内。
在shell中,提取档案的命令非常直观:
$ tar --extract --file archive.tar.gz
高级用户可以将其缩短为:
$ tar xf archive.tar.gz
您甚至可以使用tar实用工具解压缩.zip文件:
$ tar --extract --file archive.zip
tar实用程序非常健壮和灵活。 熟悉基础知识后,探索其他功能将非常有用。
如果您有一个现有的tarball,并想在其中添加新文件,则不必仅添加一个新文件就取消归档所有内容。
大多数Linux和BSD桌面都带有图形存档实用程序。 使用它,您可以像打开任何其他目录一样打开tar归档文件,浏览内部,提取单个文件,向其中添加文件,甚至预览其中包含的文本文件和图像。
在外壳程序中,您可以将文件或目录添加到tar归档中,只要它不被压缩即可。 如果归档文件已被压缩,则必须对其进行解压缩,但无需对其进行归档。
例如,如果存档已使用Gzip压缩:
$ gunzip archive.tar.gz $ ls archive.tar
现在您有了未压缩的tar存档,请向其中添加文件和目录:
$ tar --append --file archive.tar foo.txt $ tar --append --file archive.tar bar /
较短的版本:
$ tar rf archive.tar foo.txt $ tar rf archive.tar bar /
要查看压缩或未压缩档案中的文件,请使用--list选项:
$ tar --list --file archive.tar.gz myfiles / myfiles / one myfiles / two myfiles / three bar / bar / four foo.txt
高级用户可以将其缩短为:
$ tar tf archive.tar.gz
有时,您不需要存档中的所有文件,而只想提取一两个即可。 列出tar归档文件的内容后,使用常规的tar extract命令以及要提取的文件的路径:
$ tar xvf archive.tar.gz bar / four bar / four
现在,文件“ four”被解压缩到名为“ bar”的新目录中。 如果“ bar”已经存在,则在现有目录中放置“四个”。
提取多个文件或目录基本上是相同的:
$ tar xvf archive.tar.gz myfiles / one bar / four myfiles / one bar / four
您甚至可以使用通配符:
$ tar xvf archive.tar.gz --wildcards '*.txt' foo.txt
之前,我曾提到一些压缩文件是炸弹,这些文件会使文件散落在计算机中。 如果您列出了一个tar归档文件,并且发现其文件未包含在目录中,则可以为它们创建目标目录:
$ tar --list --file archive.tar.gz foo bar baz $ mkdir newfiles $ tar xvf archive.tar.gz -C newfiles
这会将存档中的所有文件整齐地放置到“ newfiles”目录中。
目标目录选项不仅可以使提取的文件保持整洁,还可以做很多事情,例如,分发打算复制到现有目录结构中的文件。 如果您在网站上工作,并希望向管理员发送一些新文件,则可以通过几种不同的方法来完成。 一种明显的方法是将文件以及一些解释每个文件放置位置的文本通过电子邮件发送给站点管理员:“附加的index.php文件进入/var/www/example.com/store和vouchers.php文件进入/var/www/example.com/deals ...”
更有效的方法是创建tar归档文件:
$ tar cvf updates- 20170621 .tar.bz2 var var / www / example.com / store / index.php var / www / example.com / deals / voucher.php var / www / example.com / images / banner.jpg var / www / example.com / images / badge.jpg var / www / example.com / images / llama-eating-apple-pie.gif
使用这种结构,站点管理员可以将传入的存档直接提取到服务器的根目录。 tar实用程序会自动检测/var/www/example.com以及子目录store , deal和images的存在 ,并将文件分发到适当的目录中。 快速,轻松地完成批量复制和粘贴。
tar格式只是一种格式,并且是一种开放格式,因此可以由多个工具创建。
有两种常见的tar实用程序: GNU tar实用程序(默认安装在Linux系统上)和BSD tar实用程序(默认安装在BSD,Mac OS和某些Linux系统上)。 对于一般用途,任何一个tar都可以。 例如,本文中的所有示例在GNU或BSD tar上的工作方式都相同。 但是,这两个实用程序确实有一些细微的差异,因此一旦您对其中一种感到满意,就应该尝试另一种。
您可能必须手动安装“其他” tar(无论系统上可能安装了什么)。 为避免实用程序之间的混淆,GNU tar经常被命名为gtar,而BSD tar则被命名为bsdtar ,命令tar是到计算机上预装的符号链接或别名 。
翻译自:
tar.gz文件怎么解压缩
转载地址:http://czczd.baihongyu.com/