bash特性详解 课堂笔记

来源:互联网 发布:邓丽君 知乎 编辑:程序博客网 时间:2024/05/29 18:59

.bash及其特性

   1.每一登陆的用户拥有各自独立的shall

   2.进程:

         1).每个进程都感觉他独立占有计算机

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

         3).进程拥有生命周期

  3.shell可以执行子shell,用exit退出。父shell和子shell互相也不知

  4.pstree查看

  5.shell的设定不影响子shell,反之亦然

  6.shell容许用户设定自己的工作环境,支持如下功能:

     1).命令历史

     2).支持管道,重定向

     3).支持命令别名

     4).支持命令行编辑

     5).支持命令行展开

     6).文件名通配

     7).支持变量

     8).支持编程(脚本)

.bash的特性

   1.命令行编辑

       1).命令行光标跳转:

             Ctrl + a:跳到行首

             Ctrl + e:  跳到行尾

             Ctrl+d:逐个删除光标后面的字符

             Ctrl + u:  删除光标至行首的内容

             Ctrl+k:删除光标至行尾的内容

             Ctrl+l:清屏

   2.命令历史

         1).光标上下键查看

         2).history命令,带着行号显示历史命令

                   -c:清空命令历史

                   -d Line number,number:删除第Line number 后面共number

                   -w:保存命令历史到历史文件中

         3).用户正常退出后执行,执行的命令被更新到home目录下的隐藏文件bashhistory

         4).HISTSIZE环境变量存储可以存储的命令数量,用echo $history查询

         5).命令历史使用技巧:

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

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

                > !!:   执行上一条命令

                > ! String:执行历史中最近一条以string开头的命令

                > !$:引用上一个命令的最后一个参数(用Esc后按.或者Alt+.实现相似的功能)

 3.命令补全(从PATH环境变量中搜索)

           1).敲一次tab键,补全正在写的命令

           2).敲两次tab键,显示以当前字符开头的所有命令

           3).路径补全,在给定的路劲下查找

  4.命令别名

         指定别名: alias 命令别名=‘命令+选项’

         撤销别名: unalias别名

          注:

                1).定义的别名只在当前shell的生命周期中有效

                2).把定义的别名写到shell的配置文件中,即可实现永久有效

                3).别名与命令本身相同的,用\实现只执行命令本省

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

           方式一: $(COMMAND)

           方式二:反引号·COMMAND`

            eg:echo "The cunrrent directory si$(pwd)."

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

       

         bash中的引号功能:

           1).反引号··:命令替换

           2).双引号  ""   弱引用,可以实现变量替换

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

        文件统配

           1). *:任意长度的任意字符

           2).? :任意的一个字符

           3).[ ] :匹配指定范围内的任意字符

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

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

                  [:lower:]:小写字母

                  [:upper:]:大写字母

                  [:alphe:]:字母列表

                  [:digit:]:数字

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

                 注:可以用man 7 glob查看上述列表

           4).[^]:匹配不在指定范围内的任意字符

0 0
原创粉丝点击