如何检查磁盘上名为“ - ”(单个连字符)的文件的内容?

时间:2013-06-20 19:26:42

标签: file unix command-line-arguments stdin

我不知道它是怎么到达的,我想知道它包含什么。但是我尝试过的每个命令,例如cat -cat \-vim -vim \-等,都只是开始收听STDIN。

3 个答案:

答案 0 :(得分:2)

如果文件名以连字符开头,则通常在./前面加cat ./-,在您的示例中为vim ./--。也就是名为./的文件,位于当前目录\

在执行catvim之前,shell正在解析您正在使用的-转义符。虽然-文件名由这些程序给予特殊处理,而不是shell,并且将转义赋予shell不会改变程序的行为。

不仅在整个文件名是--时,而且在它开始的时候你都需要这个,因为大多数程序都会认为它是一个开关。有些工具接受一个特殊的{{1}}参数,它将开关与文件名分开,但这不是通用的。

答案 1 :(得分:1)

You can also use something like vim `pwd`/- 

`pwd` 

扩展到您当前的目录,因此这基本上使用完整的文件路径来消除歧义 - 文件名来自 - 选项的指示

答案 2 :(得分:0)

对我有用的是cat <(-)。这是shell的输入重定向功能。