zoukankan      html  css  js  c++  java
  • BashShell的操作环境

    20.11.28

    bash 的登录与欢迎信息

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

    常用的转义字符

    • d 本地端时间的日期
    • l 显示第几个终端机的接口;
    • m 显示硬件的等级(i386/i486/i586/i686....)
    • 显示主机的网络名称
    • O 显示 domain name
    • 操作系统的版本 (类似 uname-r)
    • 显示本地端时间的时间
    • 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 后,系统会执行完相应操作后才离开
  • 相关阅读:
    UIimageView和UIimage的小区别
    transform
    block的一些注意事项
    category与协议的不同
    类扩展和category的小区别
    category的概念
    OC中的类扩展
    Java学习 第三章 java基础(三)
    Java学习 第三章 java基础(二)
    Java学习 第三章 java基础(一)
  • 原文地址:https://www.cnblogs.com/ananing/p/14054003.html
Copyright © 2011-2022 走看看