shell编程之环境变量配置文件

一.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只对当前用户生效

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

  • 用户正常登录(输入用户名和密码)后环境变量配置文件调用过程

    shell编程之环境变量配置文件_第1张图片

    • su切换到指定用户时直接从/etc/bashrc切入,走完/etc/profile.d/*.sh下面路程后运行命令提示符
  • /etc/profile的作用

    • USER变量

    • LOGNAME变量

    • MAIL变量

    • PATH变量

    • HOSTNAME变量

    • HISTSIZE变量

    • 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不管是本地登录还是远程登录,都可以显示此欢迎信息

你可能感兴趣的:(操作系统相关)