tar.gz文件怎么解压缩

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

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

安装tar

tar命令。

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

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

创建一个tar包

tarball

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

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



tar文件如何解压Python_大数据

创建一个tar包



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

要将一组文件收集到一个存档中,请将文件放在目录中,然后调用tar,为要创建的存档和要存档的目录提供名称:

$ tar --create --verbose --file archive.tar myfiles 
    $ tar --create --verbose --file archive.tar myfiles

tar实用程序在命令之间是唯一的,因为它的短选项不需要在前面加上破折号,从而使高级用户可以简化以下复杂命令:

$ tar cvf archive.tar myfiles 
    $ tar cvf archive.tar myfiles

炸弹”

压缩档案

创建tar归档文件不会压缩文件,只会使它们更容易以一个blob的形式移动。 为了进行压缩,您可以使用tar调用Gzipbzip

$ 
     
     tar 
     
     --create 
     
     --bzip2 
     
     --file foo.tar.bz2 myfiles  
     
     

    $ 
     
     tar 
     
     --create 
     
     --gzip 
     
     --file foo.tar.gz myfiles

tar.gz.tgz ,以及用于bzip压缩tar文件的.tbz.tar.bz2

提取档案

如果您从朋友或软件项目收到压缩包,则可以将其解压缩到GUI桌面或外壳中。 在GUI中,右键单击要提取的档案,然后选择“提取”。




tar文件如何解压Python_tar文件如何解压Python_02

提取档案



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

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

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

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

$ tar xf archive.tar.gz 
    $ tar xf archive.tar.gz

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

$ tar --extract --file archive.zip 
    $ tar --extract --file archive.zip

高级焦油

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

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

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

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




tar文件如何解压Python_tar文件如何解压Python_03

方舟档案工具



在外壳程序中,您可以将文件或目录添加到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 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

/var/www/example.com以及子目录storedealimages的存在

GNU tar和BSD tar

tar格式只是一种格式,并且是一种开放格式,因此可以由多个工具创建。

有两种常见的tar实用程序: GNU tar实用程序(默认安装在Linux系统上)和BSD tar实用程序(默认安装在BSD,Mac OS和某些Linux系统上)。 对于一般用途,任何一个tar都可以。 例如,本文中的所有示例在GNU或BSD tar上的工作方式都相同。 但是,这两个实用程序确实有一些细微的差异,因此一旦您对其中一种感到满意,就应该尝试另一种。

gtar,而BSD tar则被命名为bsdtar ,命令tar是到计算机上预装的符号链接或别名

翻译自: https://opensource.com/article/17/7/how-unzip-targz-file

tar.gz文件怎么解压缩