linux 笔记文本处理工具和正则表达式 文本处理和shell编程基础

1、统计出/etc/passwd文件中其默认shell为非/sbin/nologin的用户个数,并将用户都显示出来
[root@centos7cs ~]# cat /etc/passwd | grep -v '/sbin/nologin$' | cut -d: -f1 |wc -l
10
[root@centos7cs ~]# cat /etc/passwd | grep -v '/sbin/nologin$' | cut -d: -f1
root
sync
shutdown
halt
mysql
cscs
mageia
user1
user2
user3
2、查出用户UID最大值的用户名、UID及shell类型
[root@centos7cs ~]# cat /etc/passwd |cut -d: -f1,3,7|sort -nt: -k2|tail -n 1
user3:2005:/bin/bash
3、统计当前连接本机的每个远程主机IP的连接数,并按从大到小排序
[root@centos7cs ~]# ss -atun|grep ESTAB|tr -s " "|cut -d " " -f5|cut -d: -f1
192.168.88.144

4、编写脚本disk.sh,显示当前硬盘分区中空间利用率最大的值
[root@centos7cs ~]# sh disk.sh
14%
[root@centos7cs ~]# cat disk.sh
#!/bin/bash

df -lah|grep ^'/dev'|awk '{print $5}'|sort -r|head -1

5、编写脚本 systeminfo.sh,显示当前主机系统信息,包括:主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小
[root@centos7cs ~]# cat systeminfo.sh
RED="\E[1;31m"
GREEN="\E[1;32m"
END="\E[0m"
echo -e "$GREEN----------------------Host systeminfo--------------------$END"
echo -e "HOSTNAME: $RED`hostname`$END"
echo -e "IPADDR: $RED` ifconfig ens33|grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' |head -n1`$END"
echo -e "OSVERSION: $RED`cat /etc/redhat-release`$END"
echo -e "KERNEL: $RED`uname -r`$END"
echo -e "CPU: $RED`lscpu|grep '型号名称'|tr -s ' ' : |cut -d : -f2-20`$END"
echo -e "MEMORY: $RED`free -h|grep Mem|tr -s ' ' : |cut -d : -f2`$END"
echo -e "DISK: $RED`lsblk |grep '^sd' |tr -s ' ' |cut -d " " -f4`$END"
echo -e "$GREEN---------------------------------------------------------$END"
[root@centos7cs ~]# sh systeminfo.sh
----------------------Host systeminfo--------------------
HOSTNAME: centos7cs
IPADDR: 192.168.88.144
OSVERSION: CentOS Linux release 7.6.1810 (Core)
KERNEL: 3.10.0-957.el7.x86_64
CPU: Intel(R):Core(TM):i5-10310U:CPU:@:1.70GHz
MEMORY: 972M
DISK: 20G
20G
---------------------------------------------------------

上一篇:使用帮助命令man和help的区别以及建议


下一篇:linux文件处理命令 sort uniq cut tr wc命令