我尝试提取有效的 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.tgz
,tar
程序会等待其标准输入上的存档。它会永远等待,因为您从未提供任何输入。参数P.tgz
是要从存档中提取的文件的名称。
答案2
我通过使用来纠正它,
tar xf P.tgz #added f to the options
所有存档文件名参数必须遵循 f 选项,它看起来像...