博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
tar.gz文件怎么解压缩_如何解压缩tar.gz文件
阅读量:2527 次
发布时间:2019-05-11

本文共 4940 字,大约阅读时间需要 16 分钟。

tar.gz文件怎么解压缩

如果您使用开源软件,则有时可能会遇到.tar文件。 开源tar存档实用程序自1979年以来一直存在,因此它在世界中确实无处不在。 它的目的很简单:它将一个或多个文件并“包装”到一个自包含的文件中,称为磁带存档,因为发明了tar时,它用于将数据放置在存储磁带上。

tar格式的新手通常将其等同于.zip文件,但是tar归档文件显然压缩。 tar格式仅创建文件的容器,但是可以使用单独的实用工具压缩文件。 应用于.tar文件的常见压缩是Gzipbzip2xz 。 这就是为什么您很少只看到.tar文件,而更经常遇到.tar.gz.tgz文件的原因。

安装tar

在Linux,BSD,Illumos甚至Mac OS上,已经为您安装了tar命令。

在Windows上,处理.tar文件的最简单方法是安装开源实用程序。 它的名称暗示它是一个zip实用程序,但它也可与tar存档一起使用,甚至为cmd命令行界面提供命令。

如果您真的想在Windows上使用实际的tar实用程序,则可以通过Windows 10上的或安装GNU tar

创建一个tar包

tar存档通常被称为tarball ,大概是因为我们的黑客喜欢将单词缩短到尽可能少的音节,并且“ tarball”比“ tar存档”更短,更容易。

在GUI中,创建tarball最多是一个三步过程。 我正在使用KDE,但是在Gnome或XFCE上的过程基本相同:

  1. 建立目录
  2. 将文件放入目录
  3. 右键单击目录,然后选择“压缩”
Creating a tarball

创建一个tar包

在外壳程序中,基本上是相同的过程。

要将一组文件收集到一个存档中,请将文件放在目录中,然后调用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中,右键单击要提取的档案,然后选择“提取”。

Extracting an archive

提取档案

提供了一项功能,可以自动检测从存档中提取的文件是否包含在目录中,或者是否需要为其创建新目录。 我使用此选项,以便当我从tarbomb提取文件时,它们保持整洁并包含在内。

在shell中,提取档案的命令非常直观:

    $ tar --extract --file archive.tar.gz

高级用户可以将其缩短为:

    $ tar xf archive.tar.gz

您甚至可以使用tar实用工具解压缩.zip文件:

    $ tar --extract --file archive.zip

高级焦油

tar实用程序非常健壮和灵活。 熟悉基础知识后,探索其他功能将非常有用。

将文件或目录添加到现有的tarball

如果您有一个现有的tarball,并想在其中添加新文件,则不必仅添加一个新文件就取消归档所有内容。

大多数Linux和BSD桌面都带有图形存档实用程序。 使用它,您可以像打开任何其他目录一样打开tar归档文件,浏览内部,提取单个文件,向其中添加文件,甚至预览其中包含的文本文件和图像。

The Ark archive utility

方舟档案工具

在外壳程序中,您可以将文件或目录添加到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/storevouchers.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以及子目录storedealimages的存在 ,并将文件分发到适当的目录中。 快速,轻松地完成批量复制和粘贴。

GNU tar和BSD tar

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/

你可能感兴趣的文章
[CF825D] Suitable Replacement (贪心乱搞)
查看>>
大数据笔记(二十五)——Scala函数式编程
查看>>
win7 IIS7 运行vs2003 web 项目 无法识别的配置节“system.webServer” 解决
查看>>
jQuery源码分析_工具方法(学习笔记)
查看>>
有穷自动机的转换
查看>>
ncbi-blast 本地安装
查看>>
在android上使用 stand-alone toolchains移植 transmission
查看>>
小议IT公司的组织架构
查看>>
在Eclipse中编写jQuery代码时产生的错误(连载)
查看>>
java 中 this的使用
查看>>
多线程和蕃茄炒蛋
查看>>
SSH错误:packet_write_wait: Connection to 10.57.19.250 port 22: Broken pipe
查看>>
ACTION 关联表之间查询语句 SQL语句写法
查看>>
find命令
查看>>
Ambari——大数据平台的搭建利器之进阶篇
查看>>
模块内高内聚?模块间低耦合?MVC+EF演示给你看!
查看>>
ACM学习心得及书籍推荐
查看>>
springcloud
查看>>
Binary Tree Inorder Traversal
查看>>
npm、yarn、pnpm
查看>>