在system call之外的應用程式,都是shell(廣義)
2. 什麼是bash?
常聽到的 Bourne SHell (sh) 、在 Sun 裡頭預設的 C SHell、 商業上常用的 K SHell、, 還有 TCSH 等等,每一種 Shell 都各有其特點
-> Bourne Again SHell (簡稱 bash)
3. 為什麼要用bash?
優點:
1) 能查詢history(之前在資工系用的工作站就不支援查詢,每次指令都要重打,超煩XD)
=> less ~/.bash_history
裡面有之前輸入過的指令(被駭客取得root權限後,查看裡面就可能得知某某伺服器帳密)
2) tab補足指令或檔案名稱(完全是福音,使用沒有tab補足功能的shell會死掉哈哈)
tab按一下:補足指令或檔名
tab按兩下:顯示接下來有哪些選項是符合的
3) alias指令別名(可以把常使用的指令設成更簡單好懂好打的方式)
=> alias lm = ‘ls -al’
4) job control, background, foreground
5) shell script 程式化腳本(批次檔的感覺,把一連串的連續指令寫成script,之後只要執行script就不用一行一行keyin)
6) wildcard 萬用字元
4. 查詢某指令是否為bash shell內建命令
-> type [-tpa] command
ex. type -t ls
顯示file -> 外部命令
顯示alias -> 別名
顯示builtin -> 內建命令
-p: 若command為外部命令時,會顯示完整檔案路徑
-a: 把$PATH中,含有command的指令都列出來
ex. type -a pwd
ps. which指令,也有類似的功能哦
5. $PATH 環境變數在幹麻的?
=> 當我們在終端機輸入指令後,shell會到$PATH中的資料夾中尋找相對應的指令,若找不到指令就執行不了。
6. 如何改變命令提示字元的預設顯示呢?
herongsendeMacBook-Air:~ RongSonHo$
改變PS1這個環境變數
我的PS1長這樣:
7. 如何永久改變PS1?
=> cd ~
=> ls -a
=> vim .bash_profile
=>
參考:
1. 鳥哥:
http://linux.vbird.org/linux_basic/0320bash.php#ps2