据您所知,-在 Linux 中与不同的命令组合有不同的用法。例如,与 cdcommand组合时,表示“将目录更改为先前位置”,与or命令组合时mvcat表示stdin或stdout。
不幸的是我错误地在命令中使用了这个字符mv。我想将文件移动到更改目录之前所在的位置,但我将其移动到了stdin。
有什么办法可以恢复我的文件吗?
我运行这个命令:
# mv myfile -
Run Code Online (Sandbox Code Playgroud)
我把它移到了标准输入。
不,您移动到了一个按破折号字面命名的文件(您将使用/dev/stdin或/proc/self/fd/0来引用stdin,即文件描述符0)。
你想要
mv -i ./- myfile
Run Code Online (Sandbox Code Playgroud)
这是通常的做法(以./奇怪的路径作为前缀)。交互式地-i要求确认。
有时,为奇怪的文件(例如,包含单个换行符的文件名)键入路径甚至不容易。您可以使用globbing(阅读有关shell 扩展),例如mv -i ./? file.
请参阅mv(1)和path_resolution(7)以及glob(7)和proc(5)
好习惯是避免文件路径中出现奇怪的字符。
| 归档时间: |
|
| 查看次数: |
6916 次 |
| 最近记录: |