Linux系統程式設計之shell script介紹

2021-10-09 01:56:07 字數 1370 閱讀 1623

shell script(程式指令碼化)是乙個可以實現自動管理系統的好工具!它值得開發人員好好學習,基本上,shell script有點像是早期批處理的檔案,即將一些命令彙整起來一次執行,但是shell script擁有更強大的功能,因為它可以編寫不需要經過編譯就能執行的shell script程式。這樣它可以簡化我們的日常工作管理,而且在linux系統環境中,一些服務需要通過shell script來啟動執行。

其實,shell script是利用shell的功能所寫的乙個"程式",這個程式是使用純文字檔案,將一些shell的語法與命令(含外部命令)寫在裡面,搭配正規表示式,管道命令與資料流重定向等功能,以達到我們所想要的處理目的。類似於早期dos年代的批處理檔案(.bat),執行乙個指令碼,就能夠執行多個命令,而且shell script更提供了陣列,迴圈,條件與邏輯判斷等重要功能,讓使用者可以直接通過shell script來編寫程式。

作為自動化管理的重要依據:實際開發管理中,管理一台機器是一件比較繁瑣的事,我們每天都需要完成:查詢登入檔案,追蹤流量,監控使用者使用主機狀態,主機各項硬裝置狀態,主機軟體更新查詢等,面對每天都會進行的工作我們可以使用shell script編寫乙個程式試下自動化管理。

完成追蹤與管理系統的重要工作:linux系統中的服務(services)啟動的介面是/etc/init.d目錄下,目錄下的所有檔案都是script,這些script可以幫助我們查詢系統中相關的設定資料,然後再代入各個服務的設定引數。如想要重新啟動登錄檔檔案,可以使用「/etc/init.d/syslogd restart」,syslogd檔案就是script。

實現簡單的入侵檢測:當系統有異常時,大多會將這些異常記錄在系統記錄器(即系統登錄檔),那麼我們可以在固定的幾分鐘內主動去分析"系統登錄檔檔案",若察覺有問題可以立即加強防火牆的設定規則。因此,我們可以通過shell script去分析當該資料報嘗試幾次還是連線失敗之後就應該拒絕該ip的主機的訪問,我們也可以通過shell script實現乙個關於抵禦攻擊軟體的shell script。

使連續命令單一化:通過shell script將多個簡單命令整合,然後直接執行script來啟動一連串的命令輸入。

簡單資料的處理:我們可以利用shell script不需要編譯的特性,實現簡單資料的的處理,如資料的比較,文字資料的查重等作用。

因為shell script使用的外部的命令與hash shell的一些預設工具,同時它常常會回去呼叫外部的函式庫,因此,shell script用在系統管理上是乙個很好的工具,但是用在大量資料運算上,shell script的速度就會較慢,且使用cpu的資源較多,造成主機的分配不良。所以shell script一般用來處理伺服器的檢測。

Linux系統程式設計之程序

程序狀態 4 5種 就緒 初始化 執行,掛起 等待 停止 pbc成員 1 程序id 2 程序狀態 3 程序切換需要儲存和恢復的cpu暫存器 4 描述虛擬位址空間資訊 5 描述控制終端的資訊 6 當前工作目錄 7 umask掩碼 8 檔案描述符 9 訊號相關的資訊 10 使用者和使用者組id 11 會...

Linux系統程式設計之檔案程式設計

目錄 一 檔案程式設計 1 linux檔案 2 檔案描述符 file descriptor 3 常用api open write read lseek close 1 open 開啟檔案函式 2 close 關閉檔案 3 write 寫檔案 4 read 讀檔案 5 lseek 游標定位 linux...

系統程式設計之檔案系統程式設計

系統呼叫 所有的作業系統都提供多種服務的入口點,程式由此向核心請求服務。這些可直接進入核心的入口點被稱為系統呼叫。不同作業系統提供了自己的一套系統呼叫,所以系統呼叫無法實現跨平台使用。而且頻繁地系統呼叫,在使用者態和核心態之間切換,很耗費資源,效率不高。c標準庫提供了操作檔案的標準i o函式庫,與系...