我是 Linux 新手,以为/bin/sh
是一个文件夹。
我做到了mv path/to/file /bin/sh
,现在我无法再打开终端和 Ubuntu 软件了。可能还有更多损坏的程序我还没有注意到。
我收到错误:
无法生成子进程
/bin/sh
符号链接层数过多
有什么建议吗?
我正在运行 Ubuntu 20.04
/bin/sh
是一个符号链接,覆盖实际上并没有删除任何东西,它只是使链接无效。
这是一个问题,因为/bin/sh
在 shebang 标头中使用了各种脚本。这可能就是各种随机事物也失败的原因。
您需要以 root 身份或通过 sudo: 1
cd /bin
rm sh
ln -s dash sh
Run Code Online (Sandbox Code Playgroud)
希望它的含义足够清楚,因为根据您发现使用绝对路径执行此操作的机制可能更容易(原始链接可能没有使用绝对路径,但这应该无关紧要)。如果您不熟悉(符号)文件链接,请参阅man ln
。
这应该允许您再次正常使用终端。如果它有效,您可能希望重新启动,以防之前任何失败的脚本产生持续的后果。
dash
外壳,而是符号链接到bash
. 如果没有dash
in /bin
,请使用bash
。