BashShell基礎

一、基本命令

1. 輸出命令 —— echo

echo “要輸出的字符串”   //將字符串打印到屏幕上。
echo [選項]  [輸出內容]   
    -e :支持反斜線控制的字符轉換。
        \a  \b退格鍵,刪除 \n  \r  \v \t \0 \x
        顏色選項:
            \e[1;31m  文字開始着色
            \e[0m       結束着色
            其他:
                30m黑色;31m紅色;32m綠色;33m黃色;
                34m藍色;35m洋紅色;36m青色;37m白色
echo $SHELL  //打印環境變量

2. 別名命令 —— alias:

臨時增加別名:
    alias ls='ls --color=auto'
    重啓後失效。
臨時刪除別名:
    unalias ls;
永久修改別名:
    用戶環境變量位置:~/.bashrc   
    在環境變量中修改別名記錄
           1. alias vi='vim'       //vim比vi的功能強大。使用vim代替vi
           2. source .bashrc    //調用文件,可直接生效(不用重新登入)

命令執行時的優先級:

1.優先執行絕對路徑或相對路徑執行的命令。
2.其次執行別名。
3.然後纔是Bash的內部命令。(別名優先於內部命令)
4.按$PATH查找的環境變量中的第一個外部命令。

3. bash的快捷鍵:

ctrl + C   //強制退出
ctrl + l    //清屏 clear
ctrl + u     //從光標出刪除到行首
ctrl + a     //光標移到行首
ctrl + e     //光標移到行尾
ctrl + z      //命令放入後臺
ctrl + r       //在歷史命令中搜索

4. 關於Bash:

執行歷史命令:

!n   執行第n條命令
!!  執行上一條命令
!字符串   執行最後一次以此字符串開頭的命令。

腳本執行方式:

1.chmod 755 hello.sh  (主要方式)
    ./hello.sh
2.bash hello.sh

shell版本:

/etc/shells    文件中表明支持的shell版本。
sh              進入子sh版本的shell解釋器。

二、語法規則:

1.輸入、輸出重定向

標準輸入:0   鍵盤
標準輸出:1   顯示器
錯誤輸出:2   顯示器

正確輸出:

命令 > 文件     >覆蓋,>>追加

錯誤輸出:

命令 2>文件     >覆蓋,>>追加,注意'>'與文件之間不能有空格。

正確和錯誤都寫在指定的文件中:

命令 &> 文件
命令 > 文件  2>&1           //覆蓋
命令 &>> 文件
命令 >> 文件  2>&1          //追加

/dev/null           //Linux的黑洞
ls &>/dev/null      //將結果直接丟棄

正確的日誌放在一個文件,錯誤結果放在另一個文件

    命令  >> 文件1  2>>文件2

輸入重定向:

命令  <  文件    //將文件做爲輸入
命令  << 引號 ... 引號   //將引號(單雙都可)之間的內容作爲輸入數據

2.符號說明

符號 說明
匹配一個字符
* 匹配任意內容
[a,b,c] 匹配括號中的某一個字符。
[^a] 匹配不是a的字符
‘ ’ 單引號:無視特殊字符,將其當做字符串輸出
“ ” 雙引號:特殊、轉移字符還會起作用。
` ` 反引號:將命令結果複製給變量:
aa=`ls`
echo &aa
$() 同反引號,引用系統命令:
aa=$(ls)
# 註釋
$ 調用變量的值
\ 轉義符,特殊符號失去作用
命令順序執行,命令之間沒有任何邏輯關係。
&& 只有當前面的命令正確執行,纔會執行後面的命令,不只判斷前一個,還判斷前幾個。
|| 前面的命令正確執行,則後面的命令錯誤執行;前面的命令錯誤執行,則後面的命令正確執行
| 管道,前一個命令的結果給後一個命令處理

3.舉例

more  文件    
    文件內容分屏顯示

netstat -an | grep establish | wc -l   
    服務器連接了多少人。(統計有多少監聽端口處於establish)

命令 && echo "yes" || echo "no"    
    命令正確執行則輸出yes,否則輸出no。

shell版“helloworld”:

#!/bin/bash
#The first program
echo -e "\e[1;34m 這是HelloWorld.sh \e[0m"
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章