shell基础

Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。

1.常用类别:Bourne shell(sh)、C shell(csh)和Korn shell(ksh)。

2.echo:   echo -e  #-e为特殊字符特殊处理            
         (table键) (换行) x(十六进制)
        echo -e "e[1;32m hello world e[0m"

3.脚本的执行:vim hello.sh
                #!/bin/bash
                  echo -e "e[1;32m hello boy e[0m"
            chmod 755 hello.sh      #赋予执行权限
            ./hello.sh                #当前目录下的hello.sh文件
         或者:  bash hello.sh     

4.别名:alias
        vi ~/root/.bashrc    #写入环境变量配置文件
        source    .bashrc      #永久生效
      unalias    别名         #删除别名

5.快捷键:ctrl+c        强制终止当前命令
        ctrl+l        清屏
        ctrl+a        光标移到命令行首
        ctrl+e        光标移到命令行尾
        ctrl+u        光标所在位置删除到行首
        ctrl+z        把命令放入后台
        ctrl+r        在历史命令中搜索

        history
              !n    #n指代执行的哪个命令
              !!    #前一条命令
              !字串  

6.输出重定向:    命令 > 文件     #覆盖
               命令 >> 文件    #追加
             命令>>文件      #错误输出

             命令 >> 文件 2>&1          #正确错误都输出同一文件
             命令 &>>文件                  #同上
             命令>>文件1 2>>文件2    #正确追加到文件1,错误追加到文件2

7.统计命令:      wc
              ctrl + d
              wc 文件名       #统计文件

        

    分别为:行数 单词数 字节数 文件名
              wc << XXX       #XXX作为标记,到此为止


8.多命令顺序执行:    
              ;    #只是连接多个命令
              &&    #前一个命令正确执行,后一个才会执行
              ||    #命令一不正确执行,后一个才执行
              命令 && echo yes || echo no    #判断命令是否正确执行

9.管道符:     命令1 | 命令2        #命令2能操作命令1
            ls -l /etc | more

10.通配符:         ?        #任意一个字符
              *        #任意多个字符
              [0-9]   [^0-9]
        
              aa=123   #变量赋值

          echo $aa              #变量值
              ''    echo '$aa'      #字符串$aa
              ""    echo "$aa"      #变量值
              ``    aa=`ls`或 aa=$(ls)  #赋命令执行结果     
                      #转义符

原文地址:https://www.cnblogs.com/Dleo/p/5670527.html