tar( - -m)参数背后的秘密是什么?

时间:2017-12-11 11:10:40

标签: unix

我试图理解为什么代码的某些部分不起作用。

tar xzf - -m'

这就是问题所在。我尝试了各种组合,但没有强调它做什么(不包括tar xzf本身)我无法解决它。 我也不知道' - -m'是第一个 - 是某种错误...... (命令本身是更大脚本的一部分,脚本本身是管道的一部分。)

tar: Refusing to read archive contents from terminal (missing -f option?)
tar: Error is not recoverable: exiting now

这是我得到的错误。

1 个答案:

答案 0 :(得分:2)

f接受一个参数,该参数是归档的文件名。如果使用-代替文件名,则意味着tar应该不是从文件读取数据,而是从标准输入读取数据。但是,由于在这种情况下标准输入是终端,tar拒绝工作。

要将标准输入重定向到文件,请使用:

tar xzf - < archive.tar

&#39; -m&#39;选项只是指示tar不提取&#34;文件修改时间&#34;它从档案中提取的文件。