/etc/profile、/etc/bashrc、~/.bash_profile、~/.bashrc

[root@localhost software]# yum install git
Loading "security" plugin
Loading "installonlyn" plugin
Loading "rhnplugin" plugin
This system is not registered with RHN.
RHN support will be disabled.
Setting up Install Process
Setting up repositories
No Repositories Available to Set Up
Reading repository metadata in from local files
Parsing package install arguments
Setting up repositories
No Repositories Available to Set Up
Reading repository metadata in from local files
No Match for argument: git
Nothing to do
[root@localhost software]# which yum 

/usr/bin/yum


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

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

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


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


~/.bash_logout:当每次退出系统(退出bash shell)时,执行该文件. 





bash的几个初始化文件 - [Ubuntu] 
 
 
 
(1)/etc/profile 
 
全局(公有)配置,不管是哪个用户,登录时都会读取该文件。

 
(2)/ect/bashrc 
 
Ubuntu没有此文件,与之对应的是/ect/bash.bashrc 
 
它也是全局(公有)的 
 
bash执行时,不管是何种方式,都会读取此文件。 
 
 
 
(3)~/.profile 
 
若bash是以login方式执行时,读取~/.bash_profile,若它不存在,则读取~/.bash_login,若前两者不存在,读取~/.profile。 
 
另外,图形模式登录时,此文件将被读取,即使存在~/.bash_profile和~/.bash_login。 
 
 
 
(4)~/.bash_login 
 
若bash是以login方式执行时,读取~/.bash_profile,若它不存在,则读取~/.bash_login,若前两者不存在,读取~/.profile。 
 
 
 
(5)~/.bash_profile 
 
Unbutu默认没有此文件,可新建。 
 
只有bash是以login形式执行时,才会读取此文件。通常该配置文件还会配置成去读取~/.bashrc。 
 
 
 
(6)~/.bashrc 
 
当bash是以non-login形式执行时,读取此文件。若是以login形式执行,则不会读取此文件。 
 
 
 
(7)~/.bash_logout 
 
注销时,且是longin形式,此文件才会读取。也就是说,在文本模式注销时,此文件会被读取,图形模式注销时,此文件不会被读取。

下面是在本机的几个例子: 
 
1. 图形模式登录时,顺序读取:/etc/profile和~/.profile 
 
2. 图形模式登录后,打开终端时,顺序读取:/etc/bash.bashrc和~/.bashrc 
 
3. 文本模式登录时,顺序读取:/etc/bash.bashrc,/etc/profile和~/.bash_profile 
 
4. 从其它用户su到该用户,则分两种情况: 
 
    (1)如果带-l参数(或-参数,--login参数),如:su -l username,则bash是lonin的,它将顺序读取以下配置文件:/etc/bash.bashrc,/etc/profile和~/.bash_profile。 
 
    (2)如果没有带-l参数,则bash是non-login的,它将顺序读取:/etc/bash.bashrc和~/.bashrc 
 
5. 注销时,或退出su登录的用户,如果是longin方式,那么bash会读取:~/.bash_logout 
 
6. 执行自定义的shell文件时,若使用“bash -l a.sh”的方式,则bash会读取行:/etc/profile和~/.bash_profile,若使用其它方式,如:bash a.sh, ./a.sh,sh a.sh(这个不属于bash shell),则不会读取上面的任何文件。 
 
7. 上面的例子凡是读取到~/.bash_profile的,若该文件不存在,则读取~/.bash_login,若前两者不存在,读取~/.profile。 
 
 
 
linux中profile与bashrc的区别 
 
Ubuntu 的相关目录下 
 
/ect/ /root /home/myuser 
 
profile .profile .profile 
 
bash.bashrc .bashrc .bashrc 
 
profile.d 
 
 
 
Fedora的相关目录 
 
/ect/ /root /home/myuser 
 
profile      profile 
 
bashrc   .bashrc bashrc 
 
profile.d                     profile.d

 
说明:myuser 是你添加创建的用户 
 
在网上找了半天也不能包括所有的,所以只能比较个大概。 
 
 
 
bashrc与profile的区别 
 
 
 
要搞清bashrc与profile的区别,首先要弄明白什么是交互式shell和非交互式shell,什么是login shell 和non-login shell。 
 
 
 
交互式模式就是shell等待你的输入,并且执行你提交的命令。这种模式被称作交互式是因为shell与用户进行交互。这种模式也是大多数用户非常熟悉 的:登录、执行一些命令、签退。当你签退后,shell也终止了。 shell也可以运行在另外一种模式:非交互式模式。在这种模式下,shell不与你进行交互,而是读取存放在文件中的命令,并且执行它们。当它读到文件 的结尾,shell也就终止了。 
 
 
 
bashrc与profile都用于保存用户的环境信息,bashrc用于交互式non-loginshell,而profile用于交互式login shell。系统中存在许多bashrc和profile文件,下面逐一介绍: 
 
 
 
/etc/pro此文件为系统的每个用户设置环境信息,当第一个用户登录时,该文件被执行. 
 
 
 
并从/etc/profile.d目录的配置文件中搜集shell的设置. 
 

/etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取。有些linux版本中的/etc目录下已经没有了bashrc文件。 
 
 
 
~/. pro每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该 
 
 
 
文件仅仅执行一次!默认情况下,它设置一些环境变量,然后执行用户的.bashrc文件. 
 
 
 
~/.bashrc:该文件包含专用于某个用户的bash shell的bash信息,当该用户登录时以及每次打开新的shell时,该文件被读取. 
 
 
 
另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是"父子"关系. 
 
 
 
某网友总结如下:

 
/etc/profile,/etc/bashrc 是系统全局环境变量设定 
 
~/.profile,~/.bashrc用户家目录下的私有环境变量设定 
 
当登入系统时候获得一个shell进程时,其读取环境设定档有三步 
 
1首先读入的是全局环境变量设定档/etc/profile,然后根据其内容读取额外的设定的文档,如 
 
/etc/profile.d和/etc/inputrc 
 
2然后根据不同使用者帐号,去其家目录读取~/.bash_profile,如果这读取不了就读取~/.bash_login,这个也读取不了才会读取 
 
~/.profile,这三个文档设定基本上是一样的,读取有优先关系 
 
3然后在根据用户帐号读取~/.bashrc 
 
至于~/.profile与~/.bashrc的不区别 
 
都具有个性化定制功能 
 
~/.profile可以设定本用户专有的路径,环境变量,等,它只能登入的时候执行一次 
 
~/.bashrc也是某用户专有设定文档,可以设定路径,命令别名,每次shell script的执行都会使用它一次 


http://www.hx95.com/Article/Tech/201207/58094.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值