天天看點

Linux——Bash的基本功能

曆史指令與指令補全

  • 曆史指令:

    [[email protected] ~]# history [選項] [曆史指令儲存檔案]

    選項:

    -c

    :清空曆史指令

    -w

    :把緩存中的曆史指令寫入曆史指令儲存檔案,檔案為

    ~/.bash_ history

    曆史指令預設會儲存1000條,可以在環境變量配置檔案

    /etc/profile

    中進行修改。

    我們打開看一下:

    Linux——Bash的基本功能
    這個就是我們的曆史指令儲存的條數。如果超過了這個數值,它就會删除第一條指令,儲存新的指令。
  • 曆史指令的調用:

    使用上、下箭頭調用以前的曆史指令

    使用

    !n

    重複執行第n條曆史指令。

    使用

    !!

    重複執行上一條指令

    使用

    !字串

    重複執行最後一條以該字串開頭的指令
  • 指令與檔案補全:

    在Bash中,指令與檔案補全是非常友善與常用的功能,我們隻要在輸入指令或檔案時,按 “Tab” 鍵就會自動進行補全。

指令别名與常用快捷鍵

  • 指令别名

    [[email protected] ~]# alias 别名='原指令'

    :設定指令别名

    [[email protected] ~]# alias

    :查詢指令别名
    Linux——Bash的基本功能
  • 指令執行時順序:

    1.第一順位執行用絕對路徑或相對路徑執行的指令。

    2.第二順位執行别名。

    3.第三順位執行Bash的内部指令。

    4.第四順位執行按照$PATH環境變量定義的目錄查找順序找到的第一個指令。

  • 讓别名永久生效

    用指令行定義的指令的别名隻會臨時生效,當計算機重新開機的時候,定義就會失效。我們要想使得定義的别名永久生效,需要修改相應使用者家目錄下的檔案:

    /~/.bashrc

    檔案。
    Linux——Bash的基本功能
  • bash常用快捷鍵
    快捷鍵 作用
    ctrl+A 把光标移動到指令行開頭。如果我們輸入的指令過長,想要把光标移動到指令行開頭時使用。
    ctrl+E 把光标移動到指令行結尾。
    ctrl+C 強制終止目前的指令。
    ctrl+L 清屏,相當于clear指令。
    ctrl+U 删除或剪切光标之前的指令。我輸入了一行很長的指令,不用使用倒退鍵一個一個字元的删除,使用這個快捷鍵會更加友善
    ctrl+K 删除或剪切光标之後的内容。
    ctrl+Y 粘貼ctrl+U或ctrl+K剪切的内容。
    ctrl+R 在曆史指令中搜尋,按下ctrl+R之後,就會出現搜尋界面,隻要輸入搜尋内容,就會從曆史指令中搜尋。
    ctrl+D 退出目前終端。
    ctrl+Z 暫停,并放入背景。
    ctrl+S 暫停螢幕輸出。
    ctrl+Q 恢複螢幕輸出。

輸入輸出重定向

  • 标準輸入輸出
    裝置類型 裝置檔案名 檔案描述符
    鍵盤 /dev/stdin
    顯示器 /dev/stdout 1
    顯示器 /dev/stderr 2
  • 輸出重定向
    Linux——Bash的基本功能
  • 輸入重定向

    [[email protected] ~]# wc [選項] [檔案名]

    選項:

    -c

    :統計位元組數

    -w

    :統計單詞數

    -l

    :統計行數

    用法:

    指令 < 檔案

    把檔案作為指令的輸入

    指令 << 辨別符

    辨別符:把辨別符之間内容作為 指令的輸入

多指令順序執行與管道符

  • 多指令順序執行
    Linux——Bash的基本功能

示例:

  1. 指令:

    ls;date;cd /user;pwd

    Linux——Bash的基本功能
  2. 我們在這裡引入一個新的指令:dd。

    指令格式:

    dd if=輸入檔案 of=輸出檔案 bs=位元組數 count=個數

    選項:

    if=輸入檔案

    指定源檔案或源裝置

    of=輸出檔案

    指定目标檔案或目标裝置

    bs=位元組數

    指定一次輸入/輸出多少位元組,即把這些位元組看做 一個資料塊

    count=個數

    指定輸入/輸出多少個資料塊

    指令:

    date ; dd if=/dev/zero of=/root/testfile bs=1k count=100000 ; date

    我們看一下執行的結果:
    Linux——Bash的基本功能
  3. 指令:

    ls && echo yes

    Linux——Bash的基本功能
  4. 指令:

    ls test || echo no

    Linux——Bash的基本功能
  5. 指令:

    ls test && echo yes || echo no

    Linux——Bash的基本功能
  • 管道符

    指令格式:

    指令1 | 指令2

    含義:指令1的正确輸出作為指令2的操作對象

示例:

  1. 指令:

    ll -a /etc/ | more

    Linux——Bash的基本功能
  2. 我們引入一個新的指令:

    grep

    格式:

    grep [選項] "搜尋内容" 檔案名

    選項:

    -i

    : 忽略大小寫

    -n

    : 輸出行号

    -v

    : 反向查找

    --color=auto

    搜尋出的關鍵字用顔色顯示

    指令:

    netstat -an | grep "ESTABLISHED"

    作用:檢視目前計算機有多少遠端連接配接。

通配符與其他特殊符号

通配符

通配符 作 用

?

比對一個任意字元

*

比對0個或任意多個任意字元,也就是可以比對任何内容

[]

比對中括号中任意一個字元。例如:

[abc]

代表一定比對一個字元,或者是a,或者是b,或者是c。

[-]

比對中括号中任意一個字元,-代表一個範圍。例如:

[a-z]

代表比對一個小寫字母。

[^]

邏輯非,表示比對不是中括号内的一個字元。例如:

[^0-9]

代表比對一個不是數字的字元。

示例:

cd /tmp/
rm -rf *
touch abc
touch abcd
touch 012
touch 0abc
ls ?abc
ls [0-9]*
ls [^0-9]*
           

其他常用特殊符号

符号 作用

' '

單引号。在單引号中所有的特殊符号,如“$”和“`”(反引号)都沒有特殊含義。

" "

雙引号。在雙引号中特殊符号都沒有特殊含義,但是

"$"

"`"

"\"

是例外,擁有“調用變量的值”、“引用指令”和“轉義符”的特殊含義。
`` 反引号。反引号括起來的内容是系統指令,在Bash中會先執行它。和 ( ) 作 用 一 樣 , 不 過 推 薦 使 用 ()作用一樣,不過推薦使用 ()作用一樣,不過推薦使用(),因為反引号非常容易看錯。
$() 和反引号作用一樣,用來引用系統指令。
# 在Shell腳本中,#開頭的行代表注釋。
$ 用于調用變量的值,如需要調用變量name的值時,需要用$name的方式得到變量的值。
\ 轉義符,跟在\之後的特殊符号将失去特殊含義,變為普通字元。如$将輸出“$”符号,而不當做是變量引用。

示例:

echo `ls`
echo $(date)
           
name=sc
echo '$name'
echo "$name"
echo ‘$(date)'
echo “$(date)"
           

end.

繼續閱讀