/sbin/ 中程序的别名

/sbin/ 中程序的别名

我有一个奇怪的问题,不幸的是我不知道我做了什么导致了这个问题,因为我在我的Linux(Archlinux,2.6.38内核)上尝试了很多东西。问题是:我的 shell 不再在 /sbin 中找到程序。它看起来像这样:

[chris@myhost ~] insmod
bash: insmod: command not found
[chris@myhost ~] ls -l /sbin/insmod
-rwxr-x-r-x root root 7888 Mar 23 10:14 /sbin/insmod
[chris@myhost ~] /sbin/insmod
-- Works

正如您所看到的,该程序(sbin 中的每个可执行文件都会出现问题)仍然存在,我可以使用 /sbin/name 启动它,只有短名称别名似乎已损坏。我怎样才能解决这个问题?

答案1

这与别名无关。它由PATH环境变量控制。

在许多系统上,root 有/sbin/usr/sbinin PATH,但普通用户没有。

如果你想输入insmodetc而不输入完整路径,你可以输入

PATH=$PATH:/sbin

在您的 shell 设置文件中(例如.bashrc在您的主目录中)。

或者您可以查看/etc/profile/etc/environment/etc/login.defs并查看其设置方式PATH并在那里进行更改。

查找要查找的文件正在运行grep -R PATH /etc(或grep -HIRn PATH /etc)的快速方法。

相关内容