shell 學習筆記整理(一)

shell腳本地功能--用戶和內核連接的特殊程序。
    編程語言:編譯型和腳本語言(script 。shell就是腳本語言)
shell腳本的類型:
    1.非交互式腳本
    2.交互式腳本
shell編程的基礎:
    1.文本編輯器 vi(vim)當然,shell是純文本,可以使用任何文本編輯器(不要用word)
    2.熟悉linux文件系統的佈局
    3.學習shell的各種功能
        重定向,管道,命令替換,命令聚合
    4.學習各種管理和監視命令的使用
        用戶管理,權限管理,進程管理,包管理,系統監視,網絡監視
    5.學習各種文本文件工具使用:
        cat grep tr sed awk,正則表達式
shell 腳本的格式:
    Sha-Bang(#!)(shell 腳本開始符號的讀法)
    #! /bin/bash  告訴解釋器用什麼工具(或語言)解釋下面的代碼。
    可執行語句和shell控制結構
        一個shell腳本通常由一組linux命令,shell命令,控制結構和註釋語句構成。
    shell腳本是純文本文件,可以使用任何文本編輯器編寫。
    一般默認.sh結尾的後綴名(約定俗成,但是不要誤會,linux沒有後綴名這個東西。一切都是文件)
    命令是shell腳本最基本元素,通常由命令名稱、選項和參數組成
    腳本實例:
        ./test.sh -f config.conf -v --prefix=/home
        -(短選項)與後面連接用空格  --(長選項)和後面用等號連接
    執行:
        第一種方法:授權chmod +x script_name(讓腳本有可執行權限)
            755
        第二種執行方式:通過工具(命令/bin/bash)
            bash
    ; && || 區別
        ; 可同時執行多個命令。並且每個命令都不會對其它命令產生影響。
        && 一般是2個命令連接。如果前一個命令執行成功,纔會執行後一個命令,如果失敗後面的命令就不執行。
        || 一般也是2個命令的連接,如果前一個命令執行不成功,纔會執行後一個命令。
        實例:
        [root@swallow ~]# more test.sh
        #!/bin/bash
        datt;date
        echo
        datt&&date
        echo
        datt||date
        exit 0
    從執行結果理解含義:
        [root@swallow ~]# sh test.sh
        test.sh: line 2: datt: command not found
        Sun Mar 19 06:17:40 CST 2017

        test.sh: line 4: datt: command not found

        test.sh: line 6: datt: command not found
        Sun Mar 19 06:17:40 CST 2017

特殊字符:
    #! 開始的標誌
    ;  多個命令一起連用的分隔符
    [root@swallow log]# echo a;echo b;echo c
    a
    b
    c
    .  多種作用:
        1. 相當與 source 命令
        2. 作爲文件名稱的一部分(隱藏文件名)  (使用ls -a  可以查看linux下面的隱藏文件)
        3.如果作爲目錄名的話,一個單獨的點代表當前工作目錄,兩個點代表上一級目錄。
            一般用於複製的時候使用   $ cp  /usr/local/mysql/* .
        4.在匹配字符的時候用來匹配 任意單個字符
    \ 稱爲轉義符。一種對單字符的引用機制。
    / 文件名稱分隔符  比如 (/usr/local/mysql)
    ``(esc按鍵下面的那個按鍵) 用於引用命令。一般用法:`command` 將結果作爲參數。
    >  >>  |
    覆蓋(重定向) 追加(重定向) 管道符(前面的輸入作爲和麪的輸出)

控制字符:(適用於CRT(連接終端))
    ctrl + L  清屏
    ctrl + U 刪除光標到開頭的字符
    ctrl + K 刪除光標所在位置到行尾的字符
    ctrl + C (break 終結一個前臺作業)
    ctrl + D (和 exit很想。登出一個)
    ctrl + M (回車)
    ctrl + S (掛起。在一個終端中凍結stdin)
    ctrl + Q (恢復。在一個終端恢復stdin
    ctrl + Z (暫停操作)
    ctrl + a (光標移動到行首)
    ctrl + e (光標移動到行尾)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章