当前位置: > Linux教程 > 系统运维 >

linux之bash环境配置文件

时间:2014-08-30 20:30来源:linux.it.net.cn 作者:it

全局的配置文件

  /etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。并从/etc/profile.d目录的配置文件中搜集shell的设置。

  /etc/bash.bashrc:为每一个运行bash shell的用户执行此文件,当bash shell被打开时,该文件被读取。

  主目录的配置文件:

  .bash_logout:退出shell时,要执行的命令,

  .bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。

  .bashrc:该文件包含专用于个人的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取。

  在/etc目录的bash.bashrc和profile是系统级(全局)的配置文件,对所有用户有效,当在用户主目录下找不到.bash_profile和.bashrc\时,就会读取这两个文件。

  有些distribution可能没有.bash_profile文件,而是使用.profile或者.login两个文件。

  在这些配置文件中设置的变量主要有PATH,PS1,MAIL,USER,HOSTNAME,HISTSIZE和aliase和函数之类

  login 与 non-login shell

  login shell:取得 bash 时需要完整的登陆流程的,就称为 login shell。

  (1)由ctrl+alt+f1~f6可登陆tty1 ~ tty6,需要输入用户的账号与密码,此时取得的 bash 就称为login shell;

  (2)使用su - username,登陆后,此时取得的 bash 也称为login shell

  non-login shell:取得bash接口的方法不需要重复登陆的举动

  (1)以X window登陆Linux后,再以X的图形化接口启动终端机,此时那个终端接口并没有需要再次的输入账号与密码,那个bash的环境就称为 non-login shell。

  (2)在原本的 bash 环境下再次下达bash这个命令,同样的也没有输入账号密码, 那第二个bash(子程序) 也是 non-login shell。

  (3)使用su username,登陆后,此时取得的bash就称为non-login shell

  login shell的配置初始化

  bash首先读取/etc/profile文件,并借此调用其他配置文件。

  此之后读取用户的个人的配置文件,顺序依次是:

  ~/.bash_profile

  ~/.bash_login

  ~/.profile

  其中bash只会读取第一个文件,若第一个文件不存在则读取第二个,若第二个也不存在则读取第三个。

  其中/etc/profile会调用/etc/bashrc,~/.profile会调用~/.bashrc

  non-login shell的配置初始化

  /etc/bashrc

  ~/.bashrc

  用source 读取环境配置文件指令,来立即更新当前环境。也可使用. ~/.bashrc。

(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容