如何在终端中打开一个带有“-”破折号的文件名?

62

我尝试了gedit、nano、vi、leafpad和其他文本编辑器,但它们都无法打开。我还尝试了cat和其他文件查看命令,并确保它是一个文件而不是目录!

Image


请提供更详细的问题描述。 - Seeker
@SyedMuhammadZulqarnain 我想要打开一个文件,文件名是一个连字符,即“ - ”。问题就像听起来的那样简单。比如,如果我执行"ls"命令,它会显示一个名为"-"的文件,我想要打开这个文件并查看里面的内容。 - Alfran
可能是重复的问题:如何处理以连字符(-)字符开头的文件名? - Benjamin W.
7
你在玩www.overthewire.org/wargames/吗? - Daniel Kurniadi
7个回答

118
这种方法存在许多误解,因为使用-作为参数是指STDIN/STDOUT,即dev/stdindev/stdout。因此,如果要打开此类文件,必须指定文件的完整位置,例如./-。例如,如果要查看该文件中的内容,请使用cat ./-

27

无论是使用 cat < - 命令还是使用 ./- 命令,都可以获得相同的输出结果。


7
你可以使用重定向。
cat < -file_name

5

看起来 rev 命令不把 - 视为特殊字符。

来自 man 手册

The rev utility copies the specified files to standard output, reversing the order of characters in every line.

rev - | rev

该命令应该按正确的顺序显示文件内容。


0

如果你想打开这种类型的文件,你必须指定文件的完整位置,例如./-。例如,如果你想查看该文件中的内容,请使用cat ./-


0

我尝试使用pico或vi命令。pico readme可以让我在编辑器中打开并阅读内容。


-4

cat ./- 是显示 bandit 正确密码的语法,而 "rev -" 则会显示其他内容。


2
这个答案已经在5年前给出了,你为什么要重复呢? - Nachtgold
这并没有回答问题。一旦您拥有足够的声望,您将能够评论任何帖子;相反,提供不需要询问者澄清的答案。- 来自审核 - High-Octane

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接