文章目录-Shell-阶段十-Bash脚本实现每次登录Shell时可以查看Linux系统信息

  • 前言
  • 总结

前言


# Bash脚本实现每次登录Shell时可以查看Linux系统信息

vi /opt/scripts/system-info.shecho -e "-------------------------------System Information----------------------------"
echo -e "Hostname:\t\t"`hostname`
echo -e "uptime:\t\t\t"`uptime | awk '{print $3,$4}' | sed 's/,//'`
echo -e "Manufacturer:\t\t"`cat /sys/class/dmi/id/chassis_vendor`
echo -e "Product Name:\t\t"`cat /sys/class/dmi/id/product_name`
echo -e "Version:\t\t"`cat /sys/class/dmi/id/product_version`
echo -e "Serial Number:\t\t"`cat /sys/class/dmi/id/product_serial`
echo -e "Machine Type:\t\t"`vserver=$(lscpu | grep Hypervisor | wc -l); if [ $vserver -gt 0 ]; then echo "VM"; else echo "Physical"; fi`
echo -e "Operating System:\t"`hostnamectl | grep "Operating System" | cut -d ' ' -f5-`
echo -e "Kernel:\t\t\t"`uname -r`
echo -e "Architecture:\t\t"`arch`
echo -e "Processor Name:\t\t"`awk -F':' '/^model name/ {print $2}' /proc/cpuinfo | uniq | sed -e 's/^[ \t]*//'`
echo -e "Active User:\t\t"`w | cut -d ' ' -f1 | grep -v USER | xargs -n1`
echo -e "System Main IP:\t\t"`hostname -I`
echo ""
echo -e "-------------------------------CPU/Memory Usage------------------------------"
echo -e "Memory Usage:\t"`free | awk '/Mem/{printf("%.2f%"), $3/$2*100}'`
echo -e "Swap Usage:\t"`free | awk '/Swap/{printf("%.2f%"), $3/$2*100}'`
echo -e "CPU Usage:\t"`cat /proc/stat | awk '/cpu/{printf("%.2f%\n"), ($2+$4)*100/($2+$4+$5)}' |  awk '{print $0}' | head -1`
echo ""
echo -e "-------------------------------Disk Usage >80%-------------------------------"
df -Ph | sed s/%//g | awk '{ if($5 > 80) print $0;}'
echo ""
echo -e "-------------------------------For WWN Details-------------------------------"
vserver=$(lscpu | grep Hypervisor | wc -l)
if [ $vserver -gt 0 ]
then
echo "$(hostname) is a VM"
else
cat /sys/class/fc_host/host?/port_name
fi
echo ""
echo -e "-------------------------------Oracle DB Instances---------------------------"
if id oracle >/dev/null 2>&1; then
/bin/ps -ef|grep pmon
else
echo "oracle user does not exist on $(hostname)"
fi
echo ""
if (( $(cat /etc/*-release | grep -w "Oracle|Red Hat|CentOS|Fedora" | wc -l) > 0 ))
then
echo -e "-------------------------------Package Updates-------------------------------"
yum updateinfo summary | grep 'Security|Bugfix|Enhancement'
echo -e "-----------------------------------------------------------------------------"
else
echo -e "-------------------------------Package Updates-------------------------------"
cat /var/lib/update-notifier/updates-available
echo -e "-----------------------------------------------------------------------------"
fi
#把上面脚本内容保存到一个文件 system-info.sh,之后添加可执行权限
chmod +x ~root/system-info.sh#当脚本准备好后,把脚本文件的路径加到 .bash_profile文件末尾
#(红帽系列的系统: CentOS, Oracle Linux和Fedora)
echo "/root/system-info.sh" >> ~root/.bash_profile#执行以下命令,来让修改的内容生效
source ~root/.bash_profile#对于Debian系统,你可能需要把文件路径加到 .profile 文件中
echo "/root/system-info.sh" >> ~root/.profile#运行以下命令使修改生效
source ~root/.profile

总结

Shell脚本学习-阶段十-Bash脚本实现每次登录Shell时可以查看Linux系统信息相关推荐

  1. Shell脚本学习-阶段十二-在CentOS 7上给一个网卡分配多个IP地址

    文章目录-Shell阶段十二-在CentOS 7上给一个网卡分配多个IP地址 前言 在CentOS 7上给一个网卡分配多个IP地址 总结 前言 在CentOS 7上给一个网卡分配多个IP地址 有时你也 ...

  2. Shell脚本学习-阶段十六-备份和恢复系统权限

    文章目录 前言 1.安装ACL工具 2.备份当前目录下(包括子目录)所有文件权限 3.修改某一文件权限,如:修改linuxprobe.txt及install.txt权限 4.恢复原有权限 总结 前言 ...

  3. Shell脚本学习-阶段二

    文章目录-Shell脚本学习阶段二 前言 shell脚本实操2 1.获取随机字符串或数字 2.定义一个颜色输出字符串函数 3.批量创建用户 4.检查软件包是否安装 5.检查服务状态 6.检查主机存活状 ...

  4. Shell脚本学习-阶段一

    文章目录 阶段一 前言 Shell脚本实例 1.hello world 2.创建用户: 2.1 通过位置变量创建用户 2.2提示用户输入用户名和密码创建用户 2.3读取user.txt文件中的用户名批 ...

  5. shell信息查看脚本linux,每次登录Shell时使用shell脚本查看Linux上的系统信息

    每次登录Shell时使用shell脚本查看Linux上的系统信息 Linux中有几个命令可以获取系统信息,例如处理器信息,制造商名称和序列号等. 您可能需要运行几个命令来收集此信息. 此外,很难记住所 ...

  6. 使用脚本快速查看Linux系统信息

    SHELL脚本目标 现在我们写一个 shell 脚本,集中显示需要的系统信息,需要显示的Linux系统信息集中为以下几部分: 1.通用系统信息 2.CPU/内存当前使用情况 3.硬盘使用率超过 80% ...

  7. Shell脚本学习-阶段三

    文章目录-Shell学习阶段三 前言 1.用shell脚本批量建立Linux用户 2. 编写shell脚本,将/usr/local/test目录下大于100k的文件转移到/tmp目录下: 3.通过ap ...

  8. Shell脚本学习-阶段二十七-命令解释三

    文章目录 前言 quyotastats repquota convertquota swapoff swapon sync chroot getent last lastb lastlog logro ...

  9. Shell脚本学习-阶段二十七-命令解释一

    文章目录-命令解释一 前言 as expr gcc gcov gdb indent ld ldconfig ldd make mktemp nm objdump perl php protoize u ...

最新文章

  1. 【linux命令】readelf工具中英文说明
  2. php mysql 主从复制_Windows 环境下,MySQL 的主从复制和主主复制
  3. 利用python实现简易版的贪吃蛇游戏(面向python小白)
  4. java.lang中String类源码分析
  5. [BeiJing2010组队]次小生成树 Tree
  6. python常用方法总结-Python3常用函数、方法总结(持续更新…)
  7. Nginx-Lua重定向系列
  8. Oracle Study--Oracle RAC CacheFusion(MindMap)
  9. OOP组合和继续的优缺点
  10. Android之解决PC端上传http表单格式文件手机解析文件名乱码问题和PC浏览器下载文件的文件名显示乱码问题
  11. 最新的Windows phone Developer tools RTW 发布了
  12. mysql 查询最早 表,【MySQL】MySQL查询表的创建时间
  13. HDOJ--2112--
  14. [软件更新]迅雷(Thunder)5.9.2.927版本发布
  15. 基于MATLAB的数字信号处理(2) 时域采样和频域采样
  16. windows设置tomcat守护进程
  17. php单引号与双引号用法
  18. c语言报刊杂志订阅系统,C杂志订阅管理系统.doc
  19. python中执行py文件出错(提示File “stdin”,line 1,SyntaxError:invalid syntax)
  20. android 使用ios字体大小,ios和android上的字体大小不同

热门文章

  1. tensorflow 人面关键点识别_人工智能算法-图像识别项目
  2. 【Kettle】血统分析
  3. (原创)boost.property_tree解析xml的帮助类以及中文解析问题的解决
  4. Ubuntu16.04死机解决方案
  5. Android 解决ViewPager双层嵌套的滑动问题
  6. The specified JRE installation does not exist异常的原因和解决办法
  7. 解决CocosCreator 在微信小游戏中使用Socket.io 报错的问题
  8. 如何在移动网页上“禁用”缩放?
  9. Docker容器的运行时性能成本是多少?
  10. java subset_Java中的TreeSet的subSet()方法 Java.util.TreeSet.subSet() - Break易站