Shell脚本使用示例

目录如下: 

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

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

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

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

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

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

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

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

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

10、编写脚本/root/bin/nologin.sh和login.sh,实现禁止和充许普通用户登录系统。

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

12、计算从脚本第一参数A开始,到第二个参数B的所有数字的总和,判断B是否大于A,否提示错误并退出,是则计算之

13、写一个脚本/root/bin/createuser.sh,实现如下功能:使用一个用户名做为参数,如果指定参数的用户存在,就显示其存在,否则添加之;显示添加的用户的id号等信息

14、写一个脚本/root/bin/yesorno.sh,提示用户输入yes或no,并判断用户输入的是yes还是no,或是其它信息

15、写一个脚本/root/bin/filetype.sh,判断用户输入文件路径,显示其文件类型(普通,目录,链接,其它文件类型)

16、写一个脚本/root/bin/checkint.sh,判断用户输入的参数是否为正整数

17、判断/var/目录下所有文件的类型

18、添加10个用户user1-user10,密码同用户名

19、/etc/rc.d/rc3.d目录下分别有多个以K开头和以S开头的文件;分别读取每个文件,以K开头的文件输出为文件加stop,以S开头的文件输出为文件名加start;
“K34filename stop”
“S66filename start”

20、写一个脚本,提示输入正整数n的值,计算1+2+3+…n的总和

21、写一个脚本,提示请输入网络地址,如192.168.0.0,判断输入的网段中主机在线状态

22、打印九九乘法表

23、求100以内所有正整数之和

 

 

示例:

1、编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版

本,内核版本,CPU型号,内存大小,硬盘大小。1.png

1.1.jpg

 

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

 2.jpg

 2.1.jpg

 

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

3.jpg

3.1.jpg

 

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

大到小排序

 4.jpg

 4.1.jpg

 

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

 5.jpg

 5.1.jpg

 

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

空白行之和

6.jpg

6.1.jpg

 

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

 7.jpg

 7.1.jpg

 

8、写一个脚本/root/bin/argsnum.sh,接受一个文件路径作为参数;如果参数个数小于1,则提示用

户“至少应该给一个参数”,并立即退出;如果参数个数不小于1,则显示第一个参数所指向的文件

中的空白行数

8.jpg

8.1.jpg

 

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

9.jpg

9.1.jpg

 

10、编写脚本/root/bin/nologin.sh和login.sh,实现禁止和充许普通用户登录系统。

10.jpg

10.1.jpg

10.2.jpg

 

11、写一个脚本/root/bin/hostping.sh,接受一个主机的IPv4地址做为参数,先判断是否合格IP,否,

提示IP格式不合法并退出,是,测试是否可连通。如果能ping通,则提示用户“该IP地址可访

问”;如果不可ping通,则提示用户“该IP地址不可访问”

11.jpg

11.1.jpg

 

12、计算从脚本第一参数A开始,到第二个参数B的所有数字的总和,判断B是否大于A,否提示错误

并退出,是则计算之

12.jpg

12.1.jpg

 

13、写一个脚本/root/bin/createuser.sh,实现如下功能:使用一个用户名做为参数,如果指定参数的

用户存在,就显示其存在,否则添加之;显示添加的用户的id号等信息

13.jpg

13.1.jpg

 

14、写一个脚本/root/bin/yesorno.sh,提示用户输入yes或no,并判断用户输入的是yes还是no,或是其

它信息

14.jpg

14.1.jpg

 

15、写一个脚本/root/bin/filetype.sh,判断用户输入文件路径,显示其文件类型(普通,目录,链接,

其它文件类型)

 15.jpg

 15.1.jpg

 

 16、写一个脚本/root/bin/checkint.sh,判断用户输入的参数是否为正整数

16.jpg

16.1.jpg

 

17、判断/var/目录下所有文件的类型

17.jpg

17.1.jpg

 

18、添加10个用户user1-user10,密码同用户名

18.jpg 

18.1.jpg

 

19、/etc/rc.d/rc3.d目录下分别有多个以K开头和以S开头的文件;分别读取每个文件,以K开头的文件输出为文件加stop,以S开头的文件输出为文件名加start;
“K34filename stop”
“S66filename start”

