据您所知,-
与Linux中的不同命令结合使用有不同的用法。例如in combination with cd
command,表示将目录更改为上一个位置,in combination mv
or cat
command表示 stdin 或 stdout 。< / p>
不幸的是我错误地将此字符用于mv
命令。我想将我的文件移动到我在更改目录之前的位置,但我将其移至stdin
。
有没有办法恢复我的文件?
我运行此命令:
# mv myfile -
答案 0 :(得分:3)
我把它移到了stdin。
不,您移动到字面上用短划线命名的文件(您将使用/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)
好习惯是避免文件路径中的奇怪字符。