Shell的环境变量配置文件

环境变量配置文件

Linux登录时,所用的环境变量配置文件

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

注:在/etc目录下的环境变量配置文件对所有用户都生效,而在家目录中的环境配置只对指定用户生效

这里写图片描述

正常登陆情况下(不是系统启动过程而是输入用户名和密码登录时,或者注销用户重新登录),环境变量配置文件的调用过程:

// 正常登陆时环境变量配置文件的调用过程
/etc/profile
    |
    --/etc/profile.d/*
    |
    --/etc/profile.d/lang.sh
    |
    --/etc/sysconfig/i18n
    |
~/.bash_profile
    |
    --~/.bashrc
             |
             --/etc/bashrc
                 |
                 --命令提示符

// 通过su方式切换用户的登录时
 /etc/bashrc
     |
     --/etc/profile.d/*.sh
     |
     --/etc/profile.d/lang.sh
     |
     --/etc/sysconfig/i18n
     |
     --命令提示符                
//一个普通交互式bash的加载环境变量配置文件过程是:
~/.bashrc
    |
    --/etc/bashrc
       |
       --/etc/profile.d/*.sh
       |
       --命令提示符

/etc/profile文件

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

umask权限

注意:

  1. 文件的最高权限为666
  2. 目录的最高权限为777
  3. 权限不能使用数字进行换算,而必须使用字母
  4. umask定义的权限,是系统默认权限中准备丢弃的权限

具体使用可以参考:umask默认权限

/etc/bashrc

在该配置文件中有PS1提示符环境变量的定义,如果该文件没有被调用则无法显示PS1中定义的提示符信息。
例如:

// linux提示符信息
[root@localhost ~]#
// 变成了下面的情况
bash5.2#

原因:/etc/bashrc中定义了PS1提示符环境变量,它没有被调用

  1. ~/.bashrc 被删除后,就不会调用/etc/bashrc
  2. 单用户模式也不会调用/etc/bashrc

解决:
可以拷贝正常系统中的/etc/bashrc文件

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

  • ~/.bash_logout
    • 可以在Shell退出时执行一些命令,如清除历史命令history -c
  • ~/.bash_history
    • 当前登录操作命令在退出shell时才保存在~/.bash_history,所以执行history查看历史命令的条数比.bash_history文件中的多

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服务)

登录后欢迎信息

/etc/motd文件

  • 不管是本地登录,还是远程登录,都可以显示此欢迎信息

参考

1.慕课网Linux课程
2. /etc/profile、~/.bash_profile等几个文件的执行过程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值