zoukankan      html  css  js  c++  java
  • linux的学习之路--(五)bash及其特性

    操作系统组成作用shell是离用户最近的程序

    shell:外壳

      两类  

        GUI:Gnome,KDE,Xfce

        CLI:sh, csh,ksh,bash(都是程序,就是功能支持的不同而已)

      进程:在每个进程看来,当前主机只存在内核和当前进程

      进程是程序的副本,进程是程序执行实例

      

      不同的用户,登陆系统的时候可以使用同一个shell,也可以使用不同的shell  

      同个用户,多次登陆系统也可以使用不同的shell

      用户工作环境时可以各不相同

     bash:

      1.命令历史

      2.管道,重定向

      3.命令别名

      4.命令行展开

      5.命令行编辑

        光标跳转

          ctrl+a:跳到命令行首

          ctrl+e:跳到命令行尾

          ctrl+u:删除光标至命令行行首的内容

          ctrl+k:删除光标至命令行行尾的内容

          ctrl+l:清屏

        命令历史:

          history

            -c:删除缓存区中的历史命令

            -d:删除第500个 history -d 500

                     history -d 500 10 从第500个开始删除10个

            -w:将缓存去的命令写入文件

        环境变量:

          PATH:命令搜索路径

          HISTSIZE:命令历史大小,缓存去大小

        命令历史命令的使用技巧

          !n:执行命令历史中的第n条命令

          !-n:执行命令历史中倒数第n条命令

          !!:执行上一条命令

          !string:执行命令历史中最近一个以指定字符串开头的命令

    定义别名

      alias CMDALIAS='COMMAND [options] [arguments]'

      在shell中定义的别名仅在当前shell生命周期有效,别名的有效范围仅为当前的shell进程

    取消别名

      unlias CMDALIS

    命令替换

      $(COMMAND),反引号 `COMMAND`

      把命令中某个子命令替换为其执行结果的过程

      echo "The current directory is $(pwd))"

      touch ./file-$(date +%F-%H-%M-%S).txt

    bash支持的引号

      ``:反引号,命令替换

      "":双引号,弱引用,可以实现变量替换

      '':单引号,强引用,不完成变量替换

    文件名通配:

      man 7 glob

      globbing

      *:任意长度的任意字符

      ?:匹配任意单个字符

      []:匹配指定范围内的任意单个字符

        [abc],[a-m],[a-z],[A-Z],[0-9],[a-zA-Z]

        [^0-9]*:所有非数字开头的文件

        [0-9a-zA-Z]:表示以数字或者大写字母或者小写字母开头的文件

        [^]:匹配指定范围之外的任意单个字符

        [:space:]:表示所有的空白字符

        [:punct:]:标点符号

        [:lower:]:小写字符

        [:upper:]:大写字母

        [:alpha:]:大小写字母

        [:digit:]:数字

        [:alnum:]:数字和大小写字母

        [[:alpha:]]*[[:space:]]*[[:alpha:]]:字母开头,字母结尾,中间有空白字符

      6.文件名通配

      7.变量

      8.编程

  • 相关阅读:
    2019.2.19 区块链论文翻译
    2019.2.18 区块链论文翻译
    2019.2.15 区块链论文翻译
    2019.2.14 区块链论文翻译
    #在蓝懿学习iOS的日子#Day7
    #在蓝懿学习iOS的日子#Day6
    #在蓝懿学习iOS的日子#第二个练习日
    #在蓝懿学习iOS的日子#Day5
    #在蓝懿学习iOS的日子#第一个练习日
    #在蓝懿学习iOS的日子#Day3
  • 原文地址:https://www.cnblogs.com/yanzifamily/p/6520393.html
Copyright © 2011-2022 走看看