Linux有很多命令可以查看系统信息,比如处理器信息、厂商名称、序列号等,你可能需要执行多个命令来收集此信息。此外,很难记住所有命令及其选项。您可以根据需要编写shell脚本来自定义显示的信息。以前我们需要为不同的目的编写许多bash脚本。现在我们编写一个新的shell脚本,在每次登录shell时显示所需的系统信息。这个j脚本有6个部分,详细信息如下:一般系统信息CPU/内存当前使用率硬盘使用率超过80%列出系统WWN详细信息OracleDB实例可更新包我们已根据需要在每个部分添加了可能需要的信息部分。之后您可以根据需要修改此脚本。这个j脚本需要很多工具,其中大部分我们之前已经介绍过。如果您想在此脚本中添加其他信息,请在评论中留下您的请求,以便我们为您提供帮助。Bash脚本使您可以在每次登录shell时查看Linux系统信息。每次登录shell时,此脚本都会将系统信息打印到终端。#vi/opt/scripts/system-info.sh#!/bin/bashecho-e"------------------------------系统信息----------------------------"echo-e"Hostname:\t\t"`hostname`echo-e“正常运行时间:\t\t\t”`正常运行时间|awk'{print$3,$4}'|sed's/,//'`echo-e"Manufacturer:\t\t"`cat/sys/class/dmi/id/chassis_vendor`echo-e"ProductName:\t\t"`cat/sys/class/dmi/id/product_name`echo-e"Version:\t\t"`cat/sys/class/dmi/id/product_version`echo-e"SerialNumber:\t\t"`cat/sys/class/dmi/id/product_serial`echo-e"机器类型:\t\t"`vserver=$(lscpu|grepHypervisor|wc-l);如果[$vserver-gt0];然后回显“虚拟机”;否则回显“物理”;fi`echo-e"操作系统:\t"`hostnamectl|grep“操作系统”|cut-d''-f5-`echo-e"Kernel:\t\t\t"`uname-r`echo-e"Architecture:\t\t"`arch`echo-e"ProcessorName:\t\t"`awk-F':''/^型号名称/{print$2}'/proc/cpuinfo|独特|sed-e's/^[\t]*//'`echo-e"活跃用户:\t\t"`w|剪切-d''-f1|grep-v用户|xargs-n1`echo-e"系统主IP:\t\t"`hostname-I`echo""echo-e"------------------------------CPU/内存使用情况--------------------------------"echo-e"内存用法:\t"`免费|awk'/Mem/{printf("%.2f%"),$3/$2*100}'`echo-e"SwapUsage:\t"`free|awk'/Swap/{printf("%.2f%"),$3/$2*100}'`echo-e"CPUUsage:\t"`cat/proc/stat|awk'/cpu/{printf("%.2f%\n"),($2+$4)*100/($2+$4+$5)}'|awk'{print$0}'|head-1`echo""echo-e"----------------------------磁盘使用率>80%---------------------------------"df-Ph|seds/%//克|awk'{if($5>80)print$0;}'echo""echo-e"------------------------------对于WWN详细信息--------------------------------"vserver=$(lscpu|grep管理程序|wc-l)if[$vserver-gt0]thenecho"$(hostname)isaVM"elsecat/sys/class/fc_host/host?/port_namefiecho""echo-e"----------------------------------Oracle数据库实例-----------------------------"如果idoracle>/dev/null2>&1;then/bin/ps-ef|greppmonthenelseecho"oracle用户在$(主机名)上不存在"fiecho""if(($(cat/etc/*-release|grep-w"Oracle|RedHat|CentOS|Fedora"|wc-l)>0))thenecho-e"--------------------------------软件包更新-----------------------------》yumupdateinfo总结|grep'Security|Bugfix|Enhancement'echo-e"--------------------------------------------------------------------------“elseecho-e”----------------------------软件包更新------------------------------"cat/var/lib/update-notifier/updates-availableecho-e"-------------------------------------------------------------------------》Fi将以上脚本内容保存到文件system-info.sh中,然后添加可执行权限:#chmod+x~root/system-info.sh当脚本准备好后,将脚本文件的路径添加到.bash_profile文件的末尾(RedHat系列系统:CentOS、OracleLinux和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当您运行上述source命令时,您可能已经看到类似于以下内容的输出。来自下次你每次登录的时候打开shell都会看到这个信息,当然如果有需要你随时可以手动执行这个脚本。------------------------------系统信息--------------------------主机名:daygeek-Y700运行时间:1:201制造商:LENOVO产品名称:80NV版本:联想ideapadY700-15ISK序列号:AA0CMRN1机器类型:物理操作系统:ManjaroLinux内核:4.19.80-1-MANJARO架构:x86_64Processor名称:Intel(R)Core(TM)i7-6700HQCPU@2.60GHzActiveUser:daygeekrenuthanuSystemMainIP:192.168.1.6192.168.122.1----------------------------------CPU/MemoryUsage--------------------------------MemoryUsage:37.28%SwapUsage:0.00%CPUUsage:15.43%----------------------------DiskUsage>80%--------------------------------文件系统大小已用可用使用安装在/dev/nvme0n1p1217G202G4.6G98//dev/loop0109M109M0100/var/lib/snapd/snap/odrive-非官方/2/dev/loop191M91M0100/var/lib/snapd/snap/core/6405/dev/loop290M90M0100/var/lib/snapd/snap/core/7713----------------------------------WWN详情----------------------------CentOS8。2daygeek.com是一个虚拟机--------------------------------OracleDBInstances------------------------CentOS8.2daygeek.com上不存在oracle用户----------------------------------软件包更新--------------------------------13安全声明9重要安全通知3个中等安全通知1个低度安全通知35个错误修复通知1个增强通知----------------------------------------------------------------------------