未找到 cd 或 ls?

未找到 cd 或 ls?

直到几天前,我们 Ubuntu 服务器上的所有命令都正常工作。运行时lscd它会返回bash: /bin/ls: No such file or directory

如何修复此问题?

答案1

似乎ls缺少可执行文件。ls是基于 Debian 的系统上 coreutils 包的一部分,因此您可能需要查看它是否已被卸载。

您可以使用aptitude

runejuhl@lapaz:~$ aptitude search ^coreutils$
i coreutils                      - GNU core utilities

在上文中,行首的“i”表示该包确实已安装。

答案2

令人惊讶的是,在这种情况下会生成相同的消息:/bin/ls 二进制文件被替换为 shell 脚本,但该 shell 脚本包含无效的感叹号行(例如,如果它以 开头#!/this/does/not/exist)。嗯,rootkit?

答案3

检查/etc/environment文件以确保它仍然指定路径。默认的 Ubuntu(截至 9.10)只有一行:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"

然而,这一行会被拉入处理登录的各种子系统中。在其他地方设置 PATH 可能会使 Ubuntu 的 GDM 混乱。

相关内容