command not found什么意思?
意思是:找不到执行文件或者命令脚本的路径。
通常,command not found是系统不能找到执行命令的路径引起的。
拿命令ifconfig来说,如果没有把:/sbin追加到环境变量,直接输入ifconfig命令是不能执行的,输入/sbin/ifconfig才能执行。
通过whereis ifconfig可得知ifconfig所在路径是/sbin/ifconfig,即在sbin目录下。
如果环境变量中没有设置/sbin,则会显示command not found,如果不设置环境变量并企图先进入/sbin目录再执行ifconfig命令是不会成功的,因为系统不会主动搜索当前目录下的文件,它不关心你的当前目录在哪儿,只会搜索环境变量。
不设置环境变量是否就意味不能使用ifconfig命令了呢?显然不是,如果不设置环境变量/sbin,你仍然可通过如下方法执行ifconfig命令:cd /sbin; ./ifconfig 。“./ ”告诉系统不用搜索环境变量,直接就在当前目录下执行命令,作用等同于/sbin/ifconfig。
总结起来,可通过两种方法解决command not found问题。第一种,设置环境变量,如果不知某个命令所属目录,whereis [command]可查看。第二种,不用设置环境变量,进入命令所属目录,./[command]亦可实现。
参考资料
百度翻译.百度翻译[引用时间2018-1-18]
Linux教程.Linux公社[引用时间2018-1-18]