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

相关推荐

  • Linux目录结构

    Linux目录结构 查看目录(/) 树状目录结构: 常见目录的解释 Linux 下的文件类型 路径 Linux目录结构 查看目录(/) 登录系统后,在当前命令窗口下输入命令: [root@localhost ~]# ls /bin   dev  home  lib64       media &nb…

    Linux干货 2016-09-06
  • 计算机组成及功能简介

    计算机(computer)       当今它已经走进千家万户,应用在各个领域,没有用过计算机的朋友应该很少了吧?但是,你真正了解计算机是什么吗?(我也是刚刚了解的,(*^__^*)嘻嘻……)那么,接下来,让我们一起探究一下它的具体构造吧!       所谓的计算机就是…

    Linux干货 2016-10-25
  • linux用户和用户组

    一、用户和组 1、用户账号类型 在Linux系统中,根据系统管理的需要将用户账号分为不同的类型,其拥有的权限、担任的角色也各不相同。主要包括超级用户、普通用户和程序用户。 【超级用户】:root用户是Linux系统中默认的超级用户账号,对本主机拥有最高的权限,类似于Windows系统中的Administrator用户。只有当进行系统管理、维护任务时,才建议使…

    Linux干货 2017-07-22
  • N28 第三周【1】:grep和文本处理工具的使用

    grep一些练习 1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@localhost ~]# who |cut -d” ” -f1 |sort -u root 2、取出最后登录到当前系统的用户的相关信息。 [root@localhost ~]# last |cut -d” ” -f1|head -1 |…

    Linux干货 2017-12-19
  • 7-26第三课-帮助和bash基础命令

     命令:     1.获取帮助 内部命令     #help COMMAND     #man COMMAND 外部命令     # COMMAND …

    Linux干货 2016-07-29
  • sed命令用法

    sed命令 [option]  “script”  file sed命令是一种行编辑工具,他是逐行对文件进行编辑。sed命令有一个模式空间,他将一行命令读取进模式空间进行编辑,完成后将本行数据打印再读取下一行数据进行处理。 option: -n:静默模式不显示模式空间内容 -f:从指定文件中读取 -i:修改源文件(-i.###会自动将原文…

    Linux干货 2016-08-12