添加别名
1、xshll中,vim ~/.bashrc
在该文件中加入别名
2、刷新
刷新方式有三种,任意一种都可以
source ~/.bashrc
. ~/.bashrc
exec bash --login
bash 的环境配置文件 /etc/bash
你是否会觉得奇怪,怎么我们什么动作都没有进行,但是一进入 bash 就取得一堆有用的变量了? 这是因为系统有一些环境配置文件案的存在,让 bash 在启动时直接读取这些配置文件,以规划好 bash 的操作环境啦! 而这些配置文件又可以分为全体系统的配置文件以及用户个人偏好配置文件。要注意的是, 我们前几个小节谈到的命令别名啦、自定义的变量啦,在你注销 bash 后就会失效,所以你想要保留你的配置, 就得要将这些配置写入配置文件才行。底下就让我们来聊聊吧!
login 与 non-login shell
在开始介绍 bash 的配置文件前,我们一定要先知道的就是 login shell 与 non-login shell! 重点在于有没有登陆 (login) !
为什么要介绍 login, non-login shell 呢?这是因为这两个取得 bash 的情况中,读取的配置文件数据并不一样所致。 由于我们需要登陆系统,所以先谈谈 login shell 会读取哪些配置文件?一般来说,login shell 其实只会读取这两个配置文件:
- /etc/profile:这是系统整体的配置,你最好不要修改这个文件;
- ~/.bash_profile 或 ~/.bash_login 或 ~/.profile:属于使用者个人配置,你要改自己的数据,就写入这里!
那么,就让我们来聊一聊这两个文件吧!
/etc/profile (login shell 才会读)
你可以使用 vim 去阅读一下这个文件的内容。这个配置文件可以利用使用者的标识符 (UID) 来决定很多重要的变量数据, 这也是每个使用者登陆取得 bash 时一定会读取的配置文件! 所以如果你想要帮所有使用者配置整体环境,那就是改这里!不过,没事还是不要随便改这个文件!
/etc/profile 可不止会做这些事而已,他还会去呼叫外部的配置数据喔!在 CentOS 5.x 默认的情况下, 底下这些数据会依序的被呼叫进来
- /etc/inputrc
其实这个文件并没有被运行啦!/etc/profile 会主动的判断使用者有没有自定义输入的按键功能,如果没有的话, /etc/profile 就会决定配置『INPUTRC=/etc/inputrc』这个变量!此一文件内容为 bash 的热键啦、[tab]要不要有声音啦等等的数据! 因为鸟哥觉得 bash 默认的环境已经很棒了,所以不建议修改这个文件!
- /etc/profile.d/*.sh
其实这是个目录内的众多文件!只要在 /etc/profile.d/ 这个目录内且扩展名为 .sh ,另外,使用者能够具有 r 的权限, 那么该文件就会被 /etc/profile 呼叫进来。在 CentOS 5.x 中,这个目录底下的文件规范了 bash 操作接口的颜色、 语系、ll 与 ls 命令的命令别名、vi 的命令别名、which 的命令别名等等。如果你需要帮所有使用者配置一些共享的命令别名时, 可以在这个目录底下自行创建扩展名为 .sh 的文件,并将所需要的数据写入即可喔!
- /etc/sysconfig/i18n
这个文件是由 /etc/profile.d/lang.sh 呼叫进来的!这也是我们决定 bash 默认使用何种语系的重要配置文件! 文件里最重要的就是 LANG 这个变量的配置啦!我们在前面的 locale 讨论过这个文件啰! 自行回去瞧瞧先!
反正你只要记得,bash 的 login shell 情况下所读取的整体环境配置文件其实只有 /etc/profile,但是 /etc/profile 还会呼叫出其他的配置文件,所以让我们的 bash 操作接口变的非常的友善啦! 接下来,让我们来瞧瞧,那么个人偏好的配置文件又是怎么回事?
~/.bash_profile (login shell 才会读)
bash 在读完了整体环境配置的 /etc/profile 并藉此呼叫其他配置文件后,接下来则是会读取使用者的个人配置文件。 在 login shell 的 bash 环境中,所读取的个人偏好配置文件其实主要有三个,依序分别是:
- ~/.bash_profile
- ~/.bash_login
- ~/.profile
其实 bash 的 login shell 配置只会读取上面三个文件的其中一个, 而读取的顺序则是依照上面的顺序。也就是说,如果 ~/.bash_profile 存在,那么其他两个文件不论有无存在,都不会被读取。 如果 ~/.bash_profile 不存在才会去读取 ~/.bash_login,而前两者都不存在才会读取 ~/.profile 的意思。 会有这么多的文件,其实是因应其他 shell 转换过来的使用者的习惯而已。
这个文件内有配置 PATH 这个变量喔!而且还使用了 export 将 PATH 变成环境变量呢! 由于 PATH 在 /etc/profile 当中已经配置过,所以在这里就以累加的方式添加用户家目录下的 ~/bin/ 为额外的运行文件放置目录。这也就是说,你可以将自己创建的运行档放置到你自己家目录下的 ~/bin/ 目录啦!
bash 配置文件的读入方式比较有趣,主要是透过一个命令『 source 』来读取的! 也就是说 ~/.bash_profile 其实会再呼叫 ~/.bashrc 的配置内容喔!最后,我们来看看整个 login shell 的读取流程:
[root@www ~]# source 配置文件档名
有没有可能会使用到不同环境配置文件的时候? 最常发生在一个人的工作环境分为多种情况的时候了!举个例子来说,在我的大型主机中, 常常需要负责两到三个不同的案子,每个案子所需要处理的环境变量订定并不相同, 那么鸟哥就将这两三个案子分别编写属于该案子的环境变量配置文件案,当需要该环境时,就直接『 source 变量文件 』,如此一来,环境变量的配置就变的更简便而灵活了!