Linux shell編程命令-Linux基礎環境命令學習筆記

來源:互聯網
上載者:User

標籤:conf   profile   存在   天前   else   passwd   lis   間隔   時鐘   

1、Regex

    1)^開始  *前一個字元重複0次以上

           +       1次以上

           ?        0次或者1次

          .  一個任一字元(.*連用)

          {m,n}      m到n次

          [0-9][a-z]    任一數字或字母

      $結束字元

    2)sed和awk命令

        sed ‘匹配條件/執行的動作‘ /etc/passwd  sed ‘s/old/new/g‘

        awk -F: ‘{print $1}‘ /etc/passwd    1表示第一列,2表示第二列  -F:表示分隔字元為:

2、變數

    1)環境變數  系統內容變數(/etc/profile)  使用者環境變數(/home/使用者名稱/.bash_profile)

        set查看

    2)位置變數  $0-9

        $0  指令碼名稱

        $1-9  位置參數

    3)預定義變數

        $!  後台啟動並執行最後一個進程的PID號

        $?  程式退出的代表(0成功)

        $*  所有參數的內容

        $$  當前進程的ID號碼

        $#  當前shell的參數個數

        [email protected]  所有參數內容(逐個讀取)

    4)自訂變數

        name=[value]  ps:等號兩邊不能有空格,變數名對大小敏感

        $變數名  取值

3、算術運算

    + - * / %

    $((運算式))

    $[運算式]

    expr expression  expr 5 + 2  變數間有空格

4、內建測試判斷

    Test 測試運算式

    [ 測試運算式 ]  ps:測試運算式與[]間一定有空格

    數值比較    

      -lt  小於  ex:test &a -lt &b  echo $?

      -gt  大於

      -eq  等於

      -ne  不等於

      -le  小於等於

      -ge  大於等於

    字串測試

      =  等於

      !=  不等於

      -z 字串  字串長度偽(為0)則真

      -n 字串  字串長度不偽則真

    檔案測試

      -e 檔案名稱  檔案存在則真

      -r 檔案名稱  檔案存在且可讀為真

      -w 檔案名稱  可寫

      -x 檔案名稱  可執行

      -s 檔案名稱  檔案中至少存在一個字元

      -d 檔案名稱  檔案存在且為目錄

      -f 檔案名稱  檔案存在且為普通檔案

    !(非)>>-a(與)>>-o(或)

5、命令間的邏輯符合

    &&  邏輯與

      cmd1 && cmd2  cmd1執行成功才執行cmd2

    ||  邏輯或

      cmd1 || cmd2  cmd1失敗了才執行cmd2

    ;  無邏輯關係

6、常用命令

    date -s "2016-04-12 15:20:13"  修改系統時間

    date ‘+Y%m%d‘  按照年月日格式輸出系統時間

    date -d ‘7 day ago‘ ‘+Y%m%d‘  輸出7天前的時間

 7、取字串

    ${變數名:offset:length}       echo ${a%.*}

8、書寫規範

    #!/bin/bash    聲明運行環境

    運行方式    a.賦予許可權直接運行

            b.通過運行環境運行  bash 1.sh  sh 1.sh

            c.  . 1.sh  source 1.sh

9、控制語句

    1)for語句

        a.  for 變數 in 值1 值2...值N    變數依次取值1...值N

            do

            命令集合          {1..50}  `seq 50`  取值1到50

            done

        b.  for((初始設定變數;結束迴圈條件;變數運算))

    2)while迴圈

        a.  while [ 條件 ]        let i=i+1---i=$[i+1]  i自增1

        b.  while read -r line

            do

            echo $line

            done < /etc/passwd      從路徑中逐行讀取並賦值給line

    3)if語句

        if 條件

        then

          命令序列

        elif 條件

        then  

          命令序列

        else

          命令序列

        fi

    4)case語句

        a.  case $變數名稱 in

            條件1)

                  命令序列

                  ;;

            條件2)

                  命令序列

                  ;;

            *)                  以上都不滿足

            esac

10、函數

    a.  name(){

        命令序列

        }

    b.  function name{

        命令序列

        }

11、計劃任務

    1)一次性計劃任務

      at 時間        ctrl+d結束輸入

      at -l  列出當前計劃任務

    2)周期性計劃任務  service crond start(status,restart)

        a.開機自啟動

            chkconfig --list  列出系統服務是否開機自啟動(3和5)

        b.制定計劃任務內容

            crontab -e(ENTER)  >>  進入vi命令

            時間和命令  分 時 日 月 周(沒有用*代替  -表示連續時間  ,表示若干不連續時間  /表示間隔時間) cmd命令    */10 * * * * ntpdate 時間伺服器IP 每10分鐘同步一次時鐘

        c.重啟服務  service crond restart

Linux shell編程命令-Linux基礎環境命令學習筆記

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.