(1)/etc/profile 登录时,会执行。
全局(公有)配置,不管是哪个用户,登录时都会读取该文件。
(2)/ect/bashrc Ubuntu没有此文件,与之对应的是/ect/bash.bashrc
bash.bashrc 是交互式shell的初始化文件。
(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 shell的bash信息,当该用户登录时以及每次打开新的shell时,该文件被读取.
当bash是以non-login形式执行时,读取此文件。若是以login形式执行,则不会读取此文件。
(7)~/.bash_logout
注销时,且是longin形式,此文件才会读取。也就是说,在文本模式注销时,此文件会被读取,图形模式注销时,此文件不会被读取。
补充一点,/etc/rc.local是系统shell会执行的文件,linux启动后会退出的;/etc/profile 或 /etc/bash.bashrc是用户shell会的配置,我们一般的Shell是用户Shell的子进程,而非系统shell的子进程,所以如果在/etc/rc.local中指定"alias ll='ls -a'"这样的别名,对登录系统后的shell是没用的。
某网友总结如下:
/etc/profile,/etc /bashrc 是系统全局环境变量设定
/etc/profile与/etc/bashrc的区别?
前一个主要用来设置一些系统变量,比如JAVA_HOME等等,后面一个主要用来保存一些bash的设置.
~/.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的执行都会使用它一次
下面是几个例子:
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。
参考资料:
http://hi.baidu.com/id_joyride/blog/item/aaa7483f38cf073471cf6ce5.html/cmtid/6f67a6224362a649ac34de1a
http://hi.baidu.com/fjfhwfn2007/blog/item/8d9743951625cc047bf48099.html
http://hi.baidu.com/mydreamleaf/blog/item/343aa3fbc596f816a8d31152.html
转自:http://www.51testing.com/?uid-225738-action-viewspace-itemid-216622
分享到:
相关推荐
`/etc/profile`是系统级别的bash初始化文件,对所有用户生效。当用户首次登录系统时,这个文件会被执行一次,设置全局环境变量和系统级的命令路径。此外,它还会读取`/etc/profile.d`目录下的多个小配置文件,这些...
9. /etc/bashrc, /etc/profile:用户和系统的Bash shell配置。 10. /etc/apt/sources.list:APT包管理器的软件源列表。 这些文件和目录是Linux系统的核心组件,通过解压并应用到目标系统,可以实现对系统行为的精确...
在Linux操作系统中,当用户打开一个Shell,例如Bash,系统会按照特定的顺序读取一系列的配置文件,以便初始化Shell环境。这些配置文件用于设置环境变量、定义别名、自定义Shell行为等。理解这一顺序对于管理和维护...
- `/etc/bashrc` 和 `/etc/profile` 文件用于配置bash shell的环境变量和函数。 16. **/etc/csh.* & /etc/default/** - `/etc/csh.*` 文件用于配置C shell的环境变量。 - `/etc/default/` 目录下的文件通常用于...
当系统启动时,`init`进程首先读取`/etc/inittab`配置文件中的设置来确定系统的初始化行为。 `/etc/inittab` 文件包含了启动过程中的一系列指令。这些指令定义了系统启动后应执行的任务,如启动哪些服务、设置网络...
`/etc/profile`通常包含全局环境变量(如PATH、USER)的设置、错误日志文件的大小限制和文件权限的设定。如果用户主目录下没有`.bash_profile`,Bash会寻找`.bash_login`或`.profile`,按照这个顺序读取。 **二级...
- **特点**:与 `/etc/profile` 不同,`/etc/bash.bashrc` 更侧重于shell级别的设置,而非用户登录级别的设置。 #### 三、用户级别的配置文件 ##### 1. ~/.bash_profile, ~/.bash_login, ~/.profile - **功能**:...
这个文件为所有用户提供了bash shell的初始化设置,无论用户何时启动一个新的bash shell,都会执行这个文件。在此设置的环境变量只对新打开的shell有效。 5. **~/.bashrc**: 类似于/etc/bash.bashrc,但它是针对...
`/etc/profile`是Linux系统启动时读取的初始化脚本,它为所有用户设置全局环境变量。在该文件中,你可以添加或修改环境变量,比如添加一个新的软件安装路径到`PATH`变量,这样系统就能找到该软件的可执行文件。 ...
- `/etc/csh.cshrc` 和 `/etc/csh.login`:全局C shell初始化脚本。 - `$HOME/.cshrc` 和 `$HOME/.tcshrc`:特定用户的C shell初始化脚本。 - `$HOME/.login`:特定用户的C shell登录脚本。 - `/etc/skel`:新...
- **初始化操作**: `rc.sysinit` 是一个关键的脚本,用于执行多个系统初始化任务,包括但不限于设置环境变量、配置网络服务、检测并修复根文件系统等。 - **执行顺序**: `rc.sysinit` 根据 `/etc/inittab` 的指令,...
Shell配置文件如bash的系统级和用户级配置分别在`/etc/bashrc`、`/etc/profile`、`~/.bashrc`和`~/.profile`中。 图形环境方面,XFree86的主配置文件在`/etc/XF86Config`、`/etc/X11/XF86Config`或`/etc/X11/XF86...
4. **/etc/bashrc** 和 `/etc/profile`:系统级的初始化文件,影响所有用户。 5. ** sourcing**:使用`source`或`. file_name`命令可以将一个文件的内容直接在当前shell会话中执行,无需启动新的shell。 了解并...
- **初始化代码**:用于设定一些基本的环境,如umask(文件创建权限默认值)。 - **PATH变量**:定义系统执行命令的搜索路径,确保能访问到必要的二进制文件。 - **其他环境变量**:例如JAVA_HOME、PYTHONPATH等...
2. `/etc/bashrc`:这是针对使用bash shell的用户的配置文件,它在执行完`/etc/profile`之后运行。每当打开一个新的bash shell时,这个文件也会被读取。你可以在这个文件中设置所有bash用户每次登录或新开bash shell...
/etc/bashrc 为每一个运行 bash shell 的用户执行此文件。当 bash shell 被打开时,该文件被读取。~/.bash_profile 用户专用于自己使用的 shell 信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些...
- `/etc/bashrc`、`/etc/profile`、`$HOME/.bashrc`、`$HOME/.bash_profile`:这些文件用于定义系统范围或特定用户的Bash shell初始化脚本。 - `/etc/csh.cshrc`、`/etc/csh.login`、`$HOME/.cshrc`、`$HOME/....
- **/etc/profile**:全局的Shell初始化脚本,通常用于设置环境变量或函数等。 - **/etc/bash.bashrc**:针对Bash Shell的初始化脚本。 - **/etc/environment**:定义了系统范围内的环境变量。 - **/etc/updatedb....
Bash的初始化文件包括/etc/profile、~/.bash_profile、~/.bash_login、~/.profile和~/.bashrc。这些文件将在Bash启动时被读取,并执行其中的命令。 Bash的交互式shell Bash的交互式shell是指用户可以与Bash进行...