【Linux学习笔记】35:登录时生效的环境变量配置文件 下
来源:互联网 发布:风云同步助手软件 编辑:程序博客网 时间:2024/06/05 15:41
[1]继续上节没说完的/etc/profile
这里是说,如果登录用户的UID大于199,那么预设权限掩码umask是002,否则就是022。我们登陆的是root用户,UID是0,所以上节查看到的掩码是022,这在这个文件中就可以更改。
可以看到随后它调用了/etc/profile.d/这个目录下的所有后缀名为sh的文件。
课程中只学习其中的lang.sh这个文件。
[2]/etc/profile.d/lang.sh
可以看到它调用了/etc/sysconfig/i18n这个文件。这个文件在将语系变量的时候讲过,它的作用就是定义系统的默认语系。
也就是说,系统一启动,就会通过这样的层层调用让这个文件加载,从而让语系变量中这个默认语系起作用。
接下来学习另外一条路径。
[3]~/.bash_profile
现在开始学习另一条路径上的文件。
在调用顺序图中可以看到,这个文件也是被总的/etc/profile调用的。
这个文件的作用是如果~/.bashrc存在,就用sorce加载它;另外在PATH变量后加入了$HOME/bin这个目录(变量的叠加),然后再把这个新的PATH重新声明为环境变量。
也就是说,实际上可以把自己定义的环境变量写到这个流程中的任意一个配置文件中去,只要启动过程是完整的,这个流程正确执行,那么就可以做到持续生效。
只要保证对于这个环境变量,后面的文件对前面的没有因覆盖而使前面的更改或定义操作失效即可。
[4]~/.bashrc
它是被刚才的~/.bash_profile调用的。
可以看到,这个文件中先是用alias定义了命令别名,所以我们要持久加入的别名可以写到这个文件中来;另外如果/etc/bashrc存在,就用source加载它。
[5]/etc/bashrc
它是被刚才的~/.bashrc调用的。
这里定义了PS1环境变量:
如果是没有登录的shell,那么这个文件中定义的PATH生效,从这句注释中可以读出:
这也就是上一节讲的,登录过程不正常时,则从这个文件开始加载。
这个文件中只有定义PS1是针对有登录过程的,后面的定义都是针对没有登录过程的,包括重新定义了PS1:
从图中还可以看到,这个文件在没有登录过程时调用了/etc/profile.d/下的所有以.sh结尾的文件,这些文件在有登录过程时是由总的/etc/profile文件调用的,这在流程图中就可以看到。
操作系统提示符变成内核自带的提示符
有时候会出现操作系统提示符错乱的情况,从流程图中可以看到PS1环境变量是在/etc/bashrc这个文件中定义的,而正常登陆流程中它前面还有很多文件,如果前面的某个文件丢失了,那么就不会调用这个配置文件,而PS1环境变量也就不会生效。这样开机后操作系统提示符也就变成了Linux内核自带的(在单用户模式中也是它)。
解决方法,找另外一台Linux,把丢失的文件拷贝过来就行了。或者找到它所在的修复的包,从包中解压出来。
- 【Linux学习笔记】35:登录时生效的环境变量配置文件 下
- 【Linux学习笔记】34:登录时生效的环境变量配置文件 上
- 【Linux学习笔记】33:环境变量配置文件简介
- 【Linux学习笔记】36:其它环境变量配置文件
- linux 下让修改的环境变量立即生效方法
- linux下env环境变量引起的crontab不生效解决办法
- Linux 下环境变量配置文件
- Linux下不用重启使更改的配置文件生效
- Linux下与环境变量有关的配置文件
- Linux下如何使环境变量文件生效
- 嵌入式 Linux下永久生效环境变量bashrc
- 3.linux下环境变量含义、设置、生效
- Linux下永久生效环境变量bashrc
- Linux基础知识学习:Linux中修改环境变量及使环境变量生效的方法
- Windows下配置的环境变量未生效
- Linux-使环境变量马上生效的命令
- LINUX让环境变量立即生效的方法
- LINUX让环境变量立即生效的方法
- Android Rild简介
- 程序员的八重境界
- Shell
- 今天是Google 19岁生日 回顾19年前的网站截图
- (C语言)字符串替换空格:请实现一个函数,把字符串中的每个空格替换成“%20”
- 【Linux学习笔记】35:登录时生效的环境变量配置文件 下
- Hdu 1540 Tunnel Warfare【线段树区间合并学习】
- 不能建包src/main/java问题
- 我要向你表个白哟!
- Struts2-简单Ajax应用
- 单例模式的几种实现方式
- 使用dd命令增加swap(虚拟内存)大小
- ADB主动升级命令
- 6、class的基本使用—ES6学习笔记