bash介绍、输入重定向和grep指令

 shell外壳:GUI:Gnome、KDE、Xface 

                 CLI:sh、csh、ksh、bash、tcsh。zsh

    程序:

    进程:进程是程序的副本,是程序执行的实例,每个进程认为他执行的当前程序只支持它自己。,每个进程只看到内核和当前进程,它看不到这个程序的其它进程。  

    shell 支持子shell,并且子shell可以不是与父不是同一种shell

    bash特性:1、命令历史

                     2、管道、重定向

                     3、命令别名

                     4、命令行编辑

                     5、命令行展开

                     6、文件名统配

                     7、变量

                     8、编程

1、命令行编辑:

    光标移动:Ctrl+a :跳到行首。

                     ctrl+e:跳到行尾

                     ctrl+d:删除光标处字符

                     ctrl+u:删除光标处到行首

                     ctrl+k:删除光标处到行尾

                     ctrl+(左右键盘):一次移动一个单词

                     ctrl+l:清屏


    2、历史命令:history:查看历史命令

                         -c:清空历史记录

                         -d:删除特定某行,或者连续的几行的命令

                         -w:将缓冲区的命令写至历史文件

                         .bash_history:记录操作历史记录

     环境变量:HISTSIZE:history环境变量,默认为1000个

     命令历史的使用记录:上下箭头

                                     !数字:执行历史命令中的第N条命令。

                                     !-数字:执行历史命令中的倒数第N条命令。

                                     !!:执行上一条命令

                                     ! string:执行最后一次与string想匹配的命令

                                     !$:引用上面最后一个命令的最后一个参数。

                                      esc 松开点。

                                      alt+.  都是引用上一个命令的最后一个参数

    命令不全:在path环境变量下搜索补全。

    路径补全:在目录下查找并不全命令


命令别名:alias:仅在当前shell生命周期中有效

    alias  名字=“命令 可以加参数”

    alias:显示当前所有别名

    撤销:unalias


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

   echo  “ the  corrent directory is $(pwd).”


[root@LAB1 ~]#  echo  “he  corrent directory is $(pwd).”
the corrent directory is /root.”

 

时间格式:+%F-%H-%M-%S

命令替换:$(命令) 或者`命令`


bahs中的引号

··:命令替换(!前面的那个反引号)

“”:弱引用,可以实现变量替换

‘’:单引号,强引用,不能实现变量替换。


文件名通配:globbing

*:任意长度的任意匹配

?:单个字符的任意匹配

[]:制定范围内的任意匹配

[^]:制定范围外的任意匹配

[:space:]:空格字符

[:punct:]:标点符号

[:lower:]:小写字符

[:upper:]:大写字符

[:alpha:]:大小写字符

[:digit:]:数字

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

[^[:alpha:]]:非字母

 


 

系统设定:默认标准输入设备:标准输入: STDIN:键盘:0

                    默认标准输出设备:标准输出:STDOUT:屏幕显示器:1

                    默认错误输出:STDERR:屏幕:2:

    I/O重定向

    输出重定向:> 追加输出 : >>

    输入重定向:<

    例如:ls  /var > /tmp/aaa.out

    2>:错误输出重定向

    2>>:追加的方式实现错误输出重定向。

    例如:ls  /varr  2>  /tmp/err.out

              ls  /var  > /tmp/aab.out  2> /tmp/erra.out

    &> :重定向标准输出或者错误输出到同一个文件中

    ls  /varrr  &> /tmp/aac.out


    字符转化:tr

    tr  'a-z'  'A-Z'   < /tec/fstab

    <<  :在此处生成文档(输入结束)

    << EOF 或 <<END

     cat >> /tmp/myfile.txt  <<EOF    键盘输入的文件保存在myfile文档中


    管道命令:   命令1|命令2|命令3

    echo  "Hello word" |tr  'a-z'  'A-Z'

    cut  -d : -f1 /etc/passwd /sort -n


    tee:多重管道

     echo  ‘hello  word ’  |tee  /tmp/a.out.     hello word即输出到屏幕也输出到a.out文档中


文本查找:grep  egrep   fgrep

        grep:Global Research  根据某种模式去搜索文本,并将符合模式的文本输出

        moshi:pattern:文本字符和正则表达式的元字符组成的匹配条件

        grep: -i:忽略大小写

                   --color:匹配上的颜色显示

                   -v:反向查找(显示没有匹配上的)

                   -o:只显示匹配上的字符串

                   

      正则表达式:Regular Expression   REGEXP

      本地元字符:.:匹配任意单个字符

                         *:匹配前面的字符任意次

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

                         \?:次数匹配,匹配前面的字符至多一次

                        \{m,n\}:匹配前面的字符至少m次,至多n次。




  系统别的地方的元字符:* :任意长度的多个字符

                   ?:任意单个字符

                   [ ]:制定范围

                   [^]::取反

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章