应一些用户的要求,我决定将所有中间步骤和结果添加到我的初始帖子中,以便用户更好地引导我完成解决方案。这是在标题中加入附加的问题如下。在“添加项”下,有一个称为“分辨率”的部分,在其中添加了为解决此问题而采取的额外步骤:
问题:
今天,当我试图继续在命令行外壳程序中运行代码时,我注意到Fedora 21(i686上的内核4.1.13-100.fc21.i686(tty2)上的外壳程序实际上并未识别任何命令。 ))。我以为如果重新启动并重新启动系统,该问题应该可以解决。但是,令我惊讶的是,我注意到该系统在登录后没有启动。我尝试通过在屏幕变黑时按CTRL + ALT + F2进行诊断,以查看其实际停止工作的位置。我看到的一个完整停下来的最后一行是说:
等待普利茅斯启动屏幕退出
如果介意在外壳中的诊断模式下实际上没有接受任何命令时,您介意让我知道如何解决此问题?
-bash:<...>:找不到命令
我唯一能想到的是一些我可能不了解或弄乱了.bashrc的可能的自动更新(通过使用以下命令,我不再能在其中看到它:)
sudo gedit ~/.bashrc
补充:
仅在进入诊断模式后才能进入系统,方法是Ctrl+Alt+F2
在重新引导后按右键并登录到通常情况下会失败的主启动。
Fedora 21(二十一)
内核4.1.13-100.fc21.i686 + PAE在i686(tty2)上的调试
在此模式下,出现登录提示
本地主机登录:
输入我的用户名后,它会显示:
密码:
输入密码后,它会显示:
上次登录时间:tty2上,三月30日星期三15:33:54
[bbenjamin @ localhost〜] $
在这里,无论如何,shell都不会识别任何命令。错误消息通常是:
-bash:<...>:找不到命令
其中<...>基本上是任何命令。我唯一成功地使大多数命令被外壳实现的时候是我运行了以下代码(如答案中所述):
PATH=/usr/bin:/usr/sbin
之后,至少我可以查找并查看我的文件,文件夹和程序(因为大多数命令已实现。)
但是,我仍然需要正常登录,以便可以使用Fedora的所有图形和其他功能,这在诊断模式下是不可能的。为了使这一点特别重要,我需要打开.bashrc文件并永久修复其问题(假设我可以某种方式访问其原始版本。)为此,我需要运行以下命令
(sudo) gedit ~/.bashrc
但是,我收到如下错误消息:
无法初始化服务器:无法连接:连接被拒绝
(gedit:1397):Gtk警告**:无法打开显示:
或运行像这样的命令:
~/.bash_profile
这将产生错误消息:
bash:/home/bbenjamin/.bash_profile:权限被拒绝。
现在,从答案中学习,我不应该运行后一个命令,因为它不可执行。相反,我应该以以下格式运行它:
source ~/.bashrc
之后,我不知道如何进行。
但是,我也不知道为什么以前的命令(sudo) gedit ~/.bashrc
也不起作用。我记得我经常根据需要在.bashrc文件中进行一些更改。这次,我不知道我是如何进行更改的,因为它导致了此处说明的所有问题。所以现在,我的问题是是否存在一个基于命令行的方法,我可以打开.bashrc并在其中查看并永久进行所需的更改,因此我的系统登录名正确地引导我进入其常规图形模式,在该模式下,我可以查看和使用所有Fedora功能。
解析度
我了解到,登录失败后,一旦通过命令进入诊断模式Ctrl+Alt+F2
,就可以通过运行命令临时修复混乱的文件.bashrcPATH=/usr/bin:/usr/sbin
。然后,我可以通过运行命令行查看.bahsrc文件中的内容cat .bashrc
。直到那时,我看到了文件的内容,在其中添加了多个路径。由于我将添加的文件按时间顺序记录在先前路径的底部,因此我知道有问题的路径是最后一个路径。现在,为了解决此问题,我必须实际修改文件。这是通过命令行实现的nano .bashrc
之后出现一个新页面,我有机会在其前面加上#来注释出有问题的行。最后,我保存了更改并退出。我要做的最后一步是通过命令行使用新的修改后的.bashrc文件重新启动系统,telinit 6
此后日志记录被证明是成功的。
听起来好像您在~/.bashrc
其中放置了某种东西,导致某些东西PATH
没有设置/usr/bin
,这是大多数程序实际存在的地方。如果运行此命令:
PATH=/usr/bin:/usr/sbin
大多数命令应该开始工作-然后您可以编辑~/.bashrc
和修复在PATH
那里进行的所有重置。(而且,实际上是-你要设置PATH
的~/.bash_profile
,而不是~/.bashrc
-看如何正确添加路径路径?)
(请注意,顺便说一下,没有Fedora更新会对此造成混乱,因为更新不会更改主目录中的文件。有时,当您运行更新的软件时,该软件可能会更新其自己的配置文件,但不适用于该配置文件。 〜/ .bashrc。)
编辑时:gedit
文本编辑器仅在图形模式下工作。在文本模式下,您将需要一个基于文本的编辑器。这些中最简单的可能是nano
。用安装
dnf安装nano
然后使用nano
if代替gedit
。实际的编辑功能会有所不同,但是非常简单。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句