8-16 Shell腳本之循環

本節主要講解Shell腳本的循環和軟件包的管理



一、用until實現下列作業

1、每隔3秒鐘到系統上獲取已經登錄的用戶的信息;如果發現用戶hacker登錄,則將登錄時間和主機記錄于日志/var/log/login.log,并提示該用戶退出系統。

QQ截圖20160817222050.png

2、隨機生成10以內的數字,實現猜字游戲,提示比較大或小,相等則退出

QQ截圖20160817222142.png

3、編寫腳本,求100以內所有正整數之和

QQ截圖20160817222238.png

QQ截圖20160817222252.png

4、編寫腳本,通過ping命令探測172.16.250.1-254范圍內的所有主機的在線狀態,統計在線主機和離線主機各多少。

QQ截圖20160817222330.png

QQ截圖20160817222342.png

5、編寫腳本,打印九九乘法表

QQ截圖20160817222400.png

QQ截圖20160817222415.png

6、編寫腳本,利用變量RANDOM生成10個隨機數字,輸出這個10數字,并顯示其中的最大者和最小者

QQ截圖20160817222457.png

QQ截圖20160817222510.png

7、編寫腳本,實現打印國際象棋棋盤

QQ截圖20160817222901.png

圖片1.png

8、打印等腰三角形

QQ截圖20160818091605.pngQQ截圖20160818091623.png



軟件包相關知識

二進制應用程序的組成部分:

二進制文件、庫文件、配置文件、幫助文件

Linux系統軟件安裝方式常見兩種有:

dpkgRPM

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在被安裝前,會先檢查硬盤容量、操作系統版本等,可免除文件被錯誤安裝;

3RPM文件本身提供軟件版本資訊、依賴性軟件名稱、軟件用途說明、軟件所含文件等資訊,便于了解文件;

4RPM管理方式使用數據庫記錄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:如果一個程序安裝多個版本,全部卸載

QQ截圖20160817223004.png

軟件包查詢:

    rpm {-q|–query} [select-options] [query-options]

v  [select-options]:

        rpm -q PACKAGE_NAME…:查詢某包或某些包是否安裝

        rpm -qa:查詢已安裝的所有包

        rpm -qf /PATH/TO/SOMEFILE:查詢某文件是由那個包安裝生成

QQ截圖20160817223019.png

        rpm -qpi PACKAGE_FILE查詢尚未安裝的包文件的相關信息,用-p選項

[query-options]:

    -qi:查詢某包的簡要說明信息

QQ截圖20160817223029.png

    -ql:查詢某包安裝生成的文件列表

QQ截圖20160817223037.png

    -qc:安裝完成后生成的所有配置文件

    -qd:查詢某包安裝完成后生成的幫助文件

QQ截圖20160817223044.png

    -q –changelog:查看某包制作時隨版本變化的changelog信息

原創文章,作者:Dadi,如若轉載,請注明出處:http://www.www58058.com/37126

(0)
DadiDadi
上一篇 2016-08-18 10:09
下一篇 2016-08-18 10:09

相關推薦

  • n28 第二周作業

    n28 第二周作業

    Linux干貨 2017-12-09
  • 編程真難啊

    上周,在Sun的Java論壇上出現了一個這樣的帖子,這個貼子的鏈接如下:http://forums.sun.com/thread.jspa?threadID=5404590&start=0&tstart=0 LZ的貼子翻譯如下: 大家好,我是一個Java的新手,我有一個簡單的問題:請問我怎么才能反轉一個整數的符號啊。比如把-12轉成+12。是…

    Linux干貨 2015-04-03
  • Shell腳本編程中的變量

    一、什么是變量?   變量來源于數學,是計算機語言中能儲存計算結果或能表示值抽象概念。變量可以通過變量名訪問 二、變量的種類有哪些? 本地變量 生效范圍為當前shell進程;對當前shell之外的其它shell進程,包括當前shell的子shell進程均無效 環境變量 生效范圍為當前shell進程及其子進程 局部變量 生效范圍為當前shell進程中…

    Linux干貨 2016-08-13
  • N26-第四周作業

    一、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 思路:先用遞歸操作復制文件,再用chmod改變文件及其下目錄權限。 方法一: [root@promote ~]# cp -r /etc/skel /home/tuser1 #復制文件并改名 [root@promote ~]#…

    2017-05-07
  • Mozart的劍(文本處理工具)——壹劍(文本查看cat、more、less)

    壹劍(文本查看cat、more、less) 博客之前突然想起兩句話,很有意思的話,在此貼出上句,希望可以與大家分享,不可問度娘,有興趣的可以試試。 上句:煙鎖池塘柳    下句: 上句:因荷而得藕    下句: 1>cat命令是Linux系統下的一個文本輸出命令,一般是用于觀看某個文件的內容,特點:一次性顯示整個…

    2017-07-29
  • 億級用戶下的新浪微博平臺架構

    序言     新浪微博在2014年3月公布的月活躍用戶(MAU)已經達到1.43億,2014年新年第一分鐘發送的微博達808298條,如此巨大的用戶規模和業務量,需要高可用(HA)、高并發訪問、低延時的強大后臺系統支撐。 微博平臺第一代架構為LAMP架構,數據庫使用的是MyIsam,后臺用的是php,緩存為Memcache。 隨著應用規模…

    2015-03-16
欧美性久久久久