【问题标题】:How to undo "mv file -" command in Ubuntu [closed]如何在Ubuntu中撤消“mv文件-”命令[关闭]
【发布时间】:2018-03-16 06:58:30
【问题描述】:

据你所知,- 在 Linux 中结合不同的命令有不同的用法。例如in combination with cd command,表示“将目录切换到上一个位置”,in combination mv or cat command表示stdin或stdout。

不幸的是,我在mv 命令中错误地使用了这个字符。我想将文件移动到更改目录之前的上一个位置,但我将其移动到了stdin。

有什么方法可以恢复我的文件吗?

我运行这个命令:

# mv myfile -

【问题讨论】:

  • 您链接的帖子中没有提到mv。 - 被 cat 解释为 stdin,但 mv 不会以任何特殊方式处理 -。
  • 你是对的。我对 - 和 mv 的看法错了
  • Stack Overflow 是一个编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参阅帮助中心的What topics can I ask about here。也许Super User 或Unix & Linux Stack Exchange 会是一个更好的提问地点。

标签: linux ubuntu mv


【解决方案1】:

我把它移到了标准输入。

不,您移动到了一个以破折号命名的文件(您将使用/dev/stdin 或/proc/self/fd/0 来指代stdin,即file descriptor 0)。

你想要

mv -i ./- myfile

这是通常的做法(以./ 为前缀,一条奇怪的路径)。 -i 以交互方式要求确认。

有时,为奇怪的文件(例如,包含单个换行符的文件名)键入路径甚至都不容易。你可以使用globbing(阅读shell expansion),例如mv -i ./? file.

见mv(1)和path_resolution(7)和glob(7)和proc(5)

好习惯是避免在文件路径中出现奇怪的字符。

【讨论】:

  • 有人知道解释/dev/stdin 的手册页吗?我找不到!
猜你喜欢
  • 2011-06-21
  • 2016-08-24
  • 2013-08-27
  • 1970-01-01
  • 2014-01-04
  • 1970-01-01
  • 1970-01-01
  • 2019-03-18
  • 2017-08-10
相关资源
最近更新 更多