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次。




  系統別的地方的元字符:* :任意長度的多個字符

                   ?:任意單個字符

                   [ ]:制定範圍

                   [^]::取反

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