我們通過shell將我們輸入的命令與核心通訊,好讓核心可以控制硬體來正確無誤地工作
bash是我們linux預設的shell
1.x window與web介面工具一樣,介面雖然親善,功能雖然強大,但畢竟它是將所有利用到的軟體整合在一起的一組應用程式而已,並非乙個完整的套件,所以某些時候當你公升級或者使用其它套件管理模組時,就會造成設定的困擾。而且不同的distribution設計的x window介面也不同,造成學習的困擾。而幾乎所有distributions使用的bash都是一樣的。
2.遠端管理,命令列介面比較快:linux管理經常需要遠端聯機,聯機時命令列傳輸速度一定比較快。而且,較不容易出現斷線或者時資訊外流的問題。
3.是linux的任督二脈,書到用時方恨少:如果真的有心想要將你的主機管理好,那麼良好的shell程式編寫時一定需要的 。
shell有很多種,如bournce shell(sh),sun預設的c shell、商業常用的k shell, 還有tcsh等
一般是「bournce again shell」(bash),時sh的增強班,也是基於gun的架構下發展出來的
要檢視linux主機上有多上shell,可以檢視/etc/shells檔案
/bin/sh已經被/bin/bash替代
為什麼我們系統上合法的shell要寫入/etc/shells這個檔案?
因為系統的某些服務在執行過程中,會去檢查使用者能夠使用的shells,而這些shell的查詢就是借助/etc/shells這個檔案
使用者什麼時候可以取得shell來工作呢?還有使用者缺省會使用哪種shell?
檢視/etc/passwd就知道了,在使用者登入時取得預設的shell
一些奇怪的shell,以後再看
bash時gun計畫中重要的工具軟體之一
bash的主要優點:
1.命令記憶能力(history)
預設記憶功能一般有1000個,記錄在/home/使用者名稱/.bash_history(沒有home目錄的使用者怎麼辦)
.bash_history記錄的是前一次登入以前所執行的命令,這次登入所執行的命令被暫時存在臨時記憶體中,當成功登出系統後,該命令記憶才會記錄再.bash_history中
2.命令與檔案補全功能:tab功能
3.命令別名設定功能(alias)
4.作業控制、前台後台控制(job control,foreground,background)
可以隨時將工作丟到後台執行,不怕不小心ctrl+c終端程序。ctrl+z
也使得可以在單一登入的環境中達到多工的目的
5.程式指令碼(shell script)
shell scripts可以將平時管理系統常需要執行的連續命令寫成乙個檔案,該檔案並且可以通過互動的方式進行主機的檢車工作
6.萬用字元
幫助使用者查詢和命令執行,加快使用者操作 如ls -l /usr/bin/x*
如果shell命令比較長,可以"\[enter]"換行執行
1 認識bash這個shell
計算機與核心 外殼的關係 首先,管理整個計算機硬體的其實是作業系統的核心 kernel 這個核心是需要保護的,所以我們一般的使用者就只能通過shell 外殼 來跟核心通訊,以讓核心達到我們所想要的工作。什麼是shell?作業系統其實是一組軟體,由於這組軟體在控制整個硬體與管理系統的活動監測,如果這組...
Linux學習 複習bash這個shell
管理整個計算機硬體是作業系統的核心,核心時需要被保護的,所以我們只能通過shell跟核心通訊,讓核心達到我們想要的目的。shell 只要能夠操作應用程式的介面都能夠稱為shell。狹義的shell指的是命令列方面的軟體比如bash。現在很多任務具可以提供設定主機了,比如x window還有web介面...
認識shell和bash的環境變數
引言 在unix作業系統開發中,shell是我們經常需要使用的乙個應用程式。一般地,我們經常使用shell來執行命令或者某個程式。但是什麼是shell,以及我們經常配置bash的環境變數又是怎麼一回事。關於shell 只要能夠操作應用程式的介面都能夠稱為shell。狹義的shell指的是命令列的軟體...