使用tar在Linux或者Unix中提取tar.gz文件
如何使用命令行选项在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