bash的一些基础特性(复习)

(一)bash的基础特性:

           1.命令历史:history

                        -d:删除历史中指定的命令

                        -c:清空历史

                        history #:显示历史中最近的#条命令

            2.调用历史命令:

                         !#:重复执行第#条指令

                         !!:上一条命令

                         !name:调用历史中最近一个以name开头的命令

                         ctrl+p:上一条命令

           修改环境变量值的方式:export     

                    如:export HUSTCONTROL="ignoredups"

                             

                     如:export name="值”

3.命令,路径补全:按TAP,不是唯一时,再按一次TAP,出现补全列表

4.命令行展开:

                    ~:展开为user的主目录

                    ~USERNAME:展开为指定user的主目录

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

            比如:创建/tmp目录下的:a_c, a_d, b_c, b_d目录,a_c目录下的a_c, a_d, b_c, b_d文件。

         bash的一些基础特性(复习)_第1张图片bash的一些基础特性(复习)_第2张图片

(二)bash的基础特性:

             1.命令别名:alias

bash的一些基础特性(复习)_第3张图片

alias NAME="VALUE"     :定义别名name,相当于执行命令value

note:定义别名,仅对当前shell进程有效。如果想永久有效,要定义配置文件。

           仅对当前user:~/.bashrc

           对所有用户有效:/etc/bashrc

                  撤销别名:unalias

                                        unalias [-a] name [mame.....]

                                          note:如果别名同原命令的名称,则要执行原命令可使用“\COMMAND”

         2.glob(globbing)bash中实现文件名“通配”

                         *:任意长度的任意字符,如:a*b:ab,a123b,a12b(a开头,b结尾)

                         ?:任意单个字符,如a?b:a和b之间只有一个字符,a??b:a和b之间只有两个字符

                         [   ]:匹配指定范围内的任意单个字符,如【0-9】,【a-z】不区分大小写,【A-Z】只大写字母

                         [^  ]:匹配指定范围外的任意单个字符,如【^0-9】,[^a-z],[^0-9 a-z]

  专用字符合集:[:digit:]

                                 [:lower:]:任意数字,相当于0-9

                                 [:upper:]:任意小写字母

                                 [:alpha:]:任意大写字母

                                 [:alnum:]:任意数字或字母

                                 [:space:]:空格

                                 [:punct:]:标点符号

                   

                   bash的一些基础特性(复习)_第4张图片

                   

                   

                   

                   

             3.bash的I/O重定向及管道 

                            输出重定向

                        COMMANO > NEW_POS :覆盖重定向,目标文件中的原有内容会被清除

                        COMMANO >> NEW_POS :追加重定向,新内容会追加至文件尾部

                        bash的一些基础特性(复习)_第5张图片

                       bash的一些基础特性(复习)_第6张图片

                            set -C:禁止将内容覆盖输出至已有文件中

                            >|:强制覆盖

                            set -C:关掉

  标准输出和错误输出各自定向至不同位置

                            COMMAND > /path/to/file.out 2> /path/to/error.out

  合并标准输出和错误输出为同一个数据流进行重定向

                          &>:覆盖重定向

                          &>>:追加重定向

                     bash的一些基础特性(复习)_第7张图片

输入重定向:<

               tr命令:转换或者删除字符

                         tr [OPTION] ........ SET  [SET2]

                       bash的一些基础特性(复习)_第8张图片

HERE Documentatio:<<

               cat << EOF

               cat > /path/to/somefile << EOF

                                     bash的一些基础特性(复习)_第9张图片

管道:COMMAND1 | COMMAND2 | COMMANOD3 | ........

      note:最后一个命令会在当前shell进程的子shell进程中执行

      tee命令:tee [OPTION] ......[FILE].......             一个输入两个输出

                             bash的一些基础特性(复习)_第10张图片

                                   note:tee是强覆盖的输出

       4.bash提供了编程环境

                 bash脚本:文本文件

                        #! /bin/bash                  #! /esr/python

                        #! /usr/bin/perl

                 逻辑运算:

                          与(&&):1         1      =1

                                         1         0      =0

                                         0         1      =0

                                         0         0      =0

                           或(||):1          1     =1

                                          1           0     =1 

                                          0           1     =1

                                          0           0     =0

                           非(!):1    =  0

                                            0    =  1

                 短路运算:

                           与(&&):第一个为0,结果必定为0

                                              第一个为1,第二个必须参与运算

                          或(||):第一个为1,结果必定为1

                                          第一个为0,第二个必须参与运算

                     bash的一些基础特性(复习)_第11张图片

              来做个简单的脚本

                    

                    

                   还可以这么改把创建用户当变量

                   bash的一些基础特性(复习)_第12张图片

总结:不在学习中爆发,就在学习中灭亡,加油!加油!加油!



你可能感兴趣的:(bash的基础特性,重定向,管道,初识脚本)