13.Linux环境变量配置

目录

1.source 命令功能

2.环境变量配置文件 

3./etc/profile:


1.source 命令功能

在不退出登录的情况下,能够让环境变量的修改立即生效。

例如,当我们修改了/etc/profile文件,并想让它立刻生效,而不用重新登录,就可以使用source命令,如source /etc/profile。

[root@localhost ~]# source 环境变量配置文件

[root@localhost ~]# . 环境变量配置文件 

2.环境变量配置文件 

1)登录时生效的环境变量配置文件

在Linux系统登录时主要生效的环境变量配置文件有以下五个:

/etc/profile

/etc/profile.d/*.sh

~/.bash_profile

~/.bashrc

/etc/bashrc

注意:在7.3和7.6版本的centos中,额外写入到/etc/profile文件的变量定义并不会在正常登录后生效。在su -切换用户后生效。建议写入到/etc/bashrc或/~/.bashrc中。

3./etc/profile:

在用户登录过程先调用/etc/profile文件在这个环境变量配置文件中会定义这些默认环境变量:

USER变量:根据登录的用户,给这个变量赋值(就是让USER变量的值是当前用户)

LOGNAME变量:根据USER变量的值,给这个变量赋值。

MAIL变量:根据登录的用户,定义用户的邮箱为/var/spool/mail/用户名。

PATH变量:根据登录用户的UID是否为0,判断PATH变量是否包

含/sbin/,/usr/sbin/,/usr/local/sbin/这三个系统命令目录。

HOSTNAME变量:更改主机名,给这个变量赋值。

HISTSIZE变量:定义历史命令的保存条数。

umask:定义umask默认权限。注意/etc/profile文件中umask权限是在“有用户登录过程(也就是输入了用户名和密码)” 时才会生效。

调用/etc/profile.d/*.sh文件,也就是调用/etc/profile.d/目录下所有以.sh结尾的文件.由/etc/profile文件调用/etc/profile.d/*.sh 文件这个目录中所有以.sh结尾的文件都会被/etc/profile文件调用,这里最常见的就是lang.sh文件,而这个文件又会调用/ etc/sysconfig/i18n文件(默认语系配置文件Centos6)。 

~/.bash_profile文件主要有两个功能:

调用了~/.bashrc文件。

在PATH变量后面加入了”:$HOME/bin“这个目录。那也就是说,如果我们在自己的家目录中建立bin目录,然后把自己的脚本放入~/bin目录,就可以直接执行脚本,而不是通过绝对路径执行(需要创建~/bin/目录)。

由~/.bash_profile文件调用~/.bashrc文件在~/.bashrc文件中主要实现了:

定义默认别名,所以自己定义的别名也放进了这个文件。

调用/etc/bashrc

由~/.bashrc调用了/etc/bashrc文件在/etc/bashrc文件中主要定义了这些内容:

PS1变量:也就是用户的提示符,如果我们想要永久修改提示符,就要在这个文件中修改。

umask:定义umask默认权限。这个文件中定义的umask是针对”没有登录过程(也就是不需要输入用户名和密码时,比如从一个终端切换到另一个终端,或者进入子shell)“时生效的。如果是”有用户登录过程“,则是/etc/profile文件中umask生效。

PATH变量:会给PATH变量追加值,当然也是在”没有登录过程“时才生效。

调用/etc/profile.d/*.sh文件,这也是在”没有登录过程“时才调用。在”有用户登录过程“时,/etc/profile.d/*.sh文件已经被/etc/profile文件调用过了。这样这五个环境变量配置文件会被依次调用,如果你修改后打算对所有用户生效,那么可以放入/etc/profile环境变量配置文件。

1)可是如果我们误删除了这些环境变量,比如删除了/etc/bashrc文件,或删除了~/.bashrc文件,那么这些文件中配置就会失效(~/.bashrc文件会调用/etc/bashrc文件)那么命令是提示符会变成:

-bash-4.1#

2)注销时生效的环境变量配置文件

在用户退出登录时,只会调用一个环境变量配置文件,~/.bash_logout文件。默认没有写入任何内容,可是如果我们希望在退出登录时执行一些操作,比如备份或删除历史命令(rm -rf /root/.bash_history),就可以把命令写入这个文件。

3)其他配置文件

还有一些环境配置文件,最常见的就是~/bash_history文件,也就是历史命令保存文件。这个文件在之前的课程中已经讲过了,这里只是把他列入环境变量配置文件中。

猜你喜欢

转载自blog.csdn.net/weixin_46659843/article/details/123812008