cp 无法统计 '-r'

Dan*_*nly 4 command-line cp

奇怪的问题,出于某种原因,当我运行复制命令时,它将 -r 标志视为参数。

sudo cp –r usr/* /usr
Run Code Online (Sandbox Code Playgroud)

以下是错误:

cp: cannot stat ‘–r’: No such file or directory
Run Code Online (Sandbox Code Playgroud)

我知道 -r 不作为文件/目录存在,那是因为它是 to cp 命令的标志,而不是参数。

我该如何解决这个问题?

Oli*_*Oli 8

根据评论,您似乎复制了一个长划线 ( –)。这在语法上与常规破折号不同,该cp命令只是像读取文件名一样读取它。

Endashes比常规破折号略长但明显长。还有一个更长的版本叫做 emdash。下面是三者的对比:

- dash
– endash
— emdash
Run Code Online (Sandbox Code Playgroud)

如果您从网页上有机地复制了它,这可能会解释它。Wordpress 用双破折号代替了 emdash,我相信也有一个奇怪的替代品来代替 endash。

要手动输入,大多数用户需要使用组合键组合: Compose--.

如果您的键盘自己生成这些,那么您的键盘映射中就会发生一些奇怪的事情。据我所知,更长的破折号不是任何语言的标准基本标点符号。