Linux學習筆記(三)——Shell指令碼基礎總結

來源:互聯網
上載者:User

1.      vi編輯器快速鍵備忘
         [Ctrl]+[ud]         向上/下移動半頁
         n<space>          右移n個字元


         H/M/L                移動到螢幕最上方/中央/最下方一行
         u   [Ctrl]+r     複原和重做
         .(點)                   重複前一個動作
         :e!                       將檔案還原到最原始狀態
         [Ctrl]+v              塊選擇
2.      Bash Shell基礎
         env            環境變數
         set             環境變數和其他變數
         export      使變數變成環境變數,在子程式中生效
         read          -p      後接提示字元, -t         等待秒數
         declare     聲明變數的屬性
                            -a      定義為數組
                            -i       定義為整數數字
                            -x      同export,變成環境變數
                            -r      唯讀屬性
         history      查看曆史命令
         /etc/issue         終端介面字串(使用man issue 或 man mingetty 查看特殊代碼的意思
         /etc/motd         使用者登入後擷取訊息
         系統設定值:
                  /etc/sysconfig/i18n          語係數據
                   /etc/profile                         PATH、USER、MAIL、HOSTNAME、HISTSIZE、umask等重要變數,規定讀取其他檔案,如/etc/profile.d和/etc/inputrc等
         登陸Shell:
         使用者登入Linux系統時所取得的那個shell,對應於/etc/passwd裡面的最後一項資料。比如,我想讓使用者atom登陸後直接開啟vi,則在/etc/passwd裡atom對應的那一行最後的一項內容改為/usr/bin/vi就行了。
3.      Linux常用文本處理工具總結
         a)  cut –d ‘分隔字元’ –f fields,取出以“分隔字元”分割的第fields段
                   cut –c 欄位範圍     以字元為單位取出固定的字元範圍
         b)      cat /etc/passwd | sort –t ‘:’ –k 3 –n
                   -t,分隔字元,預設是tab鍵;-k,第幾個欄位;-n,使用“純數字”排序
         c)      其他,wc [-lwm]; uniq [-ic]; tee [-a],雙向重新導向
         d)      字串轉換命令:tr, col, join(合并兩個檔案中相同的資料),paste(直接將兩行貼在一起), expand(將[tab]轉成空格鍵)
         e)      split           拆分檔案
         f)       -(減號)     某些命令需要用到檔案名稱來處理是,stdin與stdout可以利用減號“-”來替代。
4.      awk學習總結
         awk是“以行為單位處理”,而“以欄位為最小的處理單位”。
         變數名稱                   代表的含義
         NF                                每一行($0)擁有的欄位總數
         NR                                當前處理的是“第幾行”資料
         FS                                 分隔字元,預設為空白格鍵
         可以使用BEGIN關鍵詞預先設定awk的變數,如:
         cat /etc/passwd | awk 'BEGIN{FS=":"} $3 < 10 {print $1 "\t" $3}'
         說明:在{}的所有操作,如需多個命令,可用分號(;)分割,或者直接以[enter]按鍵來隔開每個命令。
5.      Shell指令碼的追蹤與調試
         sh [-nvx] scripts.sh
         -n      不執行指令碼,僅查詢文法問題
         -v      在執行指令碼前,先將指令碼的內容輸出到螢幕上
         -x      將使用的指令碼內容顯示到螢幕上,便於調試

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.