[LN_09] Shell编程-环境变量配置文件操作解析

目录结构

一、环境变量配置文件-简介
    1. source命令
    2. 环境变量配置文件-简介
二、环境变量配置文件的功能
    1. /etc/profile 的作用
    2. ~/.bash_profile的作用
    3. /etc/bashrc的作用
三、其他环境变量配置文件
    1. 注销时生效的环境变量配置文件
    2. 其他配置文件
    3. Shell登录提醒信息


一、环境变量配置文件-简介

变量类型:用户自定义变量、环境变量、预定义变量、位置参数变量
环境变量作用:定义每个用户的操作环境。如:PATH、PS1(命令提示符变量)

1. source命令

# 使配置文件重新加载,立即生效
# 方式1:
source 配置文件
# 方式2:
. 配置文件

如:
source ./bashrc
. ./bashrc

2. 环境变量配置文件-简介

环境变量配置文件中主要定义对系统操作环境生效的系统默认环境变量,如:PATH。PATH、HISTSIZE、PS1、HOSTNAME等环境变量写入对应的环境变量配置文件,重启系统or退出再登录,即可直接生效(永久生效),不需要重新定义

登录时生效的环境变量有:

/etc/profile
/etc/profile.d/*.sh
/etc/bashrc
~/.bash_profile
~/.bashrc

PS:放于 /etc目录下的环境变量配置文件,对所有用户都有效;放于家目录 ~下的环境变量配置文件,只对当前登录用户起作用

二、环境变量配置文件的功能

正常完整启动路线:

/etc/profile-->/etc/profile.d/*.sh-->/etc/profile.d/lang.sh-->/etc/sysconfig/i18n

/etc/profile-->~/.bash_profile-->~/.bashrc-->/etc/bashrc-->命令提示符
非完整启动路线:

/etc/profile-->~/.bash_profile-->~/.bashrc-->/etc/bashrc-->/etc/profile.d/*.sh-->/etc/profile.d/lang.sh-->/etc/sysconfig/i18n

[LN_09] Shell编程-环境变量配置文件操作解析_第1张图片

PS:以上符号“-->”表示调用关系,即上一级调用下一级

1. /etc/profile 的作用

USER变量
LOGNAME变量
MAIL变量
PATH变量
HOSTNAME变量
HISTSIZE变量
umask
调用/etc/profile.d/*.sh文件

umask权限

# 查看系统默认权限
umask

PS:
1)文件的最高权限为666(读、写;rw-rw-rw-)
2)目录的最高权限为777(读、写、执行;rwxrwxrwx)
3)权限不能使用数字进行换算,必须使用字母
4)umask定义的权限,是系统默认权限中准备丢弃的权限(将权限数字换算成字母表示,然后将文件or目录的权限减去umask设置的默认权限,通过字母相减)

[LN_09] Shell编程-环境变量配置文件操作解析_第2张图片

umask设置的权限,如:022,换算成字母:----w--w-
目录最高权限为777,换算成字母:rwxrwxrwx
文件最高权限为666,换算成字母:rw-rw-rw-
① 初始创建一个目录的默认权限为:
rwxrwxrwx
----w--w-
------------------
rwxr-xr-x(755)
② 初始创建一个文件的默认权限为:
rw-rw-rw-
----w--w-
------------------
rw-r--r--(644)

启动路线①调用关系

[LN_09] Shell编程-环境变量配置文件操作解析_第3张图片

2. ~/.bash_profile的作用

调用了~/.bashrc文件
在PATH变量后面加入了":$HOME/bin"这个目录(变量叠加)

[LN_09] Shell编程-环境变量配置文件操作解析_第4张图片
[LN_09] Shell编程-环境变量配置文件操作解析_第5张图片

3. /etc/bashrc的作用

PS1变量
umask
PATH变量
调用/etc/profile.d/*.sh文件

[LN_09] Shell编程-环境变量配置文件操作解析_第6张图片
[LN_09] Shell编程-环境变量配置文件操作解析_第7张图片


三、其他环境变量配置文件

1. 注销时生效的环境变量配置文件

~/.bash_logout

[LN_09] Shell编程-环境变量配置文件操作解析_第8张图片

~/.bash_logout文件初始时未配置有效内容,可根据各自需要设置,如配置清空历史命令的操作:history -c

2. 其他配置文件

~/.bash_history
历史命令的保存文件

3. Shell登录提醒信息

转义符 作用
\d 当前系统日期
\s 操作系统名称
\l 登录的终端号
\m 硬件体系结构(i386、i686)
\n 主机名
\o 域名
\r 内核版本
\t 当前系统时间
\u 当前登录用户的系列号

【场景1】本地终端提醒信息配置:/etc/issue
【场景2】远程终端提醒信息配置:/etc/issue.net
1)在/etc/issue.net文件中不能使用转义符
2)远程终端提醒信息显示的开关,由ssh配置文件/etc/ssh/sshd_config决定,需要在其中加入一行"Banner /etc/issue.net"才会开启该功能(需要重启ssh服务:service sshd restart)
【场景3】本地登录or远程登录,登录后都可显示提醒信息配置:/etc/motd

你可能感兴趣的:([LN_09] Shell编程-环境变量配置文件操作解析)