2017-10-04 159 views
-2

据你所知,-与Linux中的不同命令结合使用有不同的用法。例如in combination with cd command,这意味着目录更改到前面的位置in combination mv or cat command这意味着标准输入标准输出如何在ubuntu中取消“mv file - ”命令

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

有什么办法恢复我的文件?

我运行此命令:

# mv myfile - 
+1

在链接的帖子中没有提及'mv'。 '-'被'cat'解释为'stdin',但'mv'不以任何特殊方式处理'-'。 – axiac

+0

你说得对。我错了'-'和'MV' – Abraham

+1

Stack Overflow是编程和开发问题的网站。这个问题似乎与题目无关,因为它不涉及编程或开发。请参阅帮助中心的[我可以询问哪些主题](http://stackoverflow.com/help/on-topic)。也许[超级用户](http://superuser.com/)或[Unix&Linux堆栈交换](http://unix.stackexchange.com/)会是一个更好的地方。 – jww

回答

3

我把它改为标准输入。

不,你移动到一个破折号字面上命名的文件(你将使用/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)

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

+0

有谁知道解释'/ dev/stdin'的手册页?我找不到它! –