定義:shell是乙個命令列形式展現給使用者的應用型程式,連線使用者跟linux核心,給使用者提供更加高效、安全、低成本的方式去操作核心。
只知道使用者能通過shell去操作核心還不夠,還得知道shell是如何去操作核心的。用兩字概括就是函式,沒錯,就是函式!而且除了呼叫核心暴露出來的函式介面,沒有其他途徑可供shell去操作核心。
shell本身支援的命令並不是很多,功能上也有限制,但是它厲害就厲害在可以呼叫其他的程式,這麼一看的話,把呼叫程式當作乙個命令的話,shell的命令數量就很多了,可以無限制擴充套件。
我們平常在linux中的操作,你以為你是在直接操作應用程式,其實並不是。我面直接面對的是shell,是通過shell去執行的其他應用程式。
shell可以幫助我們完成日常的管理工作,像文字檢索、檔案查詢、軟體自動部署、更改系統設定、監控伺服器效能、傳送警報、抓取網頁資訊等等,也可以作為乙個應用程式之間的「管道」(這裡的管道只是乙個比喻,並不是我們專業術語上的管道),將乙個程式的輸出結果傳遞給另外乙個程式。
打個比喻,你是乙個莊園的主人,shell就像是你的管家,幫你監督管理各個僕人(應用程式)的工作,只不過你需要了解你管家的工作指令,知道怎麼去給你的管家下命令。
shell程式設計一般用於開發一些實用的、自動化的小工具,像計算機硬體引數、搭建web執行環境、日誌分析等等,誰讓shell是一門解釋型語言呢。
網路流自學心得 day01
匹配問題終於可以告一段落,雖然還不是很通透,但時間不允許了。接下來我們來看看網路流的問題,這個東西和匹配還是有一點相似的,但是也好難。第一天我們就來講講最大流 和 ek演算法。雖然這個演算法在競賽中基本不用 我們的網路流從最大流開始。那什麼是最大流呢?如上圖所示,假設我們現在要把一些物品從結點s 稱...
Shell程式設計學習Day01
第乙個shell程式example.sh bin bash echo our first example echo empty line echo we are currently in the following directory pwdecho echo this directory cont...
學習筆記day01
作業系統簡稱 operating system 簡稱os 其的本質就是乙個軟體,作業系統對上可以管理應用程式,對下可以訪問硬體裝置。主流的作業系統 pc機領域 windows系列,ios,伺服器領域 linux系列,unix,windows server。手持裝置 ios,android,塞班,wi...