linux管理-腳本編輯_第1頁
linux管理-腳本編輯_第2頁
linux管理-腳本編輯_第3頁
linux管理-腳本編輯_第4頁
linux管理-腳本編輯_第5頁
已閱讀5頁,還剩59頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、linux管理-腳本編輯 linux管理-腳本編輯2 技能展示 理解Shell的作用及分類 掌握Bash的常用功能 會設(shè)置和使用Shell變量 會編寫簡單的Shell腳本 熟悉條件測試的應(yīng)用 會使用if條件語句 會使用for、while循環(huán)語句 linux管理-腳本編輯3 本章結(jié)構(gòu) Shell環(huán)境概述環(huán)境概述 Shell的作用及常見種類的作用及常見種類 Shell腳本的概念腳本的概念 Shell環(huán)境的切換環(huán)境的切換 編寫編寫Shell腳本腳本 Bash的常用功能的常用功能 編寫編寫Shell管理腳管理腳 本本 Shell變量應(yīng)用變量應(yīng)用 編寫并執(zhí)行編寫并執(zhí)行 Shell腳本腳本 用戶自定義變量

2、用戶自定義變量 環(huán)境變量環(huán)境變量 位置變量、預(yù)定義變量位置變量、預(yù)定義變量 Shell腳本應(yīng)用實例腳本應(yīng)用實例 執(zhí)行執(zhí)行Shell腳本腳本 linux管理-腳本編輯4 本章結(jié)構(gòu) 編寫編寫Shell管理管理 腳本腳本 使用使用if條件語條件語 句句 條件測試操作條件測試操作 if語句的結(jié)構(gòu)語句的結(jié)構(gòu) if語句應(yīng)用示例語句應(yīng)用示例 使用使用for循環(huán)循環(huán) 語句語句 for語句的結(jié)構(gòu)語句的結(jié)構(gòu) for語句應(yīng)用示例語句應(yīng)用示例 while語句的結(jié)構(gòu)語句的結(jié)構(gòu) while語句應(yīng)用示例語句應(yīng)用示例 使用使用while循循 環(huán)語句環(huán)語句 linux管理-腳本編輯5 Shell的作用及常見種類 Shell的作

3、用 命令解釋器,“翻譯官” 介于操作系統(tǒng)內(nèi)核與用戶之間,負責(zé)解釋命令 行 Shell 計算機用戶 應(yīng)用程序 Linux內(nèi)核 輸入輸入 控制控制 系統(tǒng)硬件 輸出輸出 linux管理-腳本編輯6 Shell的作用及常見種類 Ksh BshCsh Bash Zsh 兼具兼具Bsh的語法和的語法和 Csh的交互特性的交互特性 70年代中期誕生于貝年代中期誕生于貝 爾實驗室,有較強的爾實驗室,有較強的 腳本編程功能腳本編程功能 80年代早期誕生于加利福年代早期誕生于加利福 尼亞大學(xué)尼亞大學(xué) ,使用,使用C語言風(fēng)語言風(fēng) 格,命令交互方便格,命令交互方便 Bsh的升級版,的升級版,Linux系系 統(tǒng)中的默認

4、統(tǒng)中的默認Shell 兼具各種兼具各種Shell程序優(yōu)點,交程序優(yōu)點,交 互式操作效率更高互式操作效率更高 linux管理-腳本編輯7 Shell環(huán)境的切換 登錄Shell 指用戶每次登錄系統(tǒng)后自動加載的Shell程序, 大多數(shù)Linux系統(tǒng)采用 /bin/bash 作為默認登錄 Shell /etc/shells 文件記錄了系統(tǒng)支持的有效登錄Shell rootlocalhost # cat /etc/shells /bin/sh /bin/bash /sbin/nologin /bin/tcsh /bin/csh /bin/ksh linux管理-腳本編輯8 如何切換如何切換Shell環(huán)境

5、環(huán)境 臨時切換:直接執(zhí)行其他臨時切換:直接執(zhí)行其他Shell程序,例如程序,例如ksh、zsh等等 更改用戶登錄更改用戶登錄Shell: p 需修改 /etc/passwd 文件中用戶記錄的最后一個字段 p 或執(zhí)行:usermod -s Shell程序路徑 用戶名 linux管理-腳本編輯9 Bash的常用功能 Tab鍵自動補齊 命令編輯快捷鍵 命令歷史 命令別名 標準輸入輸出 重定向操作 管道操作 linux管理-腳本編輯10 Bash的命令歷史 命令歷史 保存用戶曾經(jīng)執(zhí)行過的命令操作 存放位置:/.bash_history 文件 查看歷史命令 使用、按鍵逐條翻看,允許編輯并重復(fù)執(zhí)行 執(zhí)行:

