本節主要講解Shell腳本的循環和軟件包的管理
一、用until實現下列作業
1、每隔3秒鐘到系統上獲取已經登錄的用戶的信息;如果發現用戶hacker登錄,則將登錄時間和主機記錄于日志/var/log/login.log中,并提示該用戶退出系統。
2、隨機生成10以內的數字,實現猜字游戲,提示比較大或小,相等則退出
3、編寫腳本,求100以內所有正整數之和
4、編寫腳本,通過ping命令探測172.16.250.1-254范圍內的所有主機的在線狀態,統計在線主機和離線主機各多少。
5、編寫腳本,打印九九乘法表
6、編寫腳本,利用變量RANDOM生成10個隨機數字,輸出這個10數字,并顯示其中的最大者和最小者
7、編寫腳本,實現打印國際象棋棋盤
8、打印等腰三角形
軟件包相關知識
二進制應用程序的組成部分:
二進制文件、庫文件、配置文件、幫助文件
Linux系統軟件安裝方式常見兩種有:
dpkg和RPM
RPM包格式:ftp-0.17-54.e16.x86_64.rpm
ftp:軟件名
0.17:軟件版本號,其中0為主版本號,17為次版本號
54:軟件編譯次數
e16:支持的操作系統版本
X86_64:軟件適合的硬件平臺,和支持的CPU架構
rpm:軟件包的擴展名
RPM的優點:
1、RPM包含已經編譯過的程序與配置檔等數據,可以讓使用者免除重新編譯的困擾;
2、RPM在被安裝前,會先檢查硬盤容量、操作系統版本等,可免除文件被錯誤安裝;
3、RPM文件本身提供軟件版本資訊、依賴性軟件名稱、軟件用途說明、軟件所含文件等資訊,便于了解文件;
4、RPM管理方式使用數據庫記錄RPM文件的相關參數,便于升級、移除、查詢與驗證。
rpm 語法相關
rpm {-i|–install} [install-options] PACKAGE_FILE…
-h:hash,以#來表示安裝進度
-v:顯示安裝過程的詳細信息
–test:不執行真正的安裝過程,僅報告依賴關系及沖突信息等
–nodeps:忽略依賴關系,副作用是能安裝成功,但未必能運行成功
軟件升級:
rpm {-U|–upgrade}[install-ooptions] PACKAGE_FILE…
rpm {-F|–freshen}[install-ooptions] PACKAGE_FILE…
upgrade:安裝有舊版程序包,則“升級”,如果不存在舊版程序包,則“安裝”
freshen:安裝有舊版程序包,則“升級”,如果不存在舊版程序包,則不執行升級操作
–oldpackage:降級
–replacepkgs:覆蓋安裝
–force:強制安裝
軟件卸載:
rpm {-e|–erase} [–allmatches] [–nodeps] [–test] PACKAGE_NAME …
–nodeps:忽略依賴關系
–test:測試卸載
–allmatches:如果一個程序安裝多個版本,全部卸載
軟件包查詢:
rpm {-q|–query} [select-options] [query-options]
v [select-options]:
rpm -q PACKAGE_NAME…:查詢某包或某些包是否安裝
rpm -qa:查詢已安裝的所有包
rpm -qf /PATH/TO/SOMEFILE:查詢某文件是由那個包安裝生成
rpm -qpi PACKAGE_FILE查詢尚未安裝的包文件的相關信息,用-p選項
[query-options]:
-qi:查詢某包的簡要說明信息
-ql:查詢某包安裝生成的文件列表
-qc:安裝完成后生成的所有配置文件
-qd:查詢某包安裝完成后生成的幫助文件
-q –changelog:查看某包制作時隨版本變化的changelog信息
原創文章,作者:Dadi,如若轉載,請注明出處:http://www.www58058.com/37126