Shell学习之环境变量配置文件(三)
Shell学习之环境变量配置文件
目录
环境变量配置文件简介
环境变量配置文件作用
其他配置文件和登录信息
环境变量配置文件简介
环境变量配置文件简介
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | 环境变量配置文件中主要是定义对系统操作环境生效的系统默认环境变量,比如PATH、HISTSZE、PS1、HOSTNAME等默认环境变量。 让配置文件直接生效,不用重新登陆 source命令 source配置文件 .配置文件 有哪些配置文件 / etc / profile / etc / profile.d / * .sh ~ / .bash_profile ~ / .bashrc / etc / bashrc 注意: / etc目录下都是对所有用户都有效,也就是说,所有用户登录上了都会读取这些配置文件的信息。 |
环境变量配置文件作用
Shell分类
1 2 3 | <strong>login - shell< / strong>和<strong>non login - shell< / strong>区别: login shell 和 non - login shell的最大区别在于读取环境变量的配置文件不同,当系统启动时或你开启一个新到终端登录系统时,系统通过调用 / bin / login程序处理登录并在 一个shell中显示命令行提<br>示符,这个shell就是login shell;<br>该shell程序可以是bash也可以是sh或csh,具体使用哪种shell可以在 / etc / passwd中设置( / bin / login程 序读取该文件决定使用哪种shell)。 |
1 2 3 4 5 6 | 定义: login shell:取得bash 时需要完整的登入流程,就称为login shell。举例来说,同tty1~tty6登入时, 需要输入用户名和密码,此时取得的bash就称为login shell。 non - login shell:取得bash介面的方法不需要重复登入的动作。<br> 举两个例子( 1 )以X window登入linux后,再以X 的图形化介面启动终端机,此时那个终端机并不需要再次的输入用户名和密码,那个bash的环境就称为non - login shell ( 2 )在原本的bash环境中再次下达bash这个指令,同样没有要求输入用户名和密码,那个第二个bash也是non - login shell,比如切换用户。 |
登陆读取配置文件的顺序
如果你把配置信息越往写入后面的文件,优先级就越大,除非你使用变量叠加。
1 2 3 4 5 6 7 8 9 10 | login shell(bash shell)按如下顺序执行解析配置文件: / etc / profile ~ / .bash_profile ~ / .bashrc / etc / bashrc interactive non - login shell从其父进程上继承过来环境变量,并按如下顺序执行解析配置文件 / etc / bashrc ~ / .bashrc |
配置文件的作用
如果是non login-shell 直接在/etc/bashrc开始读取配置文件。
其他配置文件和登陆信息
注销时生效的环境变量配置文件
1 2 3 4 | ~ / .bash_logout 你可以将一些注销时需要做的任务写到这个配置文件。 比如清空历史命令 或者把环境变量清空 |
系统出现错误时的重要排错的文件
1 | ~ / Bash_history |
Shell登陆信息
1 2 3 4 5 6 7 8 9 10 | 本地终端欢迎信息: / etc / issue 远程终端欢迎信息: / etc / issue.net 转义符在 / etc / issue.net文件中不能使用 是否显示此欢迎信息,由ssh的配置文件 / etc / ssh / sshd_config决定,加入“Banner / etc / issue.net”行才能显示(记得重启SSH服务 service sshd restart) 登陆后欢迎信息: / etc / motd 不管是本地登陆,还是远程登陆,都可以显示欢迎信息。 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?