6、history 清除歷史命令 執(zhí)行:history -c rootlocalhost root# history 556 useradd jerry 557 passwd jerry 558 crontab -e -u jerry 559 crontab -l -u jerry linux管理-腳本編輯11 Bash的命令歷史 調(diào)用歷史命令 !n:執(zhí)行歷史記錄中的第n條命令 !str:執(zhí)行歷史記錄中以“str”開頭的命令 設(shè)置記錄歷史命令的條數(shù) 修改 HISTSIZE 參數(shù)(默認為1000條) rootlocalhost root# !562 crontab -l -u jerry no cr

7、ontab for jerry rootlocalhost # vi /etc/profile HISTSIZE=200 linux管理-腳本編輯12 Bash的命令別名 命令別名 為使用頻率較高的復(fù)雜命令行設(shè)置簡短的調(diào)用名稱 存放位置:/.bashrc 查看命令別名 格式:alias 別名 設(shè)置命令別名 執(zhí)行:alias 別名=實際執(zhí)行的命令 取消已設(shè)置的命令別名 格式:unalias 別名 unalias -a linux管理-腳本編輯13 rootlocalhost # alias alias cp=cp -i alias l.=ls -d .* -color=tty alias ll=

8、ls -l -color=tty alias ls=ls -color=tty alias mv=mv -i alias rm=rm -i linux管理-腳本編輯14 Bash的標準輸入輸出 交互式硬件設(shè)備 標準輸入:從該設(shè)備接收用戶輸入的數(shù)據(jù) 標準輸出:通過該設(shè)備向用戶輸出數(shù)據(jù) 標準錯誤:通過該設(shè)備報告執(zhí)行出錯信息 類型類型設(shè)備文件設(shè)備文件文件描述編號文件描述編號默認設(shè)備默認設(shè)備 標準輸入標準輸入/dev/stdin0鍵盤鍵盤 標準輸出標準輸出/dev/stdout1顯示器顯示器 標準錯誤輸出標準錯誤輸出/dev/stderr2顯示器顯示器 linux管理-腳本編輯15 Bash的重定向操

9、作 改變標準輸入、標準輸出、標準錯誤的方 向 類型類型操作符操作符用途用途 重定向標準輸入重定向標準輸入 將命令的執(zhí)行結(jié)果輸出到指定的文件中,而將命令的執(zhí)行結(jié)果輸出到指定的文件中,而 不是直接顯示在屏幕上不是直接顯示在屏幕上 將命令執(zhí)行的結(jié)果追加輸出到指定文件將命令執(zhí)行的結(jié)果追加輸出到指定文件 重定向標準錯誤重定向標準錯誤 2 清空指定文件的內(nèi)容,并將標準錯誤信息保清空指定文件的內(nèi)容,并將標準錯誤信息保 存到該文件中存到該文件中 2將標準錯誤信息追加輸出到指定的文件中將標準錯誤信息追加輸出到指定的文件中 重定向標準輸出和重定向標準輸出和 標準錯誤標準錯誤 then 命令序列命令序列1 elif

10、 條件測試命令條件測試命令2 ; then 命令序列命令序列2 elif . else 命令序列命令序列n fi linux管理-腳本編輯49 for循環(huán)語句 根據(jù)變量的不同取值,重復(fù)執(zhí)行一組命令 操作 for 變量名變量名 in 取值列表取值列表 do 命令序列命令序列 done for 收件人收件人 in 郵件地址列表郵件地址列表 do 發(fā)送郵件發(fā)送郵件 done for 變量變量=取值取值1 取值取值1 取值取值n done 結(jié)束循環(huán)結(jié)束循環(huán) do 命令序列命令序列 取值取值n 已使用已使用 linux管理-腳本編輯50 for循環(huán)語句 應(yīng)用示例1: 依次輸出3條文字信息,包括一天中的

11、“Morning”、“Noon”、“Evening”字串 rootlocalhost # vi showday.sh #!/bin/bash for TM in Morning Noon Evening do echo The $TM of the day. done rootlocalhost # sh showday.sh The Morning of the day. The Noon of the day. The Evening of the day 驗證腳本執(zhí)行結(jié)果驗證腳本執(zhí)行結(jié)果 linux管理-腳本編輯51 for循環(huán)語句 應(yīng)用示例2: 對于使用“/bin/bash”作為登錄S

12、hell的系統(tǒng)用戶, 檢查他們在“/opt”目錄中擁有的子目錄或文件 數(shù)量,如果超過100個,則列出具體個數(shù)及對應(yīng) 的用戶帳號 獲得使用獲得使用bash作為登錄作為登錄 Shell的用戶名列表的用戶名列表 linux管理-腳本編輯52 #!/bin/bash DIR=/opt LMT=100 ValidUsers=grep /bin/bash /etc/passwd | cut -d : -f 1 for UserName in $ValidUsers do Num=find $DIR -user $UserName | wc -l if $Num -gt $LMT ; then echo $

