1、统计出/etc/passwd文件中其默认shell为非/sbin/nologin的用户个数,并将用户都显示出来。
实验效果:
[root@YWQ ~]# grep -v /sbin/nologin /etc/passwd | wc -l
10
[root@YWQ ~]# grep -v /sbin/nologin /etc/passwd | cut -d: -f 1
root
sync
shutdown
halt
ywq
mysql
mageia
user1
user2
user3
[root@YWQ ~]#
2、查出用户UID最大值的用户名、UID及shell类型
解题思路:在/etc/passwd 中
ywq:x:1000:1000:YWQ:/home/ywq:/bin/bash
在该文件中,每一行用户记录的各个数据段用“:”分隔,分别定义了用户的各方面属性。各个字段的顺序和含义如下:
用户名:密码:UID:GID:可选项,用户信息:用户家目录: 登录shell
解题思路:使用 cat 命令 获取/etc/passwd 文件中的用户信息 使用 排序命令 sort , -t: 以冒号为分割 ,UID在第3列,-k3,按数字排序 -n 从小到大排序,tail 去 最后一行,使用 cut -d: 以冒号为分割 -f 分别把代表:用户名、UID、shell类型的1、3、7列找出来.
实验结果:
[root@YWQ ~]# cat /etc/passwd | sort -t: -k3 -n | tail -n 1 | cut -d: -f 1,3,7
nobody:65534:/sbin/nologin
[root@YWQ ~]#
3、统计当前连接本机的每个远程主机IP的连接数,并按从大到小排序
[root@YWQ ~]# netstat -tun|grep "ESTABLISHED"|tr -s " " :|cut -d: -f6|sort -nr|uniq -c
1 192.168.43.1
[root@YWQ ~]#
4、编写脚本disk.sh,显示当前硬盘分区中空间利用率最大的值.
[root@YWQ shell]# cat disk.sh
#!/bin/bash
#
#*************************************
#author: YWQ
#QQ: @@@@@@@@
#email: @@@@@@@qq.com
#version: 1.0
#date: 2020-12-20
#description: script
#*************************************
BEGIN="\e[1;35m"
END="\e[0m"
echo -e "硬盘分区中空间利用率最大的值: ${BEGIN}`df -h | sort -k 5 -n | tail -n 1`${END}"
echo -e "硬盘分区Inodes利用率最大的值: ${BEGIN}`df -i | sort -k 3 -n | tail -n 1`${END}"
[root@YWQ shell]# ./disk.sh
硬盘分区中空间利用率最大的值: /dev/mapper/cl-root 25G 18G 7.6G 70% /
硬盘分区Inodes利用率最大的值: /dev/mapper/cl-root 13105152 214112 12891040 2% /
[root@YWQ shell]#
5、编写脚本 systeminfo.sh,显示当前主机系统信息,包括:主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小
## 脚本:
[root@YWQ shell]# cat systeminfo.sh
#!/bin/bash
#
#*************************************
#author: YWQ
#QQ: @@@@@@@@
#email: @@@@@@@qq.com
#version: 1.0
#date: 2020-12-20
#description: script
#*************************************
echo -e "主机名 : `hostname`\n"
echo -e "IPv4地址 : `ifconfig | grep "inet\>" | sed -n 1p | tr -s " " | awk '{print $2}'`\n"
echo -e "操作系统版本: `cat /etc/redhat-release`\n"
echo -e "内核版本: `uname -a`\n"
echo -e "CPU型号: `lscpu | grep 'Model name'`\n"
echo -e "内存大小: `free -h`\n"
echo -e "硬盘大小: `lsblk`\n"
[root@YWQ shell]#
##
## 运行结果
[root@YWQ shell]# ./systeminfo.sh
主机名 : YWQ
IPv4地址 : 192.168.43.130
操作系统版本: CentOS Linux release 8.2.2004 (Core)
内核版本: Linux YWQ 4.18.0-193.28.1.el8_2.x86_64 #1 SMP Thu Oct 22 00:20:22 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
CPU型号: Model name: Intel(R) Core(TM) i5-4200U CPU @ 1.60GHz
内存大小: total used free shared buff/cache available
Mem: 1.8Gi 631Mi 178Mi 2.0Mi 990Mi 984Mi
Swap: 4.0Gi 8.0Mi 4.0Gi
硬盘大小: NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 30G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 29G 0 part
├─cl-root 253:0 0 25G 0 lvm /
└─cl-swap 253:1 0 4G 0 lvm [SWAP]
sr0 11:0 1 1.6G 0 rom
[root@YWQ shell]#
vimtutor(可参考https://yyqing.me/post/2017/2017-02-22-vimtutor-chinese-summary)