在Linux中使用shell命令,不管是root用户还是普通用户,很多命令(如 ,fdisk ; ifconfig)等都会无效,系统出现:"bash: .. command not found"。这些命令都有一个共同的特点:存在于 /sbin 这个目录下。这时尝试这样做[linux@axws ~]$/sbin/ifconfig 我们发现命令能够正常执行,这说明不是安全限制,很可能是PATH出了问题。原因是/sbin的目录路径(系统用户目录)不在root的$PATH变量中造成的。
创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都做网站、网站设计、鱼台网络推广、小程序制作、鱼台网络营销、鱼台企业策划、鱼台品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供鱼台建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com
关键:PATH路径设置问题。
首先切换到root,再试用一下命令,能用的话跳过下面这步直接修改用户目录下的这个文件就可以了。若还是不能用首先修改管理员的PATH,方法:
(1)进入到用户主目录:cd ~ ;
(2)编辑这个隐藏文件: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
export PATH
unset USERNAME
修改其中PATH=$PATH:$HOME/bin其后添加“:/sbin”冒号不算。
(3):wq保存退出;
(4)重启系统或执行source .bash_profile重置命令路径。
接着执行/sbin下命令,应该可以了,exit退出管理员身份,再执行/sbin下命令,发现还是不能用,好,此时可以先用echo $PATH查看所在路径,若没有/sbin则修改用户主目录下的这个文件:
(1)cd ~;
(2)vi .bash_profile按照上面的做同样的改动,保存退出:wq;
(3)重启系统或执行source .bash_profile。
然后就可以了。如果还不行,把这行export PATH=/sbin:$PATH 加入到.bash_profile文件的最后就好。
/sbin下的命令是给root使用的,对普通用户一般没什么用处,如果root用户也用不了那就是路径设置问题。
linux中无法使用In命令,是设置错误造成的,解决方法如下:
1、首先登录Linux系统,然后点击左侧的终端图标,如下图所示。
2、接下来在弹出的界面中输入命令,需要用mkdir命令,但是不知道怎么用。
3、接下来就可以输入mkdir --help命令打开帮助说明,如下图所示。
4、另外也可以通过man mkdir直接打开mkdir的使用手册,如下图所示。
5、打开受用手册以后,能更加详细的了解命令如何使用,如下图所示,就完成了。
是root用户还是普通用户
如果是root用户下,检查这些命令是否还在。一般在/usr/bin /usr/sbin。
在/root用户下的.profile 文件中加上 path=/usr/bin;/usr/sbin ,然后source .profile,使变量生效,然后测试命令是否可用
如果是普通用户,需要在普通用户的home目录下设置.profile
Linux里的tab命令补全键用不了是操作错误造成的,解决方法如下:
1、打开LINUX的操作系统,首先在左边任务栏里面找到终端,鼠标左键点击打开终端命令窗口。
2、输入ls可以查看当前所有的目录,输入pwd可以查看目前所在的目录,如果要改变目录,这些目录的名字都很长,不方便全部输入,那么输入第一个字母。
3、接下来按键盘的tab键,这里就可以得到某个文件或者目录的全称,就避免过多的输入了。
4、如果遇到首写字母都是一样的目录,按一下tab后是没反应的。
5、需要再按一下tab,也就是一共两下tab就可以出来这些首写字母一样的文件或者目录了。
一般安装完某个程序,增加了PATH变量的时候,破坏了系统原来的默认路径,可能造成很多命令失效,比如安装了JDK后增加了JDK的路径变量。
我们了解下PATH命令吧:
PATH的值是一系列目录,当您运行一个程序时,Linux在这些目录下进行搜寻。用以下命令可以看到PATH的值。
$ echo $PATH
例如,在主机中,用户yogin的PATH值为:
/opt/kde/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/yogin/bin
其中“:”为分隔符。所以,上面的一串目录可以看成是如下的目录列表。
/opt/kde/bin
/usr/local/bin
/bin:/usr/bin
/usr/X11R6/bin
/home/yogin/bin
同样,也是主机中,用户root的PATH值为:
/opt/kde/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin
要修改所有用户的PATH值,您可以以root身份编辑/etc/profile文件,修改其中包含“PATH=”的一行。
例如,您可以使用pico编辑器打开/etc/profile文件。
$ pico -w /etc/profile
pico是一个文本编辑器,而-w选项关闭了长行回绕功能。
只有在用户重新注册后,PATH的新值才会生效。如果只是要修改某一个用户的PATH值,就应该编辑该用户主目录中的.bash-profile文件。
如果您想将当前目录加入到PATH中,则将“.”加入PATH中,此时PATH的设定如下:
PATH="$PATH:/usr/X11R6/bin:."
export PATH
注意:在修改了PATH值或任何环境变量后,都要用export将其输出,新的PATH值才能生效。