【學習筆記——Linux】認識與學習BASH

來源:互聯網
上載者:User
認識與學習BASHTable of Contents
  • 1 認識Bash
  • 2 Shell的變數功能
  • 3 命令別名與曆史命令
  • 4 Bash shell的作業環境
  • 5 資料流重導向
  • 6 管線命令
1 認識Bash
  • 通過Shell將輸入的指令與Kernel溝通,讓Kernel控制硬體工作
  • 查看Shell:cat /etc/shell
    • 登入後預設的shell類型記錄在/etc/passwd中,與賬戶相關
  • 命令別名:alias lm='ls -al' #注意有無空格
  • 協助:man bash
  • 命令類型:type
    • type ls # ls is aliased to `ls –color=auto'
    • type cat # cat is hashed (/bin/cat)
    • type cd # cd is a shell builtin
  • 命令執行:
    • \[Enter]:將[Enter]轉義,按下後不執行,而是另起一行
2 Shell的變數功能
  • 概念:同一變數,不同使用者可以有不同值,所以可以用變數來代表此值,而不用將具體的值 寫入程式,如$PATH
  • 顯示變數:echo $PATH
  • 設定變數:PATH=xxx #注意空格有無
  • 擴充變數:PATH=$PATH:xxx
  • 取消變數:unset MAIL
  • 查看環境變數:env
  • 查看環境變數及自訂變數:set
    • PS1:提示字元設定
  • 自訂變數轉環境變數:export
    • 為什麼要轉成環境變數:因為子程式會繼承父程式的環境變數
  • 語系支援
    • 查看系統支援的語系:locale -a
    • 查看與語系有關的變數:locale
  • 鍵盤讀取使用者輸入read: read atest #將使用者輸入讀入atest變數
  • 聲明變數類型 declare: declare -i sum=100+50
3 命令別名與曆史命令
  • 別名

    • alias lm='ls -al | more'
    • unalias lm
  • 曆史命令
    • history
4 Bash shell的作業環境
  • 指令執行時尋找順序

    • 相對/絕對路徑 -> alias -> bash內建 -> $PATH
  • bash設定檔
    • login shell/non-login shell

      • login shell: 進入shell時需要輸入帳號密碼
      • non-login shell: 通過圖形介面登入,再啟動shell時無需輸入帳號密碼
    • 設定檔
      • login shell:

        • /etc/profile :系統整體設定
        • 以下三個檔案按順序,如果存在,就讀取,後面的就不再讀取
        • ~/.bash_profile
        • ~/.bash_login
        • ~/.profile
    • 萬用字元
      • * : 0到無窮個字元
      • ? : 一個字元
      • []: [abc] # a or b or c
      • [-]: [0-9] # 0 到 9
      • [^]: [^abc] # 不是a,b,c的一個字元
5 資料流重導向
  • > :覆蓋
  • >>:累加
  • /dev/null:接收資訊但不顯示
  • 依次執行:cmd1,cmd2,cmd3
  • 根據上一條執行結果確定下一條
    • cmd1 && cmd2
    • cmd1 || cmd2
6 管線命令
  • ls | less
  • cut:同一行資料分割
    • echo $PATH | cut -d ':' -f 5 #以':'分割,第5個資料
  • grep:如果一行裡有需要的資訊,就返回這一行
  • sort:排序
  • uniq:重複內容只顯示一次
  • wc:統計單詞數
  • tee:雙向重新導向
  • tr:刪除或替換資料
  • col:轉化為純文字
  • join:將兩個檔案中相關資訊放在一起
  • paste:將兩行並在一起,中間用[Tab]分開
  • expand:將[Tab]轉為空白格
  • split:將大檔案傳為小檔案

聯繫我們

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