管理整個計算機硬體是作業系統的核心,核心時需要被保護的,所以我們只能通過shell跟核心通訊,讓核心達到我們想要的目的。
shell:只要能夠操作應用程式的介面都能夠稱為shell。狹義的shell指的是命令列方面的軟體比如bash。
現在很多任務具可以提供設定主機了,比如x window還有web介面的設定工具例如webmin是好用的軟體,可以幫助我們簡易的設定我們主機,但是我們還是需要花費時間去學習shell,原因如下:
1)命令列介面shell都一樣。
因為他是將所有利用到的軟體都整合在一起的一組應用程式而已,並非是乙個完整的套件,所以某些時候當你公升級或者是使用其他套件管理模組(例如tarball而非rpm檔案等)時,會造成設定的困擾。不同的distribution設計的xwindow介面不同,提高學習成本。shell不一樣,是因為各家 的distribution都一樣。這樣只要學會shell就可以通用。
2)遠端管理,命令列介面比較快。
linux管理經常需要遠端聯機,聯機時命令列介面速度比較快,而且較不容易出現斷線或者資訊外流的問題。
3)shell能夠很好的管理linux。
想要管理好你的主機,良好的shell程式編寫時一定需要。如果我們自己檢視每部主機都要花上幾十分鐘來查閱它的登入檔案資訊以及相關資訊,這樣效率太低了。若使用shell提供的資料流重定向以及管道命令,分析日誌資訊花費幾分鐘可以完成檢視幾台主機的資訊。
/bin/bash時linux預設的shell,bash優點:
1)命令記憶力(history)
/.bash_history記錄的時前一次登入以前所執行過的命令,當前登入執行的命令都暫存在臨時記憶體中當登出系統後,該命令記憶才會記錄到.bash_history。
2)命令與檔案補全功能(tab)
3)命令別名設定功能(alias)
需要檢視目錄下面的所有檔案,我們用ls -al就可以執行,還有更快的方式就是使用命令別名,用lm來替換ls -al。在命令列輸入alias就可以知道目前的命令別名有哪些。可以直接執行命令設定別名:alias lm=『ls -al』。
4)作業控制、前台、後台控制(job control,forgetround,background)
5)程式指令碼(shell script)
6)萬用字元(wildcard)
type可以檢視命令是來自外部命令,還是內建在bash中
1)檢視ls這個命令是否內建
a.未加任何引數,列出ls的最主要使用情況
b.列出ls執行時的一句
c.最先使用的是aliase
還有找到外部命令 /bin/ls ,/usr/bin/ls
2)cd是內建命令
參考:菜鳥的私房菜
認識bash這個shell
我們通過shell將我們輸入的命令與核心通訊,好讓核心可以控制硬體來正確無誤地工作 bash是我們linux預設的shell 1.x window與web介面工具一樣,介面雖然親善,功能雖然強大,但畢竟它是將所有利用到的軟體整合在一起的一組應用程式而已,並非乙個完整的套件,所以某些時候當你公升級或者...
1 認識bash這個shell
計算機與核心 外殼的關係 首先,管理整個計算機硬體的其實是作業系統的核心 kernel 這個核心是需要保護的,所以我們一般的使用者就只能通過shell 外殼 來跟核心通訊,以讓核心達到我們所想要的工作。什麼是shell?作業系統其實是一組軟體,由於這組軟體在控制整個硬體與管理系統的活動監測,如果這組...
Linux學習 bash及其特性
shell 外殼 gui gnome,kde,xfce cli sh,csh,ksh,bash bourne again shell tcsh,zsh 不同使用者啟動相同sh程式,但是是不同的程序。程序 在每個程序看來,當前主機上只存在核心和當前程序。程序是程式的副本,也是程式執行的例項,具有生命週...