zoukankan      html  css  js  c++  java
  • BASH操作环境的一些笔记

    首先,登陆的shell分为

    • login 与 non-login shell
      • login shell:取得 bash 时需要完整的登陆流程的,就称为 login shell。举例来说,你要由 tty1 ~ tty6 登陆,需要输入用户的账号与密码,此时取得的 bash 就称为『 login shell 』啰;

      • non-login shell:取得 bash 接口的方法不需要重复登陆的举动,举例来说,(1)你以 X window 登陆 Linux 后, 再以 X 的图形化接口启动终端机,此时那个终端接口并没有需要再次的输入账号与密码,那个 bash 的环境就称为 non-login shell了。(2)你在原本的 bash 环境下再次下达 bash 这个命令,同样的也没有输入账号密码, 那第二个 bash (子程序) 也是 non-login shell 。

    login执行的脚本为

    1. /etc/profile:这是系统整体的配置,你最好不要修改这个文件;
    2. ~/.bash_profile 或 ~/.bash_login 或 ~/.profile:属于使用者个人配置,你要改自己的数据,就写入这里!

         login shell 的配置文件读取流程
              图 4.3.1、login shell 的配置文件读取流程

    non-login shell:

    • ~/.bashrc (non-login shell 会读)

    谈完了 login shell 后,那么 non-login shell 这种非登陆情况取得 bash 操作接口的环境配置文件又是什么? 当你取得 non-login shell 时,该 bash 配置文件仅会读取 ~/.bashrc 而已啦!那么默认的 ~/.bashrc 内容是如何?

    [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
    

    特别注意一下,由于 root 的身份与一般使用者不同,鸟哥是以 root 的身份取得上述的数据, 如果是一般使用者的 ~/.bashrc 会有些许不同。看一下,你会发现在 root 的 ~/.bashrc 中其实已经规范了较为保险的命令别名了。 此外,咱们的 CentOS 5.x 还会主动的呼叫 /etc/bashrc 这个文件喔!为什么需要呼叫 /etc/bashrc 呢? 因为 /etc/bashrc 帮我们的 bash 定义出底下的数据:

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

    你要注意的是,这个 /etc/bashrc 是 CentOS 特有的 (其实是 Red Hat 系统特有的),其他不同的 distributions 可能会放置在不同的档名就是了。由于这个 ~/.bashrc 会呼叫 /etc/bashrc 及 /etc/profile.d/*.sh , 所以,万一你没有 ~/.bashrc (可能自己不小心将他删除了),那么你会发现你的 bash 提示字符可能会变成这个样子:

    -bash-3.2$ 

    不要太担心啦!这是正常的,因为你并没有呼叫 /etc/bashrc 来规范 PS1 变量啦!而且这样的情况也不会影响你的 bash 使用。 如果你想要将命令提示字符捉回来,那么可以复制 /etc/skel/.bashrc 到你的家目录,再修订一下你所想要的内容, 并使用 source 去呼叫 ~/.bashrc ,那你的命令提示字符就会回来啦!

  • 相关阅读:
    vue 解决 打包完iE下空白
    多层josn数据 修改
    vue 初始化data中的数据
    图片查看器(缩放 拖动)
    js 懒加载
    css flex 兼容ios android--商品展示 添加购物车
    领域驱动架构(DDD)建模
    知乎复制文本
    Nlog配置文件
    未能加载文件或程序集“xxx”或它的某一个依赖项。生成此程序集的运行时比当前加载的运行时新,无法加载此程序集
  • 原文地址:https://www.cnblogs.com/aguai1992/p/4660599.html
Copyright © 2011-2022 走看看