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系统软件安装方式常见两种有:

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:如果一个程序安装多个版本,全部卸载

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

相关推荐

  • linux 常用命令

    命令1 rm 作用: 删除指定的文件  选项 作用 -f 强制删除 -i 删除前提示询问 -r  或  -R 递归处理,删除指定目录下的所有文件包括子目录 -v 显示指令执行过程 -d 直接把删除目录的硬连接数据删成零,删除该目录 命令2 终端(tty): 终端类型 开启方式 物理终端 console 控制台console 虚拟…

    Linux干货 2017-07-13
  • LVS的工作原理

    LB Load Balancing:解决方案 硬件: F5 BIG-IP 思杰 Citrix Netscaler A10 A10 Array  Redware 软件:lvs  linux Virtual Server 作者章文嵩博士 ipvs相当于netfilter,工作在内核中,将用户转发    框架,需要依赖以规则…

    Linux干货 2016-12-07
  • 每日一练–8.2 用户管理,权限管理

    (1)显示/var目录下所有以l开头,以一个小写字母结尾,且中间出现至少一位数字的文件或目录。     ll /var/l*[[:digit:]]*[[:lower:]] (2)显示以/etc目录下以任意一位数字开头,且以非数字结尾的文件或目录      ll /etc/[[:digit:]]*[^[:dig…

    Linux干货 2016-08-05
  • 用户和用户组相关的配置文件

    用户和用户组相关的配置文件 一、与用户相关的配置文件 一般来说,与用户配置相关的几个文件如下: l  /etc/passwd: 最重要的文件,存储着用户的用户名,UID,Shell等信息 l  /etc/shadow: 用户密码文件,使用sha-1算法加密存储(注意该文件的权限) l  /etc/skel/: 用户的模板文件,新…

    Linux干货 2016-10-23
  • 第三周作业

      1. who |cut -d ” ” -f1|uniq 2.who |head -1 3.cat /etc/passwd | cut -d: -f7|uniq -c |sort -n|tail -1|grep -o “/[[:alnum:]].*” 4. cat /etc/passwd |sort…

    2017-12-16
  • 基础命令

    杂

    2018-03-13