码迷,mamicode.com
首页 > 其他好文 > 详细

Centos环境变量文件的读取流程

时间:2018-08-17 14:56:18      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:存在   级别   提示   启动   执行   png   丢失   主机   his   

首先说一下login shell和non-login shell的区别。所谓login shell简单来说就是需要输入用户名、密码的登录方式;而non-login shell的登录方式就是不需要输入用户名、密码的登录方式。举个更具体的例子,当你不管登录到tty1~tty6那个界面输入账户密码,这就是login shell;而当你登录有Xwindow的级别,当你右键新建一个命令终端时,此时就是non-login shell。

login shell

上流程图:

/etc/profile--------------------------------------------------->~/.bash_profile---------------->开始操作 bash

                |                                  |

                |                                  |

                |- - ->/etc/inputrc                 |- - ->~/.bashrc

                |                                                  |

                |- - ->/etc/profile.d/*.sh <- - - - - - - - - - - - - - - - -/etc/bashrc

                                |

                        /etc/sysconfig/i18n

大致流程就是这样的,实线方向是主流程,虚线是文件的调用。

 login shell 在启动的时候,一定会读取两个配置文件:/etc/profile、~/.bash_profile(或 ~/.bash_login 或 ~/.profile)

一、/etc/profile

        这个文件是系统的整体设定,也是每个使用者登录 bash 的时候一定会读取的配置文件。主要有一下几个变量:

    PATH:环境变量。会依据 UID 决定是否要包含 sbin 的系统目录 
    MAIL:依据 UID 决定使用者的邮箱 
    USER:用户名 
    HOSTNAME:主机名 
    HISTSIZE:历史命令记录数 
/etc/profile 文件还会还会调用其他的文件,包括以下文件: 

  • /etc/inputrc
        自定义按键输入功能。
  • /etc/profile.d/*.sh
        bash 窗口的颜色、语系、命令别名等的一些设定。

    当你需要自定义一些整体环境变量时,就可以在这个目录下新建一个以.sh结尾的文件。

  • /etc/sysconfig/i18n
        语系设定

    二、~/.bash_profile

bash 在读取完整体环境设定的 /etc/profile 并呼叫其他配置文件之后,接下来会读取使用者的个人配置文件。在 login shell 的环境下,读取的个人配置文件主要有以下三个: 

    1.~/.bash_profile 
    2.~/.bash_login 
    3.~/.profile
bash 只会读取上面文件中的一个,而且读取的优先级 1 > 2 > 3。

.bash_profile文件的内容,主要在PATH路径上添加了/bin路径;且如果存在~/.bashrc还会去读取~/.bashrc

技术分享图片

三、~/.bashrc

主要的定义了rm、cp、mv三个命令别名,并调用/etc/bashrc

技术分享图片

四、/etc/bashrc

这个文件主要设置了umask的值变量PS1的值。

如果这个文件丢失,那么,你的界面提示符就是变成这样,因为你的PS1变量的值没有设置:

技术分享图片

 

五、其他的配置文件

1、~/.history  存储了你的历史命令

2、~/.bash_logout  可以自定义注销时自动执行的操作

non-login shell

弄清楚了login shell的登录流程,那么non-login shell的登录顺序就很好理解了。

non-login方式登录时是直接从~/.bashrc往后读取的。

所以如果你要设置自己的环境变量,只需要写到~/.bashrc文件里面就可以了

 

 

 

 

 

 

 

Centos环境变量文件的读取流程

标签:存在   级别   提示   启动   执行   png   丢失   主机   his   

原文地址:https://www.cnblogs.com/kikkiking/p/9493114.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!