Linux 环境下/etc/profile和/etc/profile.d 的区别和用法呢?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 环境下/etc/profile和/etc/profile.d 的区别和用法呢?相关的知识,希望对你有一定的参考价值。

区别:

    两个文件都是设置环境变量文件的,/etc/profile是永久性的环境变量,是全局变量,/etc/profile.d/设置所有用户生效。

    /etc/profile.d/比/etc/profile好维护,不想要什么变量直接删除/etc/profile.d/下对应的shell脚本即可,不用像/etc/profile需要改动此文件。

用法:

    CentOS 中每个用户都要指定各自的环境变量,其中包括可执行的 path路径,这些路径决定了每个用户在执行时的命令工具。

    一般情况下,可以再每个用户的环境变量里设定各自的 path变量值,然后再执行export PATH使其生效,但如果用户比较多,安装命令工具也原来越多,且出来本身用户可以执行这些工具,root用户或其他用户也可以执行命令,这时在每个用户环境变量里添加就比较复杂了。

参考技术A

你说的这几个/etc目录下的rcn.d和init.d全部都是/etc/rc.d/目录下对应rcn.d和init.d的软链接。

估计是为了方便吧,你想/etc/rc3.d输入起来比/etc/rc.d/rc3.d要方便吧。

/etc/init目录下面放的都是配置文件,而/etc/rc.d/init.d下面放的都是可执行文件。

Linux 环境下/etc/profile和/etc/profile.d 的区别

Linux 环境下/etc/profile和/etc/profile.d 的区别

区别:
1. 两个文件都是设置环境变量文件的,/etc/profile是永久性的环境变量,是全局变量,/etc/profile.d/设置所有     用户生效
2. /etc/profile.d/比/etc/profile好维护,不想要什么变量直接删除/etc/profile.d/下对应的shell脚本即可,不用      像/etc/profile需要改动此文件


CentOS 中每个用户都要指定各自的环境变量,这样会比较麻烦,那么如何配置一个环境变量,所有的用户都可以使用呢?

下面以jdk的安装为例

vi  /etc/profile.d/java.sh

在新的java.sh中输入以下内容:


#set java environment

JAVA_HOME=/var/mysoft/jdk1.7.0_80
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME PATH

保存退出,然后给java.sh分配权限:chmod 755 /etc/profile.d/java.sh





以上是关于Linux 环境下/etc/profile和/etc/profile.d 的区别和用法呢?的主要内容,如果未能解决你的问题,请参考以下文章

linux下如何注释掉/etc/vsftpd 下的文件ftpusers

Linux下/etc/sysconfig/i18n究竟是干啥用的

linux 多路径软件在/dev/mapper/下生成的硬盘 可以通过修改/etc/fstab 挂载么 ?

ubuntu18每次启动linux都要source /etc/profile生效java环境变量

source /etc/profile的深坑

Linux下用GCC程序修改/etc/profile文件环境变量的问题