在 UNIX 或 Linux 中,Dash(-) 到底是什么?

在 UNIX 或 Linux 中,Dash(-) 到底是什么?

dash(-)自从我在unix命令中使用以来已经有一段时间了。但一直没搞清楚这到底是什么。

已经在某个地方搜索过,它说。这意味着stdin/stdout当在命令结尾或类似 echo hello >- 中使用时。

例如,当我编写时,grep -i它会检查忽略大小写。 (所以我认为它在这里得到争论 -i)

如果有时文件名或文件夹名称以-folderName我需要运行rm -f -- -folderName

这个破折号到底是什么,有人可以用简单的术语解释一下。

答案1

这取决于命令。

按照惯例,独立的破折号代替文件名,意味着“stdin”或“stdout”。

例如

tar cvfz - ./path-to-tar | ssh somehost tar xvfz - 

然而,这只是用于此目的的一种标准标志 - 它是什么实际上意思是“无论编写命令的人认为应该做什么”。

相关内容