1.编写脚本实现传入进程pid,查看对应进程/proc下cpu、内存指标
#!/bin/
bash
read -p
"please input pid:" pid
ps_pid=`ps aux|awk
'{print $2}'|
grep $pid`
if [ !
$ps_pid ];then
echo "Please ensure pid:$pid is exist!"
exit 1
else
echo "The MEM is `grep -i vmsize /proc/$pid/status |awk '{print $2}'` kB"
echo "The CPU is `ps -Lo %cpu -p $ps_pid|sed -n 2p` %"
fi
2. 编写脚本实现每分钟检查一个主机端口是否存活(提示使用nmap),如果检查到端口不在线,sleep 10s,如果三次不存在,记录到日志
#!/bin/
bash
read -p
"Please input Ip:(eg:192.168.1.0): " ip_add
read -p
"Please input Port:(eg:3306): " ip_port
if [ !
$ip_add ];then
echo "Please input Ip!"
exit 1
elif [ !
$ip_port ];then
echo "Please input Port!"
exit 1
fi
i=
1
while true;
do
port_status=`nmap $ip_add -p $ip_port|grep $ip_port|awk
'{print $2}'`
if [
"$prot_status" !=
"open" ];then
sleep 10
let i++
if [ $i ==
3 ];then
echo "$ip_add:$ip_port is down at $(date +%F_%T)" >> /
var/log/
ip_port.log
break
fi
else
break
fi
sleep 60
done
3. 编写脚本/root/bin/execute.sh,判断参数文件是否为sh后缀的普通文件,如果是,添加所有人可执行权限,否则提示用户非脚本文件
#!/bin/
bash
file=`echo
"$1"|sed -nr
's#.*\.(sh$)#\1#p'`
if [
"$file" =
"sh" -a -f
"$1" ];then
chmod a+x $
1
echo "Permission has been added!"
else
echo "$1 is not scripts file!"
fi
4. 编写脚本/root/bin/nologin.sh和login.sh,实现禁止和允许普通用户登录系统
#!/bin/
bash
if [ ! -f
"/etc/nologin" ];then
touch /etc/
nologin
#echo "ALL User is not allow to login!"
fi
#!/bin/
bash
if [ -f
"/etc/nologin" ];then
rm -f /etc/
nologin
#echo "ALL User is allowed to login!"
fi
5. 编写脚本/root/bin/sumid.sh,计算/etc/passwd文件中的第10个用户和第20个用户的ID之和
#!/bin/
bash
L10=`sed -n 10p /etc/passwd|awk -F:
'{print$3}'`
L20=`sed -n 20p /etc/passwd|awk -F:
'{print$3}'`
echo $(($L10+$L20))
转载于:https://www.cnblogs.com/bj-mr-li/p/11307466.html
相关资源:斯坦福大学机器学习第七周编程作业