码迷,mamicode.com
首页 > 系统相关 > 详细

BashShell的操作环境

时间:2020-12-03 11:46:49      阅读:5      评论:0      收藏:0      [点我收藏+]

标签:pat   block   定义   外部   命令行   目录   账号   转义字符   lock   

20.11.28

bash 的登录与欢迎信息

vim /etc/issue:在命令行界面本地终端登录时的欢迎语句文件

常用的转义字符

  • \d 本地端时间的日期
  • \l 显示第几个终端机的接口;
  • \m 显示硬件的等级(i386/i486/i586/i686....)
  • \n 显示主机的网络名称
  • \O 显示 domain name
  • \r 操作系统的版本 (类似 uname-r)
  • \t 显示本地端时间的时间
  • \s 操作系统的名称
  • \v 操作系统的版本

vim /etc/issue.net:远程登陆时显示的欢迎语句文件,不支持转义字符

vim /etc/motd:用户成功登录系统之后,欢迎语句文件


bash 的环境配置文件

  • 登陆方式

    login shell:输入用户的账号与密码,此时取得的 bash 就称为login shell

    non-login shell:以 X window 登陆 Linux 后, 再以 X 的图形化接口启动终端机,此时那个终端接口并没有需要再次的输入账号与密码,那个 bash 的环境就称为 non-login shell

  • login shell读取方式

    实线的的方向是主线流程,虚线的方向则是被呼叫的配置文件

    技术图片

    • /etc/profile (login shell 才会读):登陆取得 bash 时一定会读取的配置文件

      主要配置:

      • PATH:会依据 UID 决定 PATH 变量要不要含有 sbin 的系统命令目录;
      • MAIL:依据账号配置好使用者的 mailbox 到 /var/spool/mail/账号名;
      • USER:根据用户的账号配置此一变量内容;
      • HOSTNAME:依据主机的 hostname 命令决定此一变量内容;
      • HISTSIZE:历史命令记录笔数。CentOS 5.x 配置为 1000 ;

      读取外部数据:

      • /etc/inputrc:判断使用者有没有自定义输入的按键功能,如果没有的话, /etc/profile 就会决定配置『INPUTRC=/etc/inputrc』这个变量(此一文件内容为 bash 的热键、[tab]要不要有声音等等的数据)
      • /etc/profile.d/*.sh:只要在 /etc/profile.d/ 这个目录内且扩展名为 .sh,并具有r 权限(规范了 bash 操作接口的颜色、 语系、ll 与 ls 命令的命令别名、vi 的命令别名、which 的命令别名等等)
      • /etc/sysconfig/i18n:这个文件是由 /etc/profile.d/lang.sh 引入,这也是我们决定 bash 默认使用何种语系的重要配置文件
    • ~/.bash_profile (login shell 才会读)

      1. ~/.bash_profile
      2. ~/.bash_login
      3. ~/.profile

      其实 bash 的 login shell 配置只会读取上面三个文件的其中一个, 而读取的顺序则是依照上面的顺序

      为兼容其他shell 转换过来的使用者的习惯

  • non-login shell 读取方式

    • ~/.bashrc:取得 non-login shell 时,该 bash 配置文件仅会读取 ~/.bashrc

    • ~/.bashrc 会调用/etc/bashrc 文件,/etc/bashrc 帮我们的 bash 定义出底下的数据:

      • 依据不同的 UID 规范出 umask 的值;
      • 依据不同的 UID 规范出提示字符 (就是 PS1 变量);
      • 呼叫 /etc/profile.d/*.sh 的配置

      /etc/bashrc 是 CentOS 特有的 (其实是 Red Hat 系统特有的)

      [root@www ~]# cat ~/.bashrc
      # .bashrc
      
      # User specific aliases and functions
      alias rm=‘rm -i‘             <==使用者的个人配置
      alias cp=‘cp -i‘
      alias mv=‘mv -i‘
      
      # Source global definitions
      if [ -f /etc/bashrc ]; then  <==整体的环境配置
              . /etc/bashrc
      fi
      

source 配置文件档名:使配置文件立刻生效

范例:将家目录的 ~/.bashrc 的配置读入目前的 bash 环境中
[root@www ~]# source ~/.bashrc  <==底下这两个命令是一样的!
[root@www ~]#  .  ~/.bashrc

其他相关配置文件

  • /etc/man.config:规范了使用 man 的时候, man page 的路径到哪里去寻找
  • ~/.bash_history:默认的情况下, 我们的历史命令就记录在这里
  • ~/.bash_logout:记录了:注销 bash 后,系统会执行完相应操作后才离开

BashShell的操作环境

标签:pat   block   定义   外部   命令行   目录   账号   转义字符   lock   

原文地址:https://www.cnblogs.com/ananing/p/14054003.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!