使用tar在Linux或者Unix中提取tar.gz文件

时间:2020-01-09 10:42:08  来源:igfitidea点击:

如何使用命令行选项在Linux/UNIX之类的操作系统下提取tar.gz文件?
压缩文件(tar.gz文件)不过是压缩的tar存档。

tar程序提供了创建tar存档以及进行其他各种操作的功能。
例如,您可以在先前创建的归档文件上使用tar来提取文件,存储其他文件,或者更新或者列出已存储的文件。

最初,使用tar归档文件将文件方便地存储在磁带上。

Tar的名称就是来自这种用法。
它代表磁带存档器。
尽管有实用程序名称,Tar仍可以将其输出定向到可用的设备,文件或者其他程序(使用管道),甚至可以将远程设备或者文件作为存档访问。

tar命令在Linux(CentOS/RHEL/Fedora/Debian/Ubuntu和所有其他发行版),BSD(OpenBSD/NetBSD/FreeBSD),Apple macOS,HP-UX,AIX和其他类似Unix的操作系统上可用。
本教程显示如何使用命令行提取tar.gz文件。

提取.tar.gz文件的语法

语法如下:

tar [options] file.tar.gz
tar [options] file.tar.gz pattern
tar -xf file.tar.gz
tar -xvf file.tar.gz
tar -zxvf file.tar.gz
tar -zxvf file.tar.gz file1 file2 dir1 dir2

提取tr.gz。文件

要从存档中提取一个或者多个成员,请执行:

$ tar -zxvf {file.tar.gz}

如果您的tar包名称是backup.tar.gz,请在Shell提示符下输入以下内容以提取文件:

$ tar -zxvf backup.tar.gz

要从backup.tar.gz压缩包中提取resume.doc文件,请执行:

$ tar -zxvf backup.tar.gz resume.doc

其中:

  • -z:读取档案时自动进行gzip压缩。
  • -x:提取tar.gz存档。
  • -v:产生详细的输出,即在屏幕上显示进度和提取的文件列表。
  • -f:将档案从档案读取到指定文件。在此示例中,阅读backups.tar.gz存档。
  • -t:列出档案中的文件。
  • -r:将文件追加到tar包的末尾。
  • --delete(仅适用于GNU/Linux tar):从压缩包中删除文件。

为了解压缩tar文件,需要-x(用于解压缩)和-f选项。

提取整个档案

要提取整个档案,请仅指定档案文件名,不将单个文件名作为参数。

tar -zxvf backup.tar.gz

列出档案中的文件

要查看压缩包中的文件列表,请发出以下命令,执行:

$ tar -tvf backup.tar.gz

如何创建压缩包

tar命令,用于创建磁带存档。
生成的文件在Unix世界中被称为tar包。
让我们看看如何使用tar命令创建tar包。
下面将根据位于当前目录中的三个文件file1.txt,file2.txt和file3.txt创建一个名为data.tar的存档文件:

tar -cvf data.tar file1.txt file2.txt file3.txt

可以使用tar命令从一个或者多个目录的内容进行归档。
例如,可以使用以下命令将名为/etc /和/home/Hyman/Documents /的两个目录的内容归档到名为dump.tar的文件中:

tar -cvf dump.tar /etc/ /home/Hyman/Documents

在此示例中,创建使用gzip压缩的文件/etc /目录的名为data.tar.bz2的归档文件:

tar -cvzf files.tar.gz /etc/

如何将文件添加到现有的tar包

传递-r选项。
例如,以下内容会将名为resume.doc的文件追加到file.tar:

tar -rf file.tar resume.doc

如何从tar包删除文件

--delete选项传递给GNU/tar命令,该命令允许从tar包中完全删除指定的文件。
因此,例如,可以使用以下方法从file.tar中删除文件pic1.png和pic2.png:

tar -f file.tar --delete pic1.png pic2.png