版权声明:作者已开启版权声明,如转载请注明转载地址。 https://blog.csdn.net/qq_34829447/article/details/82824900
一.Shell编程之环境变量配置文件简介
1.环境变量综述
- 环境变量的作用:定义每个用户的操作环境
- 已学的环境变量:path、ps1
2.source命令
-
修改配置文件后,必须注销重新登录才能生效。使用source命令可以不用重新登录直接生效。
-
使用
[root@localhost ~]# source 配置文件 #或 [root@localhost ~]# . 配置文件
2.环境变量配置文件简介
- PATH、HISTSIZE、PS1、HOSTNAME等环境变量写入对应的环境配置文件
- 环境变量配置文件中主要是定义对系统操作环境生效的系统环境变量,如PATH等
3.常用生效的环境变量配置文件
/etc/profile
对所有登录用户起作用/etc/profile.d/*.sh
对所有登录用户起作用/etc/bashrc
对所有登录用户起作用~/.bash_profile
只对当前用户生效~/.bashrc
只对当前用户生效
二.环境变量配置文件的功能
-
用户正常登录(输入用户名和密码)后环境变量配置文件调用过程
- su切换到指定用户时直接从
/etc/bashrc
切入,走完/etc/profile.d/*.sh
下面路程后运行命令提示符
- su切换到指定用户时直接从
-
/etc/profile
的作用-
USER变量
-
LOGNAME变量
-
MAIL变量
-
PATH变量
-
HOSTNAME变量
-
HISTSIZE变量
扫描二维码关注公众号,回复: 3376767 查看本文章 -
umask:查看系统默认权限
-
文件最高权限为666(r读4,w写2,x执行1)
-
目录最高权限为777
-
权限不能使用数字换算,而必须使用字母
-
umask定义的权限,是系统默认权限中准备丢弃的权限
-
如
#文件创建时的权限是666 rw-rw-rw #用户的umask值为0022,第一位是系统的特殊权限,后三位是用户在系统默认权限中准备丢弃的权限 #rw-rw-rw - ----w--w- = r--r--r-- #则用户创建的文件权限是r--r--r--
-
-
调用
/etc/profile.d/*.sh
文件
-
-
~/.bash_profile
的作用- 调用了
~/.bashrc
文件 - 在PATH变量后面加入了:
:$HOME/bin
这个目录
- 调用了
-
总结:只要将变量定义在整个环境变量执行流程中的任意一个文件,都会被执行到,得到对应变量的内容
-
~/.bashrc
的作用- 定义默认别名
- 调用
/etc/bashrc
-
/etc/bashrc
的作用- PS1变量
- umask
- PATH变量
- 调用
/etc/profile.d/*.sh
三.其他配置文件
1.注销时生效的环境变量配置文件
~/.bash_logout
- 如想在用户退出时使用
history -c
清除历史命令,则在~/.bash_logout
添加对应命令
2.记录历史命令的环境变量配置文件
~/.bash_history
- 用户最新输入的命令不会直接写入历史命令配置文件中(故使用history命令查看的结果和
~/.bash_history
文件中的内容不同步),当用户正确退出时会将命令信息写入
3.Shell登录信息
- 本地终端欢迎信息在
/etc/issue
文件中定义
转义符 | 作用 |
---|---|
\d | 显示当前系统日期 |
\s | 显示操作系统名称 |
\l | 显示登录的终端号,这个比较常用 |
\m | 显示硬件体系结构,如i386,i686等 |
\n | 显示主机名 |
\o | 显示域名 |
\r | 显示内核版本 |
\t | 显示当前系统时间 |
\u | 显示当前登录用户的序列号 |
- 远程终端欢迎信息在
/etc/issue.net
文件中定义- 转义符在
/etc/issue.net
文件中不能使用 - 是否显示此欢迎信息,由ssh的配置文件
/etc/ssh/sshd_config
决定,加入Banner /etc/issue.net
行才能显示(记得重启SSH服务service sshd restart
)
- 转义符在
- 登录后欢迎信息:
/etc/motd
,不管是本地登录还是远程登录,都可以显示此欢迎信息