Linux Shell基础脚本示例

1、编写脚本/root/bin/systeminfo.sh,显示主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小.

Linux Shell基础脚本示例

 

2、编写脚本/root/bin/backup.sh,可实现自动将/etc/目录备份到/root/etcYYYY-mm-dd.

Linux Shell基础脚本示例

 

3、编写脚本/root/bin/disk.sh,显示当前硬盘分区中空间利用率最大的值.

Linux Shell基础脚本示例

Linux Shell基础脚本示例

Linux Shell基础脚本示例

 

4、编写脚本/root/bin/links.sh,显示正连接本主机的每个远程主机的IPv4地址和连接数,并按连接数从大到小排序.

Linux Shell基础脚本示例

 

5、写一个脚本/root/bin/sumid.sh,计算/etc/passwd文件中的第10个用户和第20用户的ID之和.

Linux Shell基础脚本示例

 

6、写一个脚本/root/bin/sumspace.sh,传递两个文件路径作为参数给脚本,计算这两个文件中所有空白行之和.

Linux Shell基础脚本示例

 

7、写一个脚本/root/bin/sumfile.sh,统计/etc, /var, /usr目录中共有多少个一级子目录和文件.

Linux Shell基础脚本示例

 

8、写一个脚本/root/bin/argsnum.sh,接受一个文件路径作为参数;如果参数个数小于1,则提示用户“至少应该给一个参数”,并立即退出;如果参数个数不小于1,则显示第一个参数所指向的文件中的空白行数.

Linux Shell基础脚本示例

 

9、写一个脚本/root/bin/hostping.sh,接受一个主机的IPv4地址做为参数,测试是否可连通。如果能ping通,则提示用户“该IP地址可访问”;如果不可ping通,则提示用户“该IP地址不可访问”.

Linux Shell基础脚本示例

 

10、判断硬盘的每个分区空间和inode的利用率是否大于80,如果是,发邮件通知root磁盘已满.

Linux Shell基础脚本示例

 

循环写入文件进行测试

[root@CentOS6 teestdir]# for id in {1..194560}; do touch /boot/f$id ; echo f$id  is created;done

 

观察磁盘inode信息

[root@CentOS6 teestdir]# watch -n 1 df -i /boot

Linux Shell基础脚本示例

 

查看邮件信息

Linux Shell基础脚本示例

 

11、指定文件做为参数,判断文件是否为.sh后缀,如果是,添加x权限.

Linux Shell基础脚本示例

12判断输入的IP是否为合法IP.

Linux Shell基础脚本示例

Linux Shell基础脚本示例

 

13、计算1+2+3+…+100之间的总和.

Linux Shell基础脚本示例

 

14、输入起始值A和最后值B,计算从A+A+1…+(B-1)+B的总和.

Linux Shell基础脚本示例

输入正确的数值进行测试

Linux Shell基础脚本示例

输入错误的数值进行测试

Linux Shell基础脚本示例

 

15 chmod -rw /tmp/file1,编写脚本/root/bin/per.sh,判断当前用户对/tmp/fiile1文件 是否不可读且不可写.

Linux Shell基础脚本示例

 

所有用户没有赋予权限时测试

Linux Shell基础脚本示例

Linux Shell基础脚本示例

 

给所有用户添加rx权限后测试

Linux Shell基础脚本示例

Linux Shell基础脚本示例

由此可见root管理员对所有文件都有读写权限

 

16、编写脚本/root/bin/nologin.shlogin.sh,实现禁止和允许普通用户登录系统.

禁止普通用户登录

Linux Shell基础脚本示例

 

允许普通用户登录

Linux Shell基础脚本示例

 

原创文章,作者:cyh5217,如若转载,请注明出处:http://www.178linux.com/34372

(0)
上一篇 2016-08-15 09:24
下一篇 2016-08-15 09:24

相关推荐

  • find用法及德·摩根定律

    德·摩根定律   奥古斯都·德·摩根首先发现了在逻辑命题中存在着下面这些关系:      非(P且Q)=非P或非Q      非(P或Q)=非P且非Q 上述逻辑命题可以解释为:    not ( P and Q)=not P or not Q    …

    Linux干货 2016-08-18
  • 2016/08/07:文本处理工具及正则表达式

      在本次课程中,本以为和前面的内容难度差不多,内心毫无提防,但在做随堂练习的时候,被惨虐,不由得使我想起了高三时候拿到一张数学单元练习题,一道题也不会做的那种感觉,无助,彷徨,不甘。到了晚上总结了一下,还是有缘由可寻的。直接原因就是前面知识记得不牢固,也并未完全理解是和意思,尤其是tr命令,适用于何处,没按照5W1H方法来进行总结学习,导致应用的…

    Linux干货 2016-08-07
  • 用“逐步排除”的方法定位Java服务线上“系统性”故障

    一、摘要 由 于硬件问题、系统资源紧缺或者程序本身的BUG,Java服务在线上不可避免地会出现一些“系统性”故障,比如:服务性能明显下降、部分(或所有)接口超 时或卡死等。其中部分故障隐藏颇深,对运维和开发造成长期困扰。笔者根据自己的学习和实践,总结出一套行之有效的“逐步排除”的方法,来快速定位Java 服务线上“系统性”故障。 二、导言 Java 语言是广…

    2015-02-28
  • linux 使用者管理 (9月底)

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。     ~]#w | cut -d ' ' -f 1 |uniq -u 2、取出最后登录到当前系统的用户的相关信息。 ~]# last -1(数字1) 3、取出当前系统上被用户当作其默认shell的最多的那个shell。 ~]#…

    Linux干货 2016-10-02
  • awk用法一

      gawk程序是Unix中的原始awk程序的GNU版本,它提供了一种编程语言而不只是编辑器命令。在CentOS中awk命令实际上是gawk程序的链接文件名。   基本语法:     awk [options] ‘program’ flie1 file2 ……

    Linux干货 2015-12-24
  • zabbix报警信息提取

    zabbix报警信息提取     在日常的监控中,我们除了日常的zabbix操作外,我们有的时候还涉及到与其他公司进行数据对接。由于别的公司的数据对接很多时候并不是按照zabbix的数据结构(尤其是大型厂家,或是专业监控厂家,并不会直接使用zabbix,多数是自己开发或是对其他监控软件进行二次开发之类),在这种需求基础…

    Linux干货 2015-12-19