一、bash查找命令的顺序
1、以相对路径或绝对路径执行的命令;
2、由alias找到该命令来执行;
3、由bash内置的命令来执行;
4、通过$PATH这个变量的顺序找到的第一个命令来执行。
另外,命令只有在第一次执行真正查找操作,而查找结果会缓存,再次使用时直接从缓存中调用;
查看此缓存使用hash命令;
-d:清除缓存内容;
-r:清空缓存。
二、环境配置文件
环境配置文件用于初始化bash的操作环境,根据用户的登录方式配置文件可以分为交互式登录和非交互式登录两类。
1、交互式登录
所谓交互式登录就是直接通过终端输入账号和密码登录,使用su -l USERNAME 或 su – USERNAME命令。
配置文件根据其作用范围又划分为全司配置文件和用户配置文件。
1)全局配置文件:
/etc/profile:每个用户登录bash时一定会读取的配置文件。
根据uid来设置总体的配置环境,同时还会调用一些其它的配置文件,如:/etc/profile.d/*.sh。
/etc/profile.d/*.sh:/etc/profile配置文件的组合部分。
定义了bash中的颜色、语系、命令别名等。
2)用户配置文件:
~/.bash_profile:在读取完全局配置文件后,读取此配置文件。
定义了环境变量$PATH,并且如果~/.bashrc文件存在则调用此文件。
~/.bashrc:~/.bash_profile文件的组合部分。
定义了命令别名信息,并且如果/etc/bashrc文件存在则调用此文件。
/etc/bashrc:~/.bashrc文件的组合部分,最后读取此配置文件。
根据UID规定umask值及提示符,并且调用/etc/profile.d/*.sh文件。
3)配置文件的读取顺序
/etc/profile –> /etc/profile.d/*.sh –> ~/.bash_profile –> ~/.bashrc –> /etc/bashrc
2、非交互式登录
所谓非交互式登录就是指不需要输入账号和密码登录,其登录方式有:
a、使用su USERNAME合;
b、图形界面下打开的终端;
c、执行脚本。
1)全局配置文件
/etc/bashrc
2)用户配置文件
~/.bashrc
3)配置文件的读取顺序
~/.bashrc –> /etc/bashrc –> /etc/profile.d/*.sh
3、使配置文件生效
如果对配置文件进行了修改后,配置文件并不能马上生效,可以使用下面的方法来加载配置文件:
a、退出并重新登录;
b、让bash重读此配置文件,方法如下:
. FILE 或 source FILE