tar 提取挂在不存在的文件上

tar 提取挂在不存在的文件上

我尝试提取有效的 tar gzip 文件 P.tgz。它无限地悬挂着。

tar -x P.tgz

该档案的大小非常小。但它永远不会完成。

我尝试使用不存在的 tar 存档,DoesntExist.tgz.它不报告错误消息,"archive doesn't exist"并且无限挂起,永远不会返回到 shell 提示符。

注意:P.tgz是使用命令创建的有效 gzip 文件,

tar -cPf P.tgz /opt/seckie

答案1

tar不将 tar 文件的名称作为参数。 tar 文件的名称可以作为参数传递给该-f选项。你可以写

tar -x -f P.tgz

或者(tar由于历史原因有一些奇怪的选项解析)

tar xf P.tgz

或者(如果tar没有看到 tar 文件的名称,您需要明确告诉它它已被压缩)

tar xz <P.tgz

GNU tar 默认从标准输入读取 tar 文件(或将其写入标准输出,对于创建 tar 文件的命令)。大多数其他 tar 实现默认从磁带读取。当您运行时tar -x P.tgztar程序会等待其标准输入上的存档。它会永远等待,因为您从未提供任何输入。参数P.tgz是要从存档中提取的文件的名称。

答案2

我通过使用来纠正它,

tar xf P.tgz  #added f to the options

所有存档文件名参数必须遵循 f 选项,它看起来像...

相关内容