Vim、Shell小結(jié)

管道符、重定向

  • 管道符 "|":將前一個命令的標(biāo)準(zhǔn)輸出當(dāng)作后一個命令的標(biāo)準(zhǔn)輸入
  • 輸入輸出重定向:>與<
  • 命令行通配符: *:匹配0或多個字符 ?:匹配任意單個字符 [0-9]:匹配范圍內(nèi)的數(shù)字 [abc]:匹配其中的字符
  • PATH變量:負(fù)責(zé)告訴bath要執(zhí)行的命令存放在哪里 查看當(dāng)前PATH變量:echo $PATH
  • 環(huán)境變量:除$PATH外,還有$HOME、$SHELL、$LANG、$RANDOM等等

Vim

  • 命令模式:HJKL控制光標(biāo)移動、dd刪除(剪切)該行、yy復(fù)制該行、p粘貼、u撤銷、/字符串:搜索字符串
  • 輸入模式:命令模式下按a、i、o進(jìn)入輸入模式,Esc回到命令模式
  • 末行模式::w->保存、:q->退出、:q!->強(qiáng)制退出、:wq保存并退出、:set nu->顯示行號

Shell

1、腳本聲明:#!/bin/bash ->告知系統(tǒng)用何種解釋器來解釋 ps:解釋器有bash、dash、等
2、注釋信息:以#開頭的為注釋信息
3、可執(zhí)行語句:
4、文件名以.sh結(jié)尾

  • 執(zhí)行shell腳本三種方法:
    1、腳本文件路徑:./Example.sh
    2、sh 腳本文件:sh Example.sh
    3、source 腳本文件:source Example.sh
  • 若直接訪問腳本路徑方式出錯,則為腳本添加可執(zhí)行權(quán)限:chmod u+x Example.sh
  • 接收參數(shù):./Example.sh one two three ...

  • Shell預(yù)定義變量:

  • $0->當(dāng)前腳本名、$1-9->對應(yīng)參數(shù)位置的變量、$#->參數(shù)總數(shù)、$*所有位置變量的值、$?->判斷上條命令是否執(zhí)行成功 0為成功 非0失敗

  • 測試語句:文件測試、邏輯測試、整數(shù)值比較、字符串比較

  • 格式:[ 條件表達(dá)式 ] ps:兩邊要有空格

1、文件測試:[ 操作符 文件名或目錄名 ]

  • 參數(shù):-d->是否為目錄、-e->文件或目錄是否存在、-f->是否為文件、-r、-w、-x->測試當(dāng)前用戶是否有讀、寫、執(zhí)行權(quán)限

2、邏輯測試:[ 表達(dá)式1 ] 操作符 [ 表達(dá)式2 ]

  • 操作符: &&->邏輯與 ||->邏輯或 !->邏輯非
  • eg:[ $USER!=root ] && echo "user" || echo "root" :若當(dāng)前用戶不是root則打印user否則打印root

3、整數(shù)值比較:[ 整數(shù)1 操作符 整數(shù)2 ]

  • 操作符:-eq->是否等于、-ne->是否不等于、-gt->是否大于、-lt->是否小于、-le->是否小于或等于、-ge->是否大于或等于

  • eg:FreeMem='free -m' | grep cache: | awk '{print $3}' 使用命令輸出結(jié)果對變量賦值時要用反引號`

4、字符串比較:[ 字符串1 操作符 字符串2 ]

  • 操作符: =->比較字符串內(nèi)容是否相同 !=->不同 -z->是否為空 [-z $String]

  • 條件測試:if、for、while

  • 1、if 2、for 3、while 4、case

      if [...]            for 變量名 in 取值列表     while 條件測試操作        case 變量值 in 
          then            do                          do                      模式1
          ...             ...                         ...                         命令序列1...
          else            done                        done                        ;;
          ...                                                                 模式2
      fi                                                                          命令序列2...
                                                                                  ;;
                                                                              *)
                                                                              esac
    
  • 計劃任務(wù):一次性與長期

  • 1、一次性計劃任務(wù):at指令

      at <時間> :安排一次性任務(wù)
      atq或at -l :查看任務(wù)列表
      at -c 任務(wù)編號 :預(yù)覽任務(wù)與設(shè)置環(huán)境
      atrm 任務(wù)編號 :刪除任務(wù)
    
  • 2、長期性計劃任務(wù):cron指令

      crontab -e [-u 用戶名]:創(chuàng)建、編輯計劃任務(wù)
      crontab -l [-u 用戶名]:查看計劃任務(wù)
      crontab -l [-u 用戶名]:刪除計劃任務(wù)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,653評論 19 139
  • Ubuntu的發(fā)音 Ubuntu,源于非洲祖魯人和科薩人的語言,發(fā)作 oo-boon-too 的音。了解發(fā)音是有意...
    螢火蟲de夢閱讀 100,747評論 9 468
  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經(jīng)改了很多 但是錯誤還是無法避免 以后資料會慢慢更新 大...
    數(shù)據(jù)革命閱讀 13,269評論 2 33
  • 運(yùn)動,貴在每天堅持 文 / 知了夢 今晚的飯局上,唯獨(dú)我一位女性,大伙心情不錯,除了我與同事情況特殊外,都喝了點小...
    知了夢閱讀 318評論 0 1
  • 顧久享廠長來電話,談文集情況,我叫他做一張扉頁。我說,再看看,下午正式定稿。顧說,20日交書較緊張,可能要加班。 ...
    黃葉村人閱讀 301評論 2 3

友情鏈接更多精彩內(nèi)容