我运行了mv -n /desktop /user/local/bin
,结果桌面上的所有内容都消失了。我尝试了相反的操作,mv -n /user/local/bin /desktop
希望能够撤消它,但现在这些目录中只有一个目录同时存在。我该怎么办?我把事情搞得有多糟?
答案1
相反
mv /desktop /user/local/bin
是
mv /user/local/bin/desktop /
然而:
- 我假设你的意思是
/usr
而不是/user
。如果你真的输入了/user
,那么你就会遇到不同的问题。 - 不要在没有真正理解自己做了什么的情况下直接输入上述命令。随意移动目录可能会把事情搞得一团糟。
- 不要以 的身份运行
root
。如果不是这样,你一开始就不会把事情搞砸了(因为普通用户无法写入/usr/local
)。
答案2
该-n
标志应能防止任何内容被覆盖。
第一步:mv -n /desktop /usr/local/bin
可以做几件事:
- 如果 /usr/local/bin 是一个目录,那么 /desktop 应该放在其中,从而创建 /usr/local/bin/desktop
- 如果 /usr/local/bin 不存在但 /usr/local 是一个目录,那么 /desktop 将被移动到 /usr/local 并重命名为“bin”,并使用 /desktop 的内容创建 /usr/local/bin。
- 如果 /usr/local/bin 存在并且是一个文件,那么应该
-n
只会给你一个错误消息。
第二步:mv -n /usr/local/bin /desktop
如果 #1 为真,则不是相反的。如果 #1 为真,那么 /usr/local/bin 现在可能只是 /usr/local,而原来的“bin”现在在 /desktop 中,但有一个 /desktop/desktop
mv
造成混淆的原因是改名函数和一个移动取决于源和目标(即文件或目录)的功能。
祝你好运,多运行几遍,ls
看看什么东西在哪里,找到所有东西后,反复阅读手册页mv
,然后小心谨慎地操作……哦,顺便说一句,如上所述,以 root 身份操作不是一个好主意……能力越大,责任越大,并且能够快速破坏你的系统
答案3
你可以随时重新root
创建/usr/local/bin
您是否拥有可执行文件来将其移回?可能没有,因为您说您已移动文件,而不是复制它们。
目录/bin
不是一回事。它用于存放系统二进制文件,例如bash
。
/usr/local/bin
适用于用户安装的可执行文件(因此/usr/...
)
但你的评论sudo
表明做这些事情是危险的除非您对于该系统及其使用有了更深入的了解sudo
。
不要急于求成