您的位置:首页 > 运维架构 > Shell

Linux练习题-shell脚本编程基础篇(再次施工中)

2018-08-01 20:41 821 查看
1、编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小





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





3、编写脚本/root/bin/disk.sh,显示当前硬盘分区中空间利用率最大的值
图中做出的是所有硬盘分区利用率,如果取最大,用head -n1命令即可





4、编写脚本/root/bin/links.sh,显示正连接本主机的每个远程主机的IPv4地址和连接数,并按连接数从大到小排序
连接过少,因此效果无法显出,如果最后顺序不对,加sort命令可排序




5、编写脚本/root/bin/sumid.sh,计算/etc/passwd文件中的第10个用户和第20用户的ID之和
因为sed取第几行还未学习,因此这里用head -n(取前n行数据)和tail -1(跟踪倒数第一行数据)来进行取值





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





7、编写脚本/root/bin/sumfile.sh,统计/etc, /var, /usr目录中共有多少个一级子目录和文件
借鉴他人写法,此命令执行后会提示输入目标路径,依次输入后可实现任意三个目录中子目录和文件之和





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





9、编写脚本/root/bin/hostping.sh,接受一个主机的IPv4地址做为参数,测试是否可连通。如果能ping通,则提示用户“该IP地址可访问”;如果不可ping通,则提示用户“该IP地址不可访问”
输入一个ip,先判定是否符合格式,符合才进行下一步,不符合显示非法ip后退出脚本;
其次才是ping ip 测试通断





10、编写脚本算鸡兔同笼问题,笼子里共35个头,94只脚,求兔子和鸡各多少只?
这里只做最简单的功能实现版,具体请看2.0版鸡兔同笼





11、编写脚本yesorno.sh,当输入y或者yes显示yes,输入n或者no显示no,大小写不敏感





12、编写脚本/root/bin/checkdisk.sh,检查磁盘分区空间和inode使用率,如果超过80%,就发广播警告空间将满



13、编写脚本/bin/per.sh,判断当前用户对指定参数文件,是否不可读并且不可写
14、编写脚本/root/bin/excute.sh ,判断参数文件是否为sh后缀的普通文件,如果是,添加所有人可执行权限,否则提示用户非脚本文件
15、编写脚本/root/bin/nologin.sh和login.sh,实现禁止和充许普通用户登录系统
16、让所有用户的PATH环境变量的值多出一个路径,例如:/usr/local/apache/bin
17、用户root登录时,将命令指示符变成红色,并自动启用如下别名:rm=‘rm –i’
cdnet=‘cd /etc/sysconfig/network-scripts/’
editnet=‘vim /etc/sysconfig/network-scripts/ifcfg-eth0’
editnet=‘vim /etc/sysconfig/network-scripts/ifcfg-eno16777736 或 ifcfg-ens33 ’ (如果系统是CentOS7)
18、任意用户登录系统时,显示红色字体的警示提醒信息“Hi,dangerous!”
19、编写生成脚本基本格式的脚本,包括作者,联系方式,版本,时间,描述等
20、编写用户的环境初始化脚本reset.sh,包括别名,登录提示符,vim的设置,环境变量等
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Linux学习 shell脚本