- echo $SHELL :顯示預設shell
- echo $BASH_VERSION :顯示Bash Shell版本號碼
- apt-get update :更新套件索引
- apt-get install Bash :更新bash
- 登入主機方法:
ssh –l 帳號 主機名稱或IP
例:ssh –l john 192.168.1.2
ssh 帳號@主機名稱或IP
例:ssh john@192.168.1.2
ssh 主機名稱或IP
ssh 192.168.1.2
-
- 登出主機
執行exit或按【ctrl+D】按鍵組合
-
- Unix-like的作業系統,檔案分類和其代碼:
代碼 |
檔案類型 |
- |
一般檔案 |
d(directory) |
目錄 |
l(link) |
符號連結檔案 |
b(block) |
磁碟裝置檔案 |
c(character) |
字元裝置檔案 |
s(socket) |
Socket檔案 |
p(pipe) |
串連檔案 |
6.絕對路徑:目錄第一個字元是/的
相對路徑:目錄第一個字元不是/的
7.檔案使用權限設定
chmod a+x test.sh 給3種身份加上可執行許可權
u+x g+x o+x 分別給檔案擁有者、組身份、其他人加上可執行許可權,
u、g、o分別代表使用者、組、其他人
8. 萬用字元:
*:代表任意的字串,可以是Null 字元串
?:代表一個字元,但不可以為空白
9.逸出字元
去掉特殊字元的作用:a. 用一對單引號含括特殊字元或整個字串
b. 使用逸出字元
例:echo 9 ‘*’ 9 = 81 echo ‘9 * 9 = 81’ 或 echo 9 \* 9 = 81
字串中出現單引號,使用逸出字元並去掉最外圍一對單引號,或改用雙引號,或使用接續的方式
例echo jack \’s book 或 echo “jack’s book” 或 echo ’jack’ \’ ’s book’
10.續行字元
\後串連的是換行字元,即上下兩行視為一行
echo “row 1 \
row 1 too”
顯示結果為:row 1 row 1 too
11.字元集合
字元集合就是[]中所列的字元範圍中的某一個字元,長度為1. [!abc] 表示非abc三者之一
12.括弧擴充
括弧擴充的符號是{},它的用途是組合字元串,如{a,b,c}c代表:ac、bc、cc
13.系統預設開啟的檔案:
標準輸入(stdin),檔案代碼是0
標準輸出(stdout),檔案代碼是1
標準錯誤(stderr),檔案代碼是2
14.標準輸入/輸出轉向
轉向輸出:> 例:echo ‘hello world!’ > hi.txt , hi.txt存在時其內容會清空
轉向附加:>> 例:echo ‘hello world too!’ >> hi.txt hi.txt存在時不清空,轉向輸出的文字會附加在檔案後面
轉向輸入:wc –l < hi.txt :統計檔案內容行數
轉向輸入和轉向輸出合用:sort < unsort.txt > sort.txt :這樣會將unsort.txt檔案內容排序輸入到sort.txt中
15.管道
用法:
基本型:命令1 | 命令2
例:cat unsort.txt | sort :將unsort.txt顯示出來,經過管道,交由sort進行排序
也可以將其結果儲存起來,如:cat unsort.txt | sort > sort.txt
多個管道組合:命令1 | 命令2 | … | 命令n
16.前、後台工作
前台工作:執行完一條指令之後才能取得鍵盤控制權去執行下一條指令的工作方式
後台工作:將工作丟到後台去處理,未完成之前管理者仍擁有鍵盤控制權去執行下一條指令的工作方式
例:. build/envsetup.sh & :&表示把build/envsetup.sh丟到後台工作
此時系統會顯示該進程編號,如:[1] 11973,
build/envsetup執行完成後系統顯示:[1]+ Done . build/envsetup.sh
17.Shell程式結構:變數定義、內建命令、Shell的文法結構、函數及其他命令列的程式所組成