`
jayghost
  • 浏览: 441910 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

/etc/profile和/etc/environment的比较

 
阅读更多

转:http://www.blogjava.net/wangxinsh55/archive/2011/10/24/361906.html

 先将export LANG=zh_CN加入/etc/profile ,退出系统重新登录,登录提示显示英文。将/etc/profile 中的export LANG=zh_CN删除,将LNAG=zh_CN加入/etc/environment,退出系统重新登录,登录提示显示中文。用户环境建立的过程中总 是先执行/etc/profile然后在读取/etc/environment。为什么会有如上所叙的不同呢?

        应该是先执行/etc/environment,后执行/etc/profile。
        /etc/environment是设置整个系统的环境,而/etc/profile是设置所有用户的环境,前者与登录用户无关,后者与登录用户有关。
       系统应用程序的执行与用户环境可以是无关的,但与系统环境是相关的,所以当你登录时,你看到的提示信息,象日期、时间信息的显示格式与系统环境的LANG 是相关的,缺省LANG=en_US,如果系统环境LANG=zh_CN,则提示信息是中文的,否则是英文的。



       对于用户的SHELL初始化而言是先执行/etc/profile,再读取文件/etc/environment.对整个系统而言是先执行/etc/environment。这样理解正确吗?
       /etc/enviroment --> /etc/profile --> $HOME/.profile   -->$HOME/.env (如果存在)


       /etc/profile 是所有用户的环境变量
       /etc/enviroment是系统的环境变量
       登陆系统时shell读取的顺序应该是 
             /etc/profile ->/etc/enviroment -->$HOME/.profile   -->$HOME/.env
       原因应该是jtw所说的用户环境和系统环境的区别了



       如果同一个变量在用户环境(/etc/profile)和系统环境(/etc/environment)有不同的值那应该是以用户环境为准了。


(1)/etc/profile: 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置。
(2)/etc/bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取。
(3)~/.bash_profile: 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。
(4)~/.bashrc: 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。
(5) ~/.bash_logout:当每次退出系统(退出bash shell)时,执行该文件. 另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承 /etc/profile中的变量,他们是"父子"关系。
(6)~/.bash_profile 是交互式、login 方式进入 bash 运行的~/.bashrc 是交互式 non-login 方式进入 bash 运行的通常二者设置大致相同,所以通常前者会调用后者。
分享到:
评论

相关推荐

    Vi下etc下profile直接看安装目录.docx

    在CentOS这样的Linux发行版中,环境变量的管理也涉及到其他配置文件,如`~/.bashrc`(用户级别的环境变量)和`/etc/environment`(仅包含PATH变量)。不过,`/etc/profile`是最通用的,适合配置全局性的系统环境变量...

    linux的source命令找不到解决方法.docx

    * Linux 的配置文件:/etc/profile、/etc/bashrc、/etc/environment 等。 * Linux 的环境变量:PATH、HOME、USER 等。 * Linux 的文件系统权限:文件所有者、文件所属组、文件权限等。 总结 Linux 的 source 命令...

    linux里etc下的文件解析

    - **/etc/profile**:全局的Shell初始化脚本,通常用于设置环境变量或函数等。 - **/etc/bash.bashrc**:针对Bash Shell的初始化脚本。 - **/etc/environment**:定义了系统范围内的环境变量。 - **/etc/updatedb....

    etc.tar.gz

    11. **/etc/profile.d**,**/etc/bashrc**,**/etc/environment**:这些文件影响着用户的Shell环境变量设置。 12. **/etc/ssh/sshd_config**:SSH服务的配置,控制着SSH服务器的行为。 13. **/etc/logrotate.conf*...

    etc.tar.gz-Linux下etc配置文件目录样例

    17. **/etc/profile.d**:系统级的Shell初始化脚本,用于设置环境变量。 18. **/etc/sudoers**:sudo命令的权限控制文件,定义了哪些用户可以以何种方式执行哪些命令。 19. **/etc/environment**:全局环境变量的...

    profile.zip

    总结来说,`/etc/profile` 是Linux系统中配置全局环境变量的重要文件,它确保了系统的正常运行和用户的使用体验。了解并熟练掌握其工作原理和修改方法,对于Linux管理员和开发者而言,都是必不可少的知识。在日常...

    虚拟机与Linux系统安装,以及Hadoop安装(1)

    * 安装 JDK,需要配置两个文件:/etc/environment 和 /etc/profile,添加相关的内容,保存并关闭编辑器,然后重启虚拟机。 * 安装 OpenSSH,使用以下命令安装:sudo apt-get install openssh-server openssh-client...

    Linux各种环境变量配置1

    因此,如果两个文件中有相同的环境变量设置,`/etc/environment` 中的设置会优先于 `/etc/profile` 中的设置。 在扩展路径时,如需添加 `yourpath1`,只需将 `:yourpath1` 添加到 `PATH` 变量后面: ```bash PATH=...

    Linux下安装jboss,并设置自启动服务.txt

    - 保存文件后,运行`source /etc/profile`或者`source /etc/profile.d/java.sh`使环境变量生效。 #### 二、安装JBoss 接下来是JBoss的安装。这里以JBoss 4.2.3.GA为例进行说明: 1. **下载并解压JBoss**:可以从...

    HBase单机版部署教程

    HBase单机版部署需要安装JDK、下载HBase、解压HBase、设置环境变量、修改/etc/profile文件、配置hbase-env.sh文件、配置hbase-site.xml文件、启动HBase和访问HBase。通过这些步骤,我们可以成功部署HBase单机版。

    个人安装 jdk记录个人安装 jdk记录

    这涉及到两个文件的编辑:`/etc/environment`和`/etc/profile`。 (1)打开`/etc/environment`文件,这会定义全局的环境变量。使用`vim`编辑器: ```bash sudo vim /etc/environment ``` 在文件末尾添加如下内容: ...

    Docker之修改/etc/default/docker 里的DOCKER_OPTS参数不生效问题

    默认情况下,/etc/default/docker配置了不会生效的,我们需要手动添加到docker的环境设定中,需要配置的文件是/usr/lib/systemd/system/docker.service,需要添加EnvironmentFile=-/etc/default/docker,让后在...

    linux下设定环境变量的方法介绍.docx

    例如,如果要为所有用户添加一个新的`JAVA_HOME`变量,可以将其添加到`/etc/environment`或`/etc/profile`。如果只想为当前用户设置,可以将`JAVA_HOME`添加到`~/.profile`或`~/.bashrc`。 此外,环境变量的设置还...

    AIX 手册1-18 12 英文

    主要登录文件包括 `/etc/environment`、`/etc/profile` 以及用户的个人配置文件 `$HOME/.profile`。 - **/etc/environment**:该文件用于设置系统范围内的环境变量,如 `PATH` 和 `LANG` 等。 - **/etc/profile**:...

    ubuntu使用经验

    - 方法二:手动下载并安装JDK,修改`/etc/environment`和`/etc/profile`以设置JAVA_HOME,然后使用`update-alternatives`命令管理JDK版本,使其成为默认版本。 5. **JAVA环境变更的设置**: - `/etc/profile`:这...

    jdk-8u241-linux-x64.zip

    vim /etc/profile 在文本的最后一行粘贴如下 #java environment export JAVA_HOME=/opt/jdk1.8.0_241 export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=...

    Linux下如何安装JDK和Eclipse的配置方法.docx

    * 环境变量的设置:了解如何在Linux系统中设置环境变量,包括/etc/environment和/etc/profile文件的配置。 * Eclipse安装和配置:了解Eclipse的安装和配置过程,包括下载、解压缩和设置执行权限。 * 桌面连接的创建...

    Linux配置java.doc

    系统启动时,会依次执行`/etc/profile`和用户的个人配置文件,如`~/.bash_profile`、`~/.bash_login`或`~/.profile`,以及可能的`~/.bashrc`。`/etc/profile`是全局配置,对所有用户有效,而个人目录下的配置文件只...

    jdk-7u80-linux-i586.gz

    $sudo vi /etc/profile 在末尾行添加 #set java environment JAVA_HOME=/usr/local/jdk1.7.0 CLASSPATH=.:$JAVA_HOME/lib.tools.jar PATH=$JAVA_HOME/bin:$PATH export JAVA_HOME CLASSPATH PATH 保存退出 $ ...

Global site tag (gtag.js) - Google Analytics