编写一个Shell脚本,显示CPU使用情况,硬盘和内存的利用率,显示终端下的所有进程,查看每个进程打开的具体scoket。
时间: 2024-02-15 08:02:48 浏览: 18
好的,以下是一个实现你要求功能的Shell脚本,你可以在终端中运行它:
```shell
#!/bin/bash
# 显示CPU使用情况
echo "CPU使用情况:"
top -bn1 | grep load | awk '{printf "%.2f%%\n", $(NF-2)}'
# 显示硬盘利用率
echo "硬盘利用率:"
df -h | grep -vE '^Filesystem|tmpfs|cdrom' | awk '{ print $5 " " $1 }'
# 显示内存利用率
echo "内存利用率:"
free -m | awk 'NR==2{printf "使用率: %.2f%%\n", $3*100/$2 }'
# 显示所有进程
echo "所有进程:"
ps -ef
# 查看每个进程打开的具体scoket
echo "进程打开的socket:"
sudo lsof -i
```
注意:这个脚本需要使用sudo权限才能查看进程打开的具体socket。
相关问题
编写一个Shell脚本,显示CPU使用情况,硬盘和内存的利用率,显示终端下的所有进程,查看每个进程打开的具体scoket
以下是一个简单的Shell脚本,可以实现您所要求的功能:
```shell
#!/bin/bash
# 显示CPU使用情况
echo "CPU usage:"
top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1"%"}'
# 显示硬盘利用率
echo "Disk usage:"
df -h
# 显示内存利用率
echo "Memory usage:"
free -m
# 显示所有进程
echo "All processes:"
ps -ef
# 查看每个进程打开的具体socket
echo "Socket for each process:"
lsof -i
```
您可以将这段代码保存为一个shell脚本文件(例如`sys_info.sh`),并在终端中运行它:
```
chmod +x sys_info.sh
./sys_info.sh
```
这样您就可以得到CPU使用情况、硬盘和内存的利用率、终端下的所有进程和每个进程打开的具体socket。
查看每个用户linux内存,编写shell脚本查看linux登录用户的cpu和memory使用率
可以通过 `top` 命令来查看当前系统的 CPU 和 Memory 使用情况,其中可以通过 `-u` 参数指定用户来查看该用户的 CPU 和 Memory 使用率。
以下是一个简单的 Shell 脚本,可以实现查看登录用户的 CPU 和 Memory 使用率:
```bash
#!/bin/bash
# 获取当前登录用户名称
user=$(whoami)
# 查看当前用户 CPU 和 Memory 使用情况
top -b -n 1 -u $user | grep -E "^$user" | awk '{print "CPU使用率:" $9 "%\n内存使用率:" $10 "%"}'
```
这个脚本首先获取当前登录用户的名称,然后使用 `top` 命令查看当前系统的 CPU 和 Memory 使用情况,并使用 `grep` 和 `awk` 命令从输出结果中提取出该用户的 CPU 和 Memory 使用率。最终输出结果类似于:
```
CPU使用率:0.0%
内存使用率:0.1%
```
你可以将这个脚本保存为一个文件,例如 `check_user_usage.sh`,然后通过 `chmod` 命令赋予执行权限,即可在终端中执行该脚本,如下所示:
```bash
chmod +x check_user_usage.sh
./check_user_usage.sh
```
注意:这个脚本只能查看当前登录用户的 CPU 和 Memory 使用率,如果需要查看其他用户的使用情况,需要在命令中指定相应的用户名。