`

Linux 启动文件、设置环境变量的位置

 
阅读更多

系统级启动文件 

====================================

1、/etc/rc  主启动文件,不要修改它

2、/etc/rc.conf  决定启动哪些系统自带的守护进程,不要修改它

3、/etc/rc.conf.local 如果你想干涉系统启动时启动的守护进程,请编辑本文件,本文件的内容会覆盖/etc/rc.conf中的内容。

4、/etc/rc.local  重点,你想让Nginx,MySQL,Tomcat自启动,请修改这个文件。

5、/etc/rc.shutdown 重点,在操作系统关机时执行,可关闭Nginx,MySQL,Tomcat

 

1、 /etc/rc.local

系统启动需要加载的守护进程(服务)和执行的程序。该文件只有一条“exit 0”语句,用户可加入自己的启动程序,但需要保证最后的返回是0。

注意,该文件中不能加入用户shell下的脚本,例如加入 alias ll="ls -l" 无效,因为该文件的执行环境是在系统shell下,系统尚未进入用户shell环境。

可配置环境变量,可做开机自启动,因为开机自启动程序需要使用环境变量。

 

 

 

bash(用户级)启动文件 - [Ubuntu]  (/etc/profile 、/etc/bashrc 、 ~/.profile 、 ~/bashrc 文件)

====================================

1)进入系统时,先执行/etc/rc.local文件,再/etc/profile文件,再执行/etc/bashrc文件;结束后,进入bash(假如登陆用户为user),先执行/etc/profile文件,再执行/home/user/.bash_profile文件,根据该文件,执行/home/user/.bashrc文件,再根据该文件,执行/etc/bashrc文件,执行完毕后,整个执行过程结束。


2)切换用户(如从root用户切换至wxc用户)时,使用"su"命令,系统先执行/home/wxc/.bashrc文件,再根据该文件,执行/etc/bashrc文件,执行完毕后,整个执行过程结束;当使用"su -"命令时,先执行/etc/profile文件,再执行/etc/profile.d/*.sh和/home/wxc/.bash_profile文件,根据该文件,执行/home/wxc/.bashrc文件,再根据该文件,执行/etc/bashrc文件,执行完毕后,整个执行过程结束。

 

(1)/etc/profile

全局(公有)配置,不管是哪个用户,登录时都会读取该文件。

可配置环境变量,如JAVA_HOME

Mac 有此文件

 

(2)/etc/bashrc

全局(公有)配置,bash shell执行时,不管是何种方式,都会读取此文件。

Mac 有此文件 

Ubuntu没有此文件,与之对应的是/ect/bash.bashrc

 

 

(3)~/.bashrc

当bash shell是以non-login形式执行时,读取此文件。若是以login形式执行,则不会读取此文件。

当登录时以及每次打开新的shell时,该该文件被读取.

~/.bash_profile 与 ~/.bashrc  设置大致相同,所以通常前者会调用后者。

 

(4)~/.bash_profile

若bash shell是以login方式执行时,才会读取此文件。该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的~/.bashrc文件.

~/.bash_profile 与 ~/.bashrc  设置大致相同,所以通常前者会调用后者。

Mac 有此文件(注:Linux 里面是 .bashrc 而 Mac 是 .bash_profile)

Unbutu默认没有此文件,可新建。

 

(5)~/.bash_login

若bash shell是以login方式执行时,读取~/.bash_profile,若它不存在,则读取~/.bash_login,若前两者不存在,读取~/.profile。

 

(6)~/.profile

若bash shell是以login方式执行时,读取~/.bash_profile,若它不存在,则读取~/.bash_login,若前两者不存在,读取~/.profile。

另外,图形模式登录时,此文件将被读取,即使存在~/.bash_profile和~/.bash_login。

Mac 默认没有此文件,可手动创建此文件

 

 

(7)~/.bash_logout

注销时,且是longin形式,此文件才会读取。也就是说,在文本模式注销时,此文件会被读取,图形模式注销时,此文件不会被读取。

 

 

 

下面是在本机(Ubuntu)的几个例子

====================================

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-oracle环境变量及自启动脚本

    在Linux系统中,Oracle数据库的运行依赖于一系列的环境变量设置和自启动脚本的配置。这些要素确保了数据库服务的稳定性和可管理性。本文将深入探讨与"linux-oracle环境变量及自启动脚本"相关的知识点。 一、Oracle...

    在Linux里设置环境变量的方法

    在这些文件中添加`export`命令后,每次启动新的shell会话时,环境变量都会生效。例如: ``` echo 'export JAVA_HOME=/usr/lib/jvm/java-8-openjdk' >> ~/.bashrc source ~/.bashrc # 使更改立即生效 ``` 3. **...

    Linux下如何设置环境变量.docx

    Linux 环境变量设置指南 Linux 环境变量是一组系统级别的变量,用于存储系统的配置信息和用户的自定义设置。环境变量可以影响系统的行为和应用程序的执行,例如 PATH 变量可以控制命令的搜索路径。在 Linux 系统中...

    linux jdk mycat环境变量配置.txt

    执行`source /etc/profile`命令可以使刚刚修改的`/etc/profile`文件中的环境变量立即生效,而无需重新启动系统。 #### 二、Mycat环境变量配置 Mycat是一款开源的分布式数据库中间件,它可以实现对多个MySQL实例的...

    linux 环境变量 配置 实用技巧 配置Linux 操作系统 环境变量

    ### Linux环境变量配置实用技巧详解 #### 一、概述 Linux作为一款强大的开源操作系统,以其稳定性和灵活性著称。其中一个重要的特性就是环境变量的管理。环境变量是在操作系统中定义的一组特殊的变量,它们用于存储...

    linux一些标准的环境变量.docx

    本文将详细介绍几个常见的Linux环境变量,包括`SHELL`、`LANG`、`PATH`、`MANPATH`、`INPUTRC`、`BASH_ENV`、`DISPLAY`、`COLORTERM`、`USER`、`LOGNAME`、`MAIL`、`HOSTNAME`和`HISTSIZE`等,并通过一个示例文件...

    LINUX里面的环境变量的配置

    环境变量可以在系统启动时由操作系统设置,也可以由用户通过命令行或配置文件来修改。 #### 二、常见的环境变量及其作用 1. **PATH**: 定义了命令解释器搜索可执行文件的路径列表。当用户在命令行输入一个命令时,...

    linux下java环境变量.doc

    本文将详细阐述如何在Linux系统中设置Java环境变量,包括JDK的安装、环境变量的临时配置与持久化配置方法。 ### 一、JDK的安装 #### 步骤1:下载JDK 首先,你需要从Oracle官方网站或其镜像站点下载适合Linux系统...

    java设置环境变量

    在Linux或Unix系统中,如Ubuntu或MacOS,环境变量的设置通常在`~/.bashrc`或`~/.bash_profile`文件中进行: 1. 使用文本编辑器(如vim或nano)打开配置文件。 2. 添加以下行: ``` export JAVA_HOME=/path/to/jdk...

    zynq修改uboot环境变量保存到sd卡.docx

    总结来说,修改U-Boot以将环境变量保存到SD卡涉及编译U-Boot、更新设备树、修改配置文件、初始化代码以及创建适当的启动文件。这个过程保证了EBAZ4205开发板在每次启动时都能根据设定的环境变量进行配置,提高了系统...

    linux用户环境变量设置.pdf

    对于非root用户,环境变量的设置方式类似,只是文件位置不同。每个用户的环境变量配置通常存储在`~/.bash_profile`文件中,其中`~`代表用户的家目录。以下是具体步骤: - 首先,找到对应用户的家目录,例如用户名...

    使用脚本设置全局环境变量

    在Unix或Linux系统中,全局环境变量的设置则通常通过修改`~/.bashrc`(用户级)或`/etc/profile`(系统级)这样的启动配置文件来完成。例如,要添加一个名为`MY_VAR`的环境变量,可以在这些文件中加入以下行: ```...

    Linux 中环境变量设置.docx

    本文将深入探讨Linux中的环境变量设置,特别是涉及`.bash_profile`、`.bashrc`、`/etc/profile`和`/etc/bashrc`等配置文件的使用。 首先,`/etc/profile`是系统级别的环境变量配置文件,它会在每个用户首次登录时...

    Linux环境变量设置--总结.pdf

    Linux环境变量是操作系统用于存储信息的关键机制,这些信息在各个程序之间共享,使得软件能够找到必要的文件、配置和命令。在Linux系统中,环境变量帮助定位可执行文件、指定默认目录、控制用户界面等。当在终端输入...

    Linux系统Shell的环境变量配置文件介绍

    在Linux系统中,Shell环境变量配置文件扮演着至关重要的角色,它们定义了用户和系统的运行环境,包括路径、语言设置、别名等。理解并掌握这些配置文件的使用,能够帮助我们更好地定制和管理我们的工作环境。以下是...

    linux和unix下环境变量详解.docx

    如果希望某些环境变量设置能够持久保存,可以通过编辑用户的环境变量配置文件来实现。通常这些文件位于用户的家目录中,如`.bash_profile`或`.bashrc`等。例如,为了持久化`PATH`变量的设置,可以在这些文件中添加...

    阿里云部署java web项目及设置环境变量

    3. **设置环境变量**:编辑`~/.bashrc`或`~/.bash_profile`文件,添加上述的环境变量设置,然后运行`source ~/.bashrc`或`source ~/.bash_profile`使更改生效。 4. **安装Web服务器**:如Tomcat,可以使用`wget`...

    Linux环境变量.docx

    例如,要永久设置一个新的环境变量`DOMAIN`,可以在适当的用户或系统配置文件中添加`export DOMAIN=value`,然后保存文件并注销或重启shell以应用更改。 当直接运行脚本(如`sh script.sh`)时,脚本会在一个子...

    Tony老师聊shell—环境变量配置文件

    - 每个用户的主目录下都会有一个`.bash_profile`文件,该文件主要用于设置用户的个人环境变量。 - 当用户登录到系统时,会自动执行该文件中的命令。 - 示例内容: ``` if [ -f ~/.bashrc ]; then . ~/.bashrc ...

    CentOS7设置环境变量1

    - `/etc/profile.d/`:推荐的系统环境变量设置位置,每个脚本对应一个变量,易于管理和维护。 - `/etc/bashrc`:影响所有使用bash的用户,但同样不建议在此设置环境变量。 2. **用户环境变量**: - `.bash_...

Global site tag (gtag.js) - Google Analytics