ls、rm、cd 命令在 SUSE LINUX 中不起作用

ls、rm、cd 命令在 SUSE LINUX 中不起作用

我是 SUSE 新手,我在 SUSE Linux Server 版本中安装了 Java,因此我想在 Linux 中设置路径,因此我使用 touch 在 /root 路径中创建了 .bash_profile,并将路径添加为“JAVA_PATH”。重新启动 Linux 时,上述命令不起作用,并显示未知命令“JAVA_PATH”,我无法在 GUI 模式下启动,只能在终端模式下启动,如何删除文件(/root 中的 .bash_profile)?以及如何在 SUSE 中添加 Java 路径

注意:在所有命令正常运行之前

提前谢谢您,杰克……

答案1

您可能损坏了您的 .bash_profile,现在您没有可运行的 PATH 变量。

要删除 .bash_profile,您必须调用可执行文件的完全限定名称/bin/rm(而不仅仅是rm)。问题是,这可能会使您的问题变得更糟,而不是更好。

要编辑现有的 .bash_profile 并将其设置为良好状态,请使用/usr/bin/vi并将其设置为

如果你无法将 .bash_profile 恢复到原始形式,你应该尝试将其设置为

# .bash_profile

# Get the aliases and functions 
if [ -f ~/.bashrc ]; then
  . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin
BASH_ENV=$HOME/.bashrc
USERNAME="root"

export USERNAME
export BASH_ENV
export PATH

以 root 身份执行正常工作是一个非常糟糕的主意,因为您有能力不可逆转地破坏您的系统(通过创建比其价值更多的工作来“再次设置它”)。

答案2

你可能完全覆盖了你的 PATH。尝试:

PATH=/bin:/sbin:/usr/bin:/usr/sbin

然后删除 .bash_profile:

rm .bash_profile

您还可以指定程序的完整路径:

/bin/rm /root/.bash_profile

答案3

啊……我还记得那些新人的日子。玩火很容易被烧伤。

    根#狂欢
    根#导出 PATH=/usr/bin:/bin:/sbin
    根#cd /根目录
    根#mv .bash_profile .bash_profile.backup-to-inspect
    根#关机-r现在

无论如何,这些命令会移走“.bash_profile”,但会保留备份,以便您可以查看它并找出您对它做了什么坏事。它还会重新启动计算机。

您应该学习一些重要的教训,以避免将来遭受损失:

  1. 除非您确实知道自己在做什么,否则不要弄乱 root / 系统设置(在弄乱 root 文件之前,请为您的普通用户帐户编辑您自己的 ~/.bashrc 文件,并在命令行上尝试该命令并确保它按照您的预期执行,然后再将其放入您的 ~/.bashrc 中)。
  2. 一定要备份。如果有一个 /root/.bash_profile,在编辑之前最好先将其复制到 /root/.bash_profile.orig(如果它是原始副本)或 /root/.bash_profile.backup。

当您的计算机重新启动时,您应该查看该文件中的内容:

cat /root/.bash_profile | less

我怀疑你做了类似的事情:

PATH=PATH:JAVA_PATH

代替:

PATH=$PATH:$JAVA_PATH

或者其他修改了您的 PATH 环境变量的东西。

相关内容