13、UserName have $Num files. fi done linux管理-腳本編輯53 while循環(huán)語句 重復(fù)測試指定的條件,只要條件成立則反 復(fù)執(zhí)行對應(yīng)的命令操作 while 命令或表達式命令或表達式 do 命令列表命令列表 done while 可用內(nèi)存可用內(nèi)存 /dev/null i=expr $i + 1 done 執(zhí)行執(zhí)行 let i+ 也可以也可以 使變量使變量i的值遞增的值遞增1 linux管理-腳本編輯55 while循環(huán)語句 應(yīng)用示例2: 批量刪除上例中添加的20個系統(tǒng)用戶帳號 #!/bin/bash i=1 while $i -le 20 do userdel

14、-r stu$i i=expr $i + 1 done linux管理-腳本編輯56 第二章 編寫shell管理腳本 上機部分 linux管理-腳本編輯57 實驗案例1:定制root用戶的Shell環(huán) 境 需求描述 使root用戶能通過“crond start”形式控制相應(yīng)系統(tǒng) 服務(wù)的狀態(tài),而無需使用service命令或絕對路徑 將root用戶的命令歷史記錄限制為50條 添加一個命令別名lh,用于以長格式并使用K、M 等容量單位顯示目錄及文件列表信息 每次root用戶登陸到時,自動報告當(dāng)前登錄的用戶 數(shù)、打開的進程數(shù)、剩余可用內(nèi)存、剩余交換空間 練習(xí)重定向、變量操作、腳本應(yīng)用等相關(guān)知識 lin

15、ux管理-腳本編輯58 實驗案例1:定制root用戶的Shell環(huán) 境 實現(xiàn)思路 修改“/root/.bash_profile”文件 在環(huán)境變量PATH中添加“/etc/rc.d/init.d”目錄的內(nèi) 容 設(shè)置HISTSIZE變量的值為50 將PATH、HISTSIZE變量輸出為全局變量。 編寫登錄歡迎腳本文件 welcome.root 使用who、ps、wc命令及管道操作統(tǒng)計登錄用戶數(shù)、 進程數(shù) 使用free、awk命令結(jié)合管道操作提取剩余可用內(nèi) 存、剩余交換空間信息 linux管理-腳本編輯59 實驗案例1:定制root用戶的Shell環(huán) 境 實現(xiàn)思路 修改“/.bashrc”文件 設(shè)置

16、命令別名lh 添加執(zhí)行wecome.root腳本文件的語句 驗證實驗結(jié)果 linux管理-腳本編輯60 實驗案例2:編寫腳本監(jiān)測服務(wù)器狀 態(tài) 需求描述 每隔15分鐘記錄一次服務(wù)器的基本運行狀況,包括: CPU負載、內(nèi)存和交換空間、磁盤空間信息 最近的用戶登錄情況 記錄當(dāng)時的時間信息(以YYYY-mm-dd HH:MM的格式輸 出 所有信息追加到文件“/var/log/runrec/running.today”中 每天晚上23:55分時備份 running.today 文件: 進行壓縮備份,保存到“/var/log/runrec”目錄中 備份文件名參考:running.record-YYYYmm

17、dd.tar.bz2 備份完畢后刪除當(dāng)天的記錄文件(running.today) linux管理-腳本編輯61 實驗案例2:編寫腳本監(jiān)測服務(wù)器狀 態(tài) 實現(xiàn)思路 編寫運行狀況監(jiān)控腳本/opt/monitor.sh 通過uptime、free、df等命令獲取系統(tǒng)狀態(tài)信息 通過“l(fā)ast -n 20” 獲取最近20條用戶登錄信息 設(shè)定計劃任務(wù),每隔15分鐘執(zhí)行一次monitor.sh腳 本,每天23:55分進行壓縮備份 tar命令的“-remove-files”選項用于備份完后刪除源文件 獲取日期信息: date +%F %H:%M YYYY-mm-dd HH:MM date +%Y%m%d YYY

18、Ymmdd linux管理-腳本編輯62 實驗案例3:使用Shell腳本管理系統(tǒng) 需求描述 編寫腳本程序用于監(jiān)測系統(tǒng)服務(wù)httpd的運行狀態(tài) 當(dāng)服務(wù)狀態(tài)失常時在“/var/log/htmon.log”文件中記入日志 自動將狀態(tài)失常的httpd服務(wù)重新啟動 若重啟httpd服務(wù)失敗,則嘗試重新啟動服務(wù)器主機 周一至周五期間每隔15分鐘執(zhí)行一次監(jiān)測任務(wù) 編寫腳本程序用于批量添加用戶 提供交互,能根據(jù)提示指定添加用戶的數(shù)量(少于100)、用 戶名前綴,并能設(shè)置帳號的失效時間、初始密碼 用戶名編號統(tǒng)一使用2位數(shù),如使用“01”、“02”的形式 編寫腳本批量刪除用戶 通過命令行參數(shù)指定要刪除用戶的名稱前綴 刪除以該前綴開頭的所有用戶,但要防止誤刪除root用戶 linux管

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論