当我用man的时候,发现找不到命令后,想到了PATH,但是记不清了,拿起鸟哥的书翻了翻:

说到PATH的设置,就不得不说shell,CentOS中的默认的shell就是一个叫Bash的程序,
大家都知道Linux中一切都是文件,根据现阶段(因为我还是初级阶段)我各人的理解,这里面的文件主要有两大类:1.是像exe似的可执行文件,也就是程序文件。2.是配置文件,里面存储的是一些参数,似乎都是可以直接编辑的文件。在我的思维了他们二者的关系犹如程序与数据,函数与变量。

不说那么多了,这里bash就是那个可执行程序,而配置文件主要有两个:

1./etc/profile使系统的整体配置文件,一般不修改,不过是可以修改的,可以用vi进去看看。
2.~/.bash_profile或~/.bash_login或~/.profile。他们都是用户的个性设置文件,每个用户可以自由设置,不会影响其他人,他们的位置是"~/",就能表面这一点了,他们还是隐藏文件(文件名的最前面有一个小点),所以用ls查看文件时是看不到的,要用到ls的参数,自己man去吧。

bash在启动的时候会从上面的文件中读取内容,作为执行一些操作或动作的依据,(反正我是认为,计算机中的每个行为都是有依据的,什么智能之类的至少我现在还不能理解)。

回到当初的话题,当我man的时候,bash提示我说找不到命令的一个可能就是,这两个文件中包含的PATH的设置,不能让bash根据这些设置找到它。

前面提到过,PATH的实质是路径的集合,而man的默认路径是/etc/share/man,所以我首先通过修改~/.bash_profile来修改PATH(为何不用直接赋值,set命令之类的来修改呢,因为这个修改结果会在关机之后失效),然后echo $PATH来查看是否修改正确和成功。
成功后我再次使用,晕!错误依旧。怀疑设置错了,检查之后,肯定没错,是不是有别的原因呢?难道目录错了?依次用which,whereis,和find,找了一圈,依然没有找到。我当时就崩溃了,后来在我用YUM安装其他软件的时候,突然想到这一茬,用yum install man,试了下,马上就开始安装了,原来居然是没有安装这个程序。

从这man的事,我想到了两点:1.以前安装完整版的系统就只知道用,忘记了linux中这些命令的实质:命令也是程序啊,所以也要安装才有啊这一点在window下的DOS中也可以得到印证,DOS下运行的命令基本都是可以在system32目录下找到exe文件的。(内置命令是例外的,因为这些命令本来就在cmd.exe这个程序中,和他是一体的。Bash中也有内置命令,如echo,注意这并不代表,echo就只能是内置命令。)2.思维定势真是个无法避免的悲剧啊。