![在 UNIX 或 Linux 中,Dash(-) 到底是什么?](https://linux22.com/image/64809/%E5%9C%A8%20UNIX%20%E6%88%96%20Linux%20%E4%B8%AD%EF%BC%8CDash(-)%20%E5%88%B0%E5%BA%95%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F%20.png)
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 -
然而,这只是用于此目的的一种标准标志 - 它是什么实际上意思是“无论编写命令的人认为应该做什么”。