bash复习笔记


Bash特性之一:

1、命令行展开:能够把一个特殊字符换成别的字符
    {,}展开为多个条目,例如 mkdir /home/{od,a,b} (注意不能有空格)
2、文件和目录管理类的命令
      目录:
      cd ~[username]
      ~:指定用户的家目录
      cd -:回到上一次所在的目录
    路径:
     相对路径中:
     .:当前目录
     ..:父目录
    pwd: print working directory 显示当前目录
    mkdir:创建目录
    -p:先创建父目录
    -v:显示详细信息
    rmdir:删除空目录
     -p:只能删除一线单的目录
    
3、shell的引用:
    ‘’:强引用,变量替换不会进行
    "":弱引用,能够执行变量替换
    ``:命令替换,引用命令的执行结果,另外一种方式$()
    变量替换:${变量名}
    echo 显示


Bash的特性之二:命令历史

1、bash默认会保持此前执行过的命令列表
    当前shell进程的保存在缓冲区中,缓冲区中的命令会在shell退出的保存在文件中 .bash_history。
    可以使用上下箭头键可以翻看此前执行过的命令。
    history:
        !数字:执行history中第数字条的命令
        !!:上一条命令
        !-数字:表示执行命令列表中的倒数第数字条命令
        !$:执行上个命令中的最后一个参数:ESC,.
        !string:执行命令列表中的最近一次以string开头的命令
        -d 数字 删除第数字条记录
        -c 清空history列表
        -a:追加当前回话的命令到历史列表中去
        -n:读取所有在回话列表中的 但是不在当前回话列表中的
2、命令历史相关的环境变量
    HISTSIZE:历史命令中可以保存的个数
    HISTFILE: 历史命令保存的文件
    HISTFILESIZE:历史文件中可以保存的命令个数
    HISTCONTROL:控制命令历史的生成机制
            ignoredups:忽略记录重复的命令,连续的相同命令
            ignorespace:以空格开头的命令不会被记录
             ignoreboth:同时具有上面两种特性

    补充点:
    1、Linux文件系统的另一个特性:以点开头的文件为隐藏文件 通过ls -a 查看
    2、shell中的变量赋值
         注意:    1、变量在赋值是不能再前面带$
                2、变量名只能包含字母、数字和下划线,并且不能以数字开头
                3、变量名区分大小写
                4、尽量能见名知义

Bash的特性之三:命令别名
    alias:当前shell中定义的所有别名(任何随进程而生的属性,会在进程结束,属性消失)
    命令使用:
      alias 别名=‘原始命令’
      unalias 别名 取消定义的别名
     在命令前加使用命令本身,而不是别名


Bash特性之四:常用命令
    1、file FILE..:查看文件内容的格式
    2、cat:将文本连接起来显示在标准输出上
      -E --show-ends 显示结束符$
      -e:等于-vE
      -v:显示非打印符
      -n:显示每行按顺序编号
      -s:将多个连续的空白行合并显示一个空白行
    3、tac:逆序显示文件 (分屏显示)
    4、more:只支持向后翻(文件尾部以后)
    5、less:支持前后翻
    6、head:
        -n #:显示前多少行
    tail
        -n # 显示后多少行
        -f:实时监控文件尾部变化

    7、 echo命令的用法:
       -e  “处理特殊字符”
        a 发出警告声;
         删除前一个字符;
        c 最后不加上换行符号;
        f 换行但光标仍旧停留在原来的位置;
         换行且光标移至行首;
         光标移至行首,但不换行;
         插入tab;
        v 与f相同;
        \ 插入字符;
         nn 插入nnn(八进制)所代表的ASCII字符;