tar
的全称是 Tape Archive。它最初是在 Unix 系统中用于将数据写入磁带的工具,但现在它通常用于创建、维护、修改和提取文件的归档文件。尽管tar
可以用于压缩和解压缩文件,但它本身并不进行压缩,而是通常与gzip
或bzip2
等压缩工具一起使用。
在
tar
命令中,-
符号表示从标准输入(stdin)或向标准输出(stdout)读取或写入数据。当你在命令行中使用tar
命令时,通常可以省略-
符号。
tar zxvf p.zip
:这个命令会从p.zip
文件中提取文件。z
选项表示通过 gzip 解压,x
选项表示从归档文件中提取文件,v
选项表示详细模式,f
选项表示后面跟着的是文件名。
tar -zxvf p.zip
:这个命令和tar zxvf p.zip
的功能是一样的。-
符号在这里是可选的,它不会改变命令的行为。但是,你的文件是 zip 格式的,所以应该使用
unzip
命令来解压,如unzip p.zip
。tar
命令通常用于处理 tar.gz 或 tar.bz2 格式的压缩文件。
tar
命令的xvf
和zxvf
选项的区别在于z
选项:
xvf
:x
表示从归档文件中提取文件,v
表示详细模式,f
表示后面跟着的是文件名。这个命令用于从未经压缩的 tar 归档文件中提取文件。
zxvf
:z
表示通过 gzip 解压,其他选项的含义与上面相同。这个命令用于从 gzip 压缩的 tar 归档文件中提取文件。所以,如果你有一个 gzip 压缩的 tar 归档文件(如
file.tar.gz
或file.tgz
),你应该使用tar zxvf
命令来提取文件。如果你有一个未经压缩的 tar 归档文件(如file.tar
),你应该使用tar xvf
命令来提取文件。
tar
和gzip
是两种不同的文件格式,它们通常一起使用,但各自的目的不同:
tar
(Tape Archive):tar
是一种归档文件格式,它可以将多个文件和目录打包成一个文件,但不进行压缩。tar
文件通常有.tar
扩展名。
gzip
(GNU zip):gzip
是一种压缩文件格式,它可以将文件的大小压缩,以节省存储空间和加快文件传输。gzip
文件通常有.gz
扩展名。当你看到一个
.tar.gz
或.tgz
文件时,这意味着这个文件首先被tar
打包,然后被gzip
压缩。你可以使用tar zxvf
命令来解压这种文件,z
选项告诉tar
命令先用gzip
解压文件,然后提取文件。