Linux sudo 找不到命令
普通用户执行需要root权限的命令,提示“找不到命令”,但是root用户执行该命令不报错,可能是由于该命令未处在sudo搜索的路径。
本文以sudo easy_install 为例,给出的提示为:
sudo:easy_install:找不到命令
工具/原料
Linux系统
方法/步骤
用非root用户登录,输入 sudo which easy_install,提示为:
which: no easy_install in (/sbin:/bin:/usr/sbin:/usr/bin)
可知此时查找命令的路径为“/sbin:/bin:/usr/sbin:/usr/bin“
切换到root用户,输入which easy_install,提示为: /usr/local/bin/easy_install。可知该命令位于上述路径,果真没有位于步骤一中查找的路径。
接下来就需要将步骤二的命令在步骤一的任何一个路径中做一个软链接。
用root用户登录,输入sudo ln -s /usr/local/bin/easy_install /usr/bin/easy_install。
查看链接是否成功创建。输入 ll /usr/bin/easy_install。
输出lrwxrwxrwx. 1 root root 27 10月 12 20:59 /usr/bin/easy_install -> /usr/local/bin/easy_install。
可知链接已经成功创建。
再用非root用户执行sudo easy_install pip,可看到命令已经可以执行了。
注意事项
非root执行sudo+【命令】时,需要确认【命令】确实存在。即root下执行该命令不报错。
执行sudo的普通用户需要在/etc/sudoers文件中配置。
本文作者:韩憨
本文链接:https://www.cnblogs.com/hanby/p/14150174.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步