這篇文章主要介紹的是 bash,希望各位能從這篇文章里對(duì) Bash 有一個(gè)簡(jiǎn)單的了解
Bash,即 Bourne Again SHell,顧名思義它是和 Shell 有關(guān)的。Shell是一個(gè)程序,就像你在 Windows 里面經(jīng)常按的 cmd 一樣,你可以在里面輸入命令運(yùn)行,或者自己寫一個(gè)腳本然后讓 Shell 讀取里面的命令運(yùn)行。
Shell 實(shí)際上不只是一個(gè)程序。它原先只是一個(gè)用 C 寫成的程序,現(xiàn)在同樣也代表一種腳本語(yǔ)言。而作為腳本語(yǔ)言,Shell 就需要解釋器,一般來(lái)說(shuō) Linux 默認(rèn)的解釋器就是 Bash,不管是從命令行中直接輸入的命令還是腳本的命令,都需要經(jīng)過(guò) Bash 的解釋才能運(yùn)行。
實(shí)際上絕大多數(shù)的程序設(shè)計(jì)語(yǔ)言都需要使用這兩種相當(dāng)于預(yù)處理工序中的一種。編譯型的語(yǔ)言比如 C++ 和 Java 這些會(huì)把我們寫的代碼編譯成接近計(jì)算機(jī)底層的目標(biāo)代碼,這樣運(yùn)行起來(lái)會(huì)很快,但是因?yàn)樘咏讓樱杂械臅r(shí)候需要更多的代碼來(lái)完成一個(gè)看起來(lái)簡(jiǎn)單的操作。
而解釋型語(yǔ)言一樣會(huì)把我們的代碼解釋成目標(biāo)代碼,不過(guò)這樣的目標(biāo)代碼比較高層,我們編寫起來(lái)會(huì)比較方便,而且腳本執(zhí)行的速度也不算太慢。
Shell 分為圖形界面和命令行式兩種,圖形界面最常見(jiàn)的就是 Windows explorer 了,它包括了桌面和文件管理,這就意味著如果你在任務(wù)管理器里把它關(guān)掉……你可能屏幕上上只剩下任務(wù)管理器是亮著的了,運(yùn)行新任務(wù)然后輸入 explorer.exe 可以重新打開(kāi)它。命令行式的 Shell 包括 Windows 里面的 cmd.exe 和 Linux 里面的 Bash 等等,它基本上只提供了一個(gè)命令行窗口,但是通過(guò)命令同樣可以做到比圖形界面更高效。
1、命令記錄歷史:Bash 可以記錄曾經(jīng)輸入過(guò)的命令,保存在~/.bash_history 文件中。
2、tab 鍵自動(dòng)補(bǔ)全:使用 tab 鍵可以自動(dòng)補(bǔ)全命令或者目錄。
3、alias 命令別名:可以使用 alias ll=’ls -al’ 來(lái)設(shè)置命令的別名。
4、工作控制:可以將某些任務(wù)放在后臺(tái)去運(yùn)行。
5、程序腳本:可以執(zhí)行 shell 腳本文件
6、通配符:除了完整的字符串之外, Bash 還支持許多的通配符來(lái)幫助用戶查詢與命令下達(dá)。