博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux试题
阅读量:4315 次
发布时间:2019-06-06

本文共 2552 字,大约阅读时间需要 8 分钟。

1、编写脚本,统计/etc、/usr、/var目录中有多少个一级子目录和文件#!/bin/bash# danran# time is Mon Jun 5 13:09:12 CST 2017line1=`ls $1 | wc -l`line2=`ls $2 | wc -l`line3=`ls $3 | wc -l`let sum=$line1+$line2+$line3echo $sum2、自动生成脚本#!/bin/bashecho "#!/bin/bash# filename $1# author:danran# time is `date +%F`" >$1chmod +x $1vim $13、编写脚本sumid.sh,计算/etc/passwd文件中的第10个用户和第20个用户的id之和#! /bin/bashuser10="`head -n $2 $1 | tail -n 1|cut -d: -f3`"user20="`head -n $3 $1 | tail -n 1|cut -d: -f3`"let sum=$user10+$user20echo "user id sum is $sum"4、编写脚本/sumspace.sh,传递两个文件路径作为参数给脚本,计算这两个文件中所有空白行之和#!/bin/bashspaceline1=`grep "^[[:space:]]*$" $1 | wc -l`spaceline2=`grep "^[[:space:]]*$" $2 | wc -l`echo "The sum of space line:$[spaceline1+spaceline2]"5、如果用户存在cmd1,将显示用户名存在 cmd2,如果用户名不存在,将创建该用户cmd3id $user &>/dev/null && echo $user is exist || (useradd $user && echo "$user is created")6、编写脚本createuser.sh,先判断参数是否为一个,如果参数个数不为1,提示usage:createuser.sh username,并退出脚本,返回为100的状态码对用户名判断,如果存在,提示此用户已存在,创建用户并提示创建成功#!/bin/bash[ $# != 1 ] && echo "usage:createuser.sh username" && exit 100id $1 &> /dev/null && echo "user is exits" ||( useradd $1 && echo "user is create")7、编写脚本/root/bin/argsnum.sh,接受一个文件路径作为参数;如果参数个数小于1,则提示用户“至少应该给一个参数”,并立即退出;如果参数个数不小于1,则显示第一个参数所指向的文件中的空白行数#!/bin/bash[ $# -lt 1 ] && (echo "please input a arge" && exit ) || echo "`grep "^$" $1 | wc -l`"8、编写脚本/root/bin/hostping.sh,接受一个主机的IPv4地址做为参数,测试是否可连通。如果能ping通,则提示用户“该IP地址可访问”;如果不可ping通,则提示用户“该IP地址不可访问”#!/bin/bash# filename hostping.sh# author:danran# time is 2017-06-06echo $1 | egrep "([[:digit:]]{1,3}\.){3}[[:digit:]]{1,3}$" > /dev/null || { echo "danran" ; exit ; }ping -c4 $1 &> /dev/null && echo "gai ip di zhi ke fangwen" ||echo "ip bu ke fangwen"9、编写脚本/root/bin/checkdisk.sh,检查磁盘分区空间和inode使用率,如果超过80%,就发广播警告空间将满#!/bin/bash# filename checkdisk.sh# author:danran# time is 2017-06-06inode=`df -i | grep "^/dev/sd*" | tr -s ' ' '%'| cut -d'%' -f5| sort -r | head -n 1`disk=`df | grep "^/dev/sd*" | tr -s ' ' '%'| cut -d'%' -f5| sort -r | head -n 1`[ $inode -gt 80 ] && echo "danran"[ $disk -gt 80 ] && echo "dan"10、编写脚本/bin/per.sh,判断当前用户对指定的参数文件,是否不可读并且不可写#!/bin/bash# filename per.sh# author:danran# time is 2017-06-08[ ! -r $1 -a ! -w $1 ] && echo "$1 file not read and not write"11、编写脚本/root/bin/excute.sh ,判断参数文件是否为sh后缀的普通文件,如果是,添加所有人可执行权限,否则提示用户非脚本文件#!/bin/bash# filename excute.sh# author:danran# time is 2017-06-08[ $# == 0 ] && read -p "please input fimename" name || name=$1[ -f $name ] && [[ "$name" =~ \.sh$ ]] && chmod a+x $name || echo "$name not scripts file

 

转载于:https://www.cnblogs.com/suway/p/7289624.html

你可能感兴趣的文章
C#——winform
查看>>
CSS3 transform制作的漂亮的滚动式导航
查看>>
《小强升职记——时间管理故事书》读书笔记
查看>>
Alpha 冲刺(3/10)
查看>>
Kaldi中的Chain模型
查看>>
spring中的ResourceBundleMessageSource使用和测试示例
查看>>
css规范 - bem
查看>>
SQL 通用数据类型
查看>>
UVALive 6145 Version Controlled IDE(可持久化treap、rope)
查看>>
mysql 将两个有主键的表合并到一起
查看>>
底部导航栏-----FragmentTabHost
查看>>
在linux中安装jdk以及tomcat并shell脚本关闭启动的进程
查看>>
apk,task,android:process与android:sharedUserId的区别
查看>>
MySQL 同主机不同数据库之间的复制
查看>>
iOS菜鸟开发 UIView,UIImageView 的点击事件
查看>>
取得GridView被隐藏列的值方法集合
查看>>
第七章例7-14
查看>>
SQL Server 维护计划实现数据库备份(Step by Step)
查看>>
VRPN 介绍及使用
查看>>
MyBatis使用懒加载mybatis-config.xml配置
查看>>