第三周作业

第三周shell及小工具

1、统计出/etc/passwd文件中其默认shell为非/sbin/nologin的用户个数,并将用户都显示出来

[root@localhost ~]#grep -v /sbin/nologin /etc/passwd |cut -d: -f1
#grep取反,再已:为分隔符,取第一字段
root
sync
shutdown
halt
zhangsan
[root@localhost ~]#grep -v /sbin/nologin /etc/passwd |cut -d: -f1|wc -l
#wc统计个数
5

2、查出用户UID最大值的用户名、UID及shell类型

[root@localhost ~]#cat /etc/passwd |cut -d: -f1,3,7|sort -t: -k2 -nr|head -1
nfsnobody:65534:/sbin/nologin
# 已冒号为分隔符 取第一第三,第7 列,再用sort排序已冒号为分隔符,排倒序第二字段,取第一个值

3.统计当前连接本机的每个远程主机IP的连接数,并按从大到小排序

[root@localhost ~]#ss -atun |grep -i estab|tr -s " "|cut -d " " -f4|sort -nr
68
0
#过滤estab忽略大小写,压缩空格,取第4列,倒排序

4、编写脚本disk.sh,显示当前硬盘分区中空间利用率最大的值

[root@localhost ~]# df
#需要取第5字段
文件系统                   1K-块     已用    可用 已用% 挂载点
/dev/mapper/centos-root 10475520  4994824 5480696   48% /
devtmpfs                  917600        0  917600    0% /dev
tmpfs                     933524        0  933524    0% /dev/shm
tmpfs                     933524     9200  924324    1% /run
tmpfs                     933524        0  933524    0% /sys/fs/cgroup
/dev/sda1                5223424   182388 5041036    4% /boot
tmpfs                     186708       12  186696    1% /run/user/42
tmpfs                     186708        0  186708    0% /run/user/0
/dev/sdb1               20960256 20960236      20  100% /N59
[root@localhost ~]# df |awk -F "[ %]+" /sd/'{print $5}'|sort -nr|head -1
#只取数字
[root@localhost ~]# vim disk.sh
#编写脚本
[root@localhost ~]# cat disk.sh 
#!/bin/bash
use=`df |awk -F "[ %]+" /sd/'{print $5}'|sort -nr|head -1`

echo $use

[root@localhost ~]# bash disk.sh 
100

5、编写脚本 systeminfo.sh,显示当前主机系统信息,包括:主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小

[root@localhost ~]# vim systeminfo.sh 
#!/bin/bash
name=`hostname`
ip=`ifconfig ens33|awk /netmask/'{print $2}'`
os=`cat /etc/redhat-release`
kernel=`uname -r` 
cpu=`lscpu|grep 型号名称:|tr -s " "|cut -d":" -f2`
mem=`free -hm |awk /Mem/'{print $2}'`
space=`lsblk |awk /disk/'{print $4}'|awk -F G '{print $1}'`
G="\e[1;32m" 
B="\e[1;34m" 
E="\e[0m"     
      
for i in $space
 do let sum=$[$sum+$i]
done
    
echo -e "$B主机名:$E$G\t$name\t$E"
echo -e "${B}IP地址:$E$G\t$ip\t$E" 
echo -e "$B系统版本:$E$G\t$os\t$E"
echo -e "$B内核版本:$E$G\t$kernel\t$E"
echo -e "${B}cpu名称:$E$G\t$cpu\t$E"
echo -e "$B内存总大小$E:$G\t$mem\t$E"
echo -e "$B硬盘总大小$E:$G\t${sum}G\t$E"




[root@localhost ~]# bash systeminfo.sh 
主机名:	localhost.localdomain	
IP地址:	192.168.91.101	
系统版本:	CentOS Linux release 7.4.1708 (Core) 	
内核版本:	3.10.0-693.el7.x86_64	
cpu名称:	 AMD Ryzen 7 4800U with Radeon Graphics	
内存总大小:	1.8G	
硬盘总大小:	60G	

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值