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的优点:

1RPM包含已经编译过的程序与配置档等数据,可以让使用者免除重新编译的困扰;

2RPM在被安装前,会先检查硬盘容量、操作系统版本等,可免除文件被错误安装;

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.178linux.com/37126

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

相关推荐

  • Raid的工作原理

    1,什么是Raid Raid的基本原理就是把多个磁盘组合到一起,组成一个磁盘组,使性能达到或超过一个容量巨大价格昂工艺的磁盘,当然基于硬件的RAID解决方案比基于软件RAID技术在使用性能和服务性能上稍胜一筹,具体表现在检测和修复多位错误的能力、错误磁盘自动检测和阵列重建等方面。 2.RAID级别介绍;一般常用的RAID阶层,分别是RAID 0、RAID1、…

    Linux干货 2017-06-19
  • Linux文本处理三剑客之一grep

            终于又到了一周一篇博客的日子 在这学习已经三周了,慢慢养成了写博客的好习惯,也慢慢的懂得了怎么写博客。这周给我印象最深刻的就是正则表达式,原本打算要写前几天所学的内容,但是昨天学到正则表达式让我有点懵,所以我今天会用一天的时间去给大家详细讲解正则表达式,争取让那些和我一样困解的人能够豁然开朗,也正是因为…

    2017-07-29
  • 文件搜索工具—— find locate

           文件查找                  在文件系统上查找符合条件的文件;    &nbsp…

    Linux干货 2016-08-22
  • bash 循环和函数

    回顾: 循环 循环控制:break,continuewhile , for循环的特殊用法for (());do     循环体donewhile read VARAIBLE;do     循环体done <&nbs…

    Linux干货 2016-08-24
  • week1

    一,计算机的组成 五大基本部件 运算器:  算术运算,逻辑运算等各种各样的运算的, 控制器:  控制总线的使用权限,内存寻址 控制权限访问是读还是写               寄存器,内部的存储器,都是用来存储数据的  加速和提高cpu性能   &…

    Linux干货 2016-10-28
  • Linux下如何使用sendEmail来发送邮件

    1)什么是sendEmail sendEmail是一个轻量级,命令行的SMTP邮件客户端(注意,不要跟sendmail混淆了)。如果你需要使用命令行发送邮件,那么sendEmail是非常完美的选择:使用简单并且功能强大,从此以后你就爱上了它。 2)安装sendEmail [root@zabbix ~]# wget http://…

    系统运维 2016-07-29