Linux入门10-bash基础特性

bash的基础特性

    命令行展开


            ~:自动展开为用户的家目录,或指定用户的家目录

            { }:可承载一个以逗号分隔的路径列表,并能够将其展开为多个路径

      tree命令:

          -L level:制定显示的层级:


  bash的基础特性:命令的执行状态结果

          成功:0

          失败:1-255

    命令执行完成之后,其状态返回值保存于bash的特殊变量$?中

      命令正常执行时,有的还会有命令返回值

          根据命令及其功能不同,结果各不相同

        引用命令的执行结果


              $(cmd)或‘cmd’

      bash的基础特性:引用

          强引用:‘’不做替换

          弱引用:“”

          命令引用:反引号


bash基础特性:快捷键


        Ctrl+a  跳转至命令行行首

        Ctrl+e  跳转至命令行

        Ctrl+u  删除行首至光标所在处之间的所有字符

        Ctrl+k  删除光标所在处至行尾的所有字符

  globbing:文件名通配

    匹配模式:元字符

              *:匹配任意长度的任意字符

            ?:匹配任意单个字符

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

                  有几种特殊格式   

                [a-z],[A-Z], [0-9]

                  [[:upper:]]:所有大写字母

                  [[:lower:]]:所有小写字母

                  [[:alpha:]]:所有字母

                  [[:digit:]]:所有数字

                  [[:alnum:]]:所有字母和数字

                    [[:space:]]:所有空白字符

                    [[:punct:]]:所有标点符号

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

IO重定向及管道

    程序:指令+数据

            程序:IO

            可用输入的设备:键盘,文件

                          键盘设备、文件系统上的常规文件,网卡等;

            可用于输出的设备,文件

                            显示器,文件系统上的常规文件,网卡等

              程序的数据流有三种:

                        输入的数据流:<--标准输入(stdin),键盘

                        输出的数据流:-->标准输出(stdout),显示器

                        错误输出流: -->错误输出(stderr):显示器


        fd:file descriptor,文件描述符

                    标准输入:0

                    标准输出:1

                    错误输出:2

        IO重定向:

                    输出重定向:>

                        特性:覆盖输出

                  输出重定向:>>

                      特性:追加输出

              #set -C  禁止覆盖输出重定向至已经存在的文件

                      此时可使用强制覆盖输出:>|

              #set +C关闭上述特性

                    错误输出流重定向:2>, 2>> 

            合并正常输出流和错误输出流

                              1、  &>,&>>

                              2、cmd > /path/to/samefile 2>&1

                                    cmd >> /path/to/samefile 2>&1

      特殊设备:/dev/null   


            输入重定向:<

                          tr命令:

                            tr  [OPTION]... SET1 [SET2]

                              把输入的数据当中的字符,凡是在SET1定义范围内出现的,统统对位转换为SET2出现的字符

              用法1、tr      SET1  SET2  /PATH/TO/SOMEFILE << EOF

          管道:连接程序,实现将前一个命令的输出直接定向后一个程序当做输入数据流



        tee命令:

                  cmd | tee /path/to/somefile

你可能感兴趣的:(Linux入门10-bash基础特性)