Linux基礎3-1 Bash及其特性

什麼是Bash:git

shell是Bash中的一部分:shell

  • shell是用戶鏈接到計算機使用的外殼程序 ,
    • shell是外部執行程序,能夠在shell中執行shell,結構會造成父子shell結構
  • 多用戶登陸系統,使用bash程序,程序只能有一個,可是進程能夠有多個
    • 進程:正在運行中的應用程序,在每一個進程來看,當前主機上只存在內核和當前進程
    • 進程是程序的副本,進程是程序執行實例

 

Bash特性編程

  • 命令歷史、命令補全bash

    • 查看歷史命令:history(默認保存1000個)
      • -c :清空歷史命令
      • -d :刪除指定位置的歷史命令
      • -w :將當前歷史命令緩衝區命令寫入歷史命令文件中
    • 使用技巧
      • !n :執行命令歷史中的第n條命令
      • !-n :執行命令歷史中倒數第n條命令
      • !!:執行上一條歷史命令
      • ![字符串] :執行命令歷史中,最近一次以字符串開頭的命令
      • !$:引用前一個命令的最後一個參數
      • esc . :引用前一個命令的參數
    • 命令補全:搜索PATH環境變量所指定的每一個路徑下面以咱們給出的字符串開頭的可執行文件,使用TAB鍵進行未寫完的命令補全,或者連續兩次使用tab鍵,進行相似命令查找
    • 路徑補全:搜索給出的起始路徑下的每一個文件名,使用tab鍵補全,或者連續兩次使用tab鍵,進行相似命令查找
    • 管道、重定向
    • 命令別名:使用本身習慣的字符串替換指定命令
      • 命令:alias
      • 語法:alias [別名] = [命令名 + 參數]
      • 在shell中定義的別名僅在當前shell聲明週期中有效,且有效範圍只在當前shell,若是切換shell進程或更替shell週期,則別名失效
      • 撤銷別名:unalias [別名]
    • 命令行編輯
      • 光標跳轉:
        • Ctrl + a :到行首
        • Ctrl + e :到行尾
        • Ctrl + u :刪除光標到行首的內容
        • Ctrl + k :刪除光標到行尾的內容
        • Ctrl + l :清屏
    • 命令行展開
    • 命令行替換
      • 使用 $(命令),$將命令執行的結果提取出來當參數
      • bash支持的引號:
        • ‘’ :命令替換
        • 「」 :弱引用,能夠實現變量替換
        • 「’ :強引用,不完成變量替換
    • 文件通配名
      • * :匹配任意長度的任意字符
      • ?:匹配任意的單個字符
      • [] :匹配指定範圍內的單個字符
      • [] :匹配指定範圍外的單個字符
      • [:space:] :匹配空白字符
      • [:punct:] :匹配標點符號
      • [:lower:] :匹配小寫字母
      • [:upper:] :匹配大寫字母
      • [:alpha:] :匹配大小寫字母
      • [:digit:] :匹配數字
      • [:alnum:] :匹配數字和大小寫字母
    • 支持使用變量
    • 支持編程
相關文章
相關標籤/搜索