19.jpg

19.1.jpg

 

20、写一个脚本,提示输入正整数n的值,计算1+2+3+…n的总和

20.jpg

20.1.jpg

 

21、写一个脚本,提示请输入网络地址,如10.1.0.0,判断输入的网段中主机在线状态

21.jpg

21.1.jpg

 

22、打印九九乘法表

22.jpg

22.1.jpg

 

23、求100以内所有正整数之和

23.jpg

23.1.jpg

 

 

 

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

(2)
msj77539273msj77539273
上一篇 2016-08-30 17:51
下一篇 2016-08-30 17:51

相关推荐

  • 进程和进程管理工具

    进程的相关定义以及相关工具的使用

    2017-12-17
  • LNMP (nginx+php-fpm)

    Nginx简明: 特性: 采用模块化设计,较好的扩展性;高可靠性  master/worker支持热部署:不停机更新配置文件、更换日志文件、列新服务器版本低内存消耗:10000个keep-alive连接模式下的非活动连接仅消耗2.5M内存;event-dreiven,aio,mmap基本功能;静态资源的web服务器http协议反向代理服务器;pop3/ima…

    2017-06-28
  • PHP进阶知识总结

    周末梳理了下这段时间看书的一些知识点,进步的过程不仅要实践,还要安排多看书、思考、总结。 只针对知识点进行了罗列和简单说明,很多细节还未整理好,待后面再专门详细写。   基础易忽略概念   PHP是一个支持面向对象开发的语言,而不是一个纯面向对象的语言 PHP5中保留了对var的支持,但会将var自动转换为public 类型检查函数: i…

    Linux干货 2015-03-10
  • 我们都在前行的路上

    我们都在前行的路上         从0到1是一种突破,年少轻狂到心有余而力不足,力挽狂澜到恬淡人生需伏地脚踏实地地前行,漂泊在一线都市,立足我图网,途径百胜,一次机缘巧合转战阿里,对于一个工作6年的弄潮儿,他将所有经历的化作前行的动力和坚韧不拔的耐力,也许不经意,但却理所当然,…

    Linux干货 2016-11-03
  • 二维码的生成细节和原理

    二维码又称QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型:比如:字符,数字,日文,中文等等。这两天学习了一下二维码图片生成的相关细节,觉得这个玩意就是一个密码算法,在此写一这篇文章 ,揭露一下。供好学的人一同学习之。 关于QR Code…

    Linux干货 2016-08-15
  • N28-第三周

    1. 列出當前系統上所有已經登入的用戶的用戶名,注意:同一個用戶登入多次,則只顯示一次即可。
    2. 取出最後登入到當前系統的用戶的相關信息。
    3. 取出當前系統上被用戶當做其默認shell的最多的那個shell。
    4. 將/etc/passwd中的第三個字段數值最大的後10個用戶的信息全部改為大寫後保存至/tmp/maxusers.txt文件中。
    5. 取出當前主機的IP地址,提示:對ifconfig命令的結果進行切分。
    6. 列出/etc目錄下所有以.conf結尾的文件的文件名,並將其名字轉換為大寫後保存至/tmp/etc.conf文件中。
    7. 顯示/var目錄下一級子目錄或文件的總各數。
    8. 取出/etc/group文件中第三個字段數值最小的10個組的名字。
    9. 將/etc/fstab和/etc/issue文件的內容合併為同一個內容後保存至/tmp/etc.test文件中。
    10. 請總結描述用戶和組管理類命令的使用方法並完成以下練習:
    (1) 創建組distro,其GID為2016。
    (2) 創建用戶mandriva,其ID號為1005,基本組為distro。
    (3) 創建用戶mageia,其ID號為1100,家目錄為/home/linux。
    (4) 給用戶mageia添加密碼,密碼為mageedu。
    (5) 刪除mandriva,但保留其家目錄。
    (6) 創建用戶slackware,其ID號為2002,基本組為distro,附加組peguin。
    (7) 修改slackware的默認shell為/bin/tcsh。
    (8) 為用戶slackware新增附加組admins。

    2017-12-19