linux shell编程之菜单选择(二)

简介:
#!/bin/bash
cat <<EOF
 *-(A)输入A查看/etc/password最后5个用户。
 *-(B)输入B的话就显示系统开机时间多久了
 *-(C)输入C的话就判断当前磁盘根目录使用情况是否超过50%,如果超过50%就显示“disk space is used over 50%”;如果没超过50%就显示“disk space is user below 50%”
 *-(D)输入D的话就显示出系统当前处于LISTEN状态的PID进程程序名称,以“program-name(pid)”这种形式显示。
 *-(E)输入E的话获取系统的IP和掩码,以"IP/NETMASK"形式显示
 *-(F)输入F的话添加系统用户,完了后添加该用户密码(记得给以提示操作)
 *-(G)输入G的话显示系统使用率最多的10条命令,还有使用的次数
EOF
read -p "请输入你的选择 A|B|C|D|E|F|G: " input
case $input in
  A)
tail -n 5 /etc/passwd | awk -F: '{print "user:"$1, "UID"$3}'
  ;;
  B)
 awk '{print $1/60/60"hours"}' /proc/uptime
  ;;
  C)
 df -h | awk '$6=="/"{if($5>50)print "disk space is used over 50%";else print "disk space is user below 50%"}'
  ;;
  D)
 netstat -nptl | awk '/LISTEN/{print $7}'|awk -F/ '{print $2"("$1")"}'
  ;;
  E)
 ifconfig eth0 | awk -F"[ :]+" 'NR==2{print $4"/"$NF}'
  ;;
  F)
echo -e "Please input username"
        read user
        echo -e "Please input password"
        read pass
        useradd $user
        echo $pass | passwd --stdin $user
  ;;
  G)
awk '{++a[$1]}END{for(i in a)print i,a[i]|"sort -k2 -nr"} ~/.bash_history' | head
  ;;
  *)
    printf "your input is wrong\n"
;;
esac

本文转自1594cqb 51CTO博客,原文链接:http://blog.51cto.com/wolfchen/964997,如需转载请自行联系原作者
相关文章
|
7月前
|
安全 算法 Ubuntu
Linux(openssl)环境:编程控制让证书自签的技巧。
总结:在Linux环境中,OpenSSL是一个非常实用的工具,可以帮助我们轻松地生成自签名证书。通过上述三个简单步骤,即可为内部网络、测试环境或开发环境创建自签名证书。但在公共访问场景下,建议购买经过权威认证机构签发的证书,以避免安全警告。
308 13
|
8月前
|
Linux Shell
shell_42:Linux参数移动
总的来说,参数移动是Linux shell脚本中的一个重要概念,掌握它可以帮助我们更好地处理和管理脚本中的参数。希望这个解释能帮助你理解和使用参数移动。
173 18
|
9月前
|
JavaScript Ubuntu Linux
如何在阿里云的linux上搭建Node.js编程环境?
本指南介绍如何在阿里云Linux服务器(Ubuntu/CentOS)上搭建Node.js环境,包含两种安装方式:包管理器快速安装和NVM多版本管理。同时覆盖全局npm工具配置、应用部署示例(如Express服务)、PM2持久化运行、阿里云安全组设置及外部访问验证等步骤,助你完成开发与生产环境的搭建。
|
10月前
|
Linux
Linux编程: 在业务线程中注册和处理Linux信号
通过本文,您可以了解如何在业务线程中注册和处理Linux信号。正确处理信号可以提高程序的健壮性和稳定性。希望这些内容能帮助您更好地理解和应用Linux信号处理机制。
185 26
|
10月前
|
Linux
Linux编程: 在业务线程中注册和处理Linux信号
本文详细介绍了如何在Linux中通过在业务线程中注册和处理信号。我们讨论了信号的基本概念,并通过完整的代码示例展示了在业务线程中注册和处理信号的方法。通过正确地使用信号处理机制,可以提高程序的健壮性和响应能力。希望本文能帮助您更好地理解和应用Linux信号处理,提高开发效率和代码质量。
189 17
|
12月前
|
存储 监控 Linux
嵌入式Linux系统编程 — 5.3 times、clock函数获取进程时间
在嵌入式Linux系统编程中,`times`和 `clock`函数是获取进程时间的两个重要工具。`times`函数提供了更详细的进程和子进程时间信息,而 `clock`函数则提供了更简单的处理器时间获取方法。根据具体需求选择合适的函数,可以更有效地进行性能分析和资源管理。通过本文的介绍,希望能帮助您更好地理解和使用这两个函数,提高嵌入式系统编程的效率和效果。
512 13
|
运维 监控 Shell
深入理解Linux系统下的Shell脚本编程
【10月更文挑战第24天】本文将深入浅出地介绍Linux系统中Shell脚本的基础知识和实用技巧,帮助读者从零开始学习编写Shell脚本。通过本文的学习,你将能够掌握Shell脚本的基本语法、变量使用、流程控制以及函数定义等核心概念,并学会如何将这些知识应用于实际问题解决中。文章还将展示几个实用的Shell脚本例子,以加深对知识点的理解和应用。无论你是运维人员还是软件开发者,这篇文章都将为你提供强大的Linux自动化工具。
|
Shell
Shell编程(下)
Shell编程(下)
199 1
|
Shell Linux Windows
Shell编程(上)
Shell编程(上)
153 1
|
Ubuntu Linux Shell
【Linux操作系统】探秘Linux奥秘:shell 编程的解密与实战
【Linux操作系统】探秘Linux奥秘:shell 编程的解密与实战
222 0