我想在提取 tar 文件时跳过一个大的 gzip 文件,但是每次 tar 开始对其进行压缩以查看内部时。
即使我只是尝试查看 tar 内部,似乎也开始对其进行压缩,例如:
tar -tvf my.tar.gz --exclude="huge_mysql_file.gz"
Run Code Online (Sandbox Code Playgroud)
任何提示如何完全跳过该文件?当 tar 到达那个 gz 文件时,我看到 gzip 正在运行。
my.tar.gz是一个gzip 压缩的 tar文件。tar是“磁带存档”的缩写。因此,my.tar.gz必须先解压缩该文件,gzip -d然后才能读取tar文件。不能随机访问 gzip 文件的内容。我真的不知道 gzip 文件格式,但至少没有选择gzip这样做。您可以看到tar用于解压缩my.tar.gz文件的“gzip -d” gzip。tar不解压缩文件,huge_mysql_file.gz但它必须读取(并忽略)该文件,huge_mysql_file.gz因为这是由管道提供给 gunzip。
如果 tar 文件没有被 gzipped 并且你像这样列出它的内容
tar -tvf my.tar --exclude="huge_mysql_file.gz"
Run Code Online (Sandbox Code Playgroud)
只有huge_mysql_file.gz在档案中的头必须被读取才能知道它的大小。然后 tar 可以跳过该文件而不读取它并继续处理以下文件。
| 归档时间: |
|
| 查看次数: |
1105 次 |
| 最近记录: |