突然间,当你的高级 Linux 服务器管理员不在办公室时。然后初级 Linux 管理员接管它,这对他们来说就是一场噩梦。请帮忙。
我不记得.bashrc
在重新登录服务器后,我在服务器上的文件中做了什么。没有一个命令不起作用。诸如ls
、cat
和 之类的命令vi
在服务器上不起作用。我收到错误:“未找到命令”。
我已设法通过以下步骤进行修复:
在主页中编辑的
.bashrc
文件粘贴在文件中的文本下方PATH=$PATH:/home/amol/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
export PATH
.bashrc
从命令 --> 源重新加载后~/.bashrc
,命令开始工作。
但每当我登录服务器时,都会出现以下错误:
Last login: Tue May 14 10:33:46 2013 from 14.140.90.22
/usr/bin/env: bash: Permission denied
/usr/bin/env: bash: Permission denied
/usr/bin/env: bash: Permission denied
/usr/bin/env: bash: Permission denied
/usr/bin/env: bash: Permission denied
-bash: tar: command not found
-bash: grep: command not found
-bash: cat: command not found
我已经在 Google 上搜索过,但没有得到确切的解决方案。
操作系统:Ubuntu 10.04。
以下是.bashrc
文件:http://paste.ubuntu.com/5664287/
请帮忙。
答案1
我发现这些在 penguinparens.blogspot.com 上:
脚本所在的分区可能已设置“user”选项。“user”意味着“noexec”(请参阅“mount”的手册页),这将阻止您运行可执行文件。虽然从这种分区运行二进制可执行文件会更明显地失败,但尝试使用 shebang 运行脚本会给出更令人困惑的错误消息。
修复!在 /etc/fstab 中的“用户”标志后添加“exec”。(再次参阅“man mount”)。
答案2
有了这么多的胡扯,我强烈建议开始一个新的 bashrc。即使没有正确的$PATH
,下面的操作也应该可以工作:
/bin/mv ~/.bashrc{,.BAK}
/bin/cp /etc/skel/.bashrc ~
当然,根据情况的混乱程度,你可能需要用~
回家的路径替换它。试试看。
您需要运行/usr/bin/reset
以重新加载您的 bash 会话。否则,请启动一个新的。