作为 Linux 系统管理员,我们经常需要了解系统的基本状况,比如当前时间、系统版本、内核信息、CPU 型号、内存使用等等。但是每次手动执行各种命令来获取这些信息,无疑是一件非常繁琐的事情。
幸运的是,我们可以通过编写一个简单的 shell 脚本来一键获取这些系统信息。让我们一起来看看这个强大的脚本吧!
[root@localhost ~]# cat pc_info.sh
echo
printf "%46s\n" "系统基本信息:"
#echo "系统基本信息:"
echo "------------------------------------------------------------"
printf "%-15s %s\n" "Current Time " ": $(date '+%Y年 %m月 %d日 星期%a %H:%M:%S %Z')"
printf "%-15s %s\n" "Version " ": $(grep 'PRETTY_NAME' /etc/os-release | cut -d '"' -f 2)"
printf "%-15s %s\n" "Kernel" ": $(uname -r)"
printf "%-15s %s\n" "Uptime" ": $(uptime -p)"
printf "%-15s %s\n" "IP addr" ": $(hostname -I | awk '{print $1}')"
printf "%-15s %s\n" "Hostname" ": $(hostname)"
printf "%-15s %s\n" "Cpu" ": $(lscpu | grep 'Model name' | awk -F: '{print $2}' | sed 's/^[ \t]*//')"
printf "%-15s %s\n" "Memory" ": $(free -h | awk '/Mem/ {print $3 "i/" $2 "i"}')"
printf "%-15s %s\n" "SWAP" ": $(free -h | awk '/Swap/ {print $3 "i/" $2 "i"}')"
printf "%-15s %s\n" "Users Logged" ": $(who | wc -l) users"
echo
这个脚本不仅可以清晰地显示系统的基本信息,还采用了格式化输出的方式,使得信息更加易读。让我们来逐一看看它都包含了哪些内容:
- 当前时间:用
date
命令获取当前时间,格式化为中文显示。 - 系统版本:通过
/etc/os-release
文件获取系统版本信息。 - 内核版本:使用
uname -r
命令获取内核版本。 - 系统运行时间:使用
uptime -p
命令获取系统运行时间。 - IP 地址:通过
hostname -I
命令获取 IP 地址。 - 主机名:使用
hostname
命令获取主机名。 - CPU 信息:利用
lscpu
命令获取 CPU 型号。 - 内存使用情况:使用
free -h
命令获取内存使用情况。 - 交换区使用情况:使用
free -h
命令获取交换区使用情况。 - 当前登录用户:使用
who
命令统计当前登录用户数。
是不是非常强大?这个脚本不仅可以让您快速了解系统概况,还可以帮助您提高工作效率。
如果您想要在每次登录时自动运行这个脚本,可以将它添加到 /etc/profile.d/
目录下。这样每次用户登录时,系统都会自动执行这个脚本,并将系统信息打印出来。
相信有了这个脚本,您的 Linux 系统管理之路将变得更加轻松愉快。快去试试吧,让我们一起提升工作效率!