linux学习第4课
2021/5/6 7:27:58
本文主要是介绍linux学习第4课,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1、统计出/etc/passwd文件中其默认shell为非/sbin/nologin的用户个数,并将用户都显示出来
显示用户:grep -v '/sbin/nologin' /etc/passwd|cut -d: -f1|cat -n
命令解释:
grep -v '/sbin/nologin' /etc/passwd #通过正则表达式筛选出非/sbin/nologin的行;
cut -d: -f1 #以“:”为间隔符,显示第1列;
cat -n #为行添加序号。
执行结果:
显示用户个数:grep -v '/sbin/nologin' /etc/passwd|wc -l
命令解释:
grep -v '/sbin/nologin' /etc/passwd #显示非/sbin/nologin的行;
wc -l #统计行数,实际就是非/sbin/nologin的用户数。
执行结果:
2、查出用户UID最大值的用户名、UID及shell类型
cat /etc/passwd|sort -n -t: -k3|cut -d: -f1,3,7|tail -1
命令解释:
cat /etc/passwd #显示/etc/passwd文件内容;
sort -n -t: -k3 #以“:”为字段界定符,并以第三字段为准,也就是UID,对所有行从小到大排序;
cut -d: -f1,3,7 #以“:”为间隔符,显示第1、3、7列;
tail -1 #显示最后一行,也就是UID最大的那一行。
执行结果:
3、统计当前连接本机的每个远程主机IP的连接数,并按从大到小排序
netstat -t | grep ':ssh'|tr -s ' '|cut -d ' ' -f5|cut -d: -f1|uniq -c|sort -rn
命令解释:netstat -t #以主机名和服务名的方式,显示TCP协议连接到本机的链接状态
grep ':ssh' #通过正则表达式筛选出“:ssh”的行
tr -s ' ' #压缩多个空格为一个
cut -d ' ' -f5 #以“ ”为间隔符,显示第五列;
cut -d: -f1 #以“:”为间隔符,显示第1列
uniq -c #对内容相同的行,去重,并计数;
sort -rn #对第1列进行从大到小排序
执行结果:
4、编写脚本disk.sh,显示当前硬盘分区中空间利用率最大的值
脚本内容:echo "disk use max :df | grep '^/dev/sd' |tr -s ' ' %|cut -d% -f5|sort -n|tail -1
"
命令解释:
df | grep '^/dev/sd' #将df命令的输出结果通过正则表达式筛选出以“/dev/sd”开头的行;
tr -s ' ' % #压缩多个空格为一个,并将空格用“%”代替;
cut -d% -f5 #以“%”为间隔符,显示第5列;
sort -n #从小到达排序;
tail -1 #显示最后一行,也就是空间利用率最大的那一行。
过程:
(1)新建df01.sh,并将脚本内容写入文件df01.sh;
(2)为df01.sh添加执行权限;
(3)执行df01.sh,并输出执行结果。
5、编写脚本 systeminfo.sh,显示当前主机系统信息,包括:主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小
脚本内容:
echo -e "My hostname is hostname
"
echo -e "IP address is ifconfig ens160 |grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}'|head -n1
"
#备注:网卡名称要通过ifconfig更改为本机的网卡名称
echo -e "OS version is cat /etc/redhat-release
"
echo -e "Kernel version is uname -r
"
echo -e "CPU type is lscpu|grep "Model name" |cut -d: -f2 |tr -s " "
"
echo -e "Memtotol is cat /proc/meminfo |head -n1 |grep -Eo '[0-9]+.*'
"
echo -e "Disk space is lsblk |grep 'sda\>'|grep -Eo '[0-9]+[[:upper:]]'
"
执行结果:
这篇关于linux学习第4课的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-07-04Linux系统上离线升级SSH服务的具体操作步骤-icode9专业技术文章分享
- 2024-06-0600-macOS和Linux安装和管理多个Python版本
- 2024-03-30[译]漫画SELinux概念
- 2024-03-29linux 移动文件
- 2024-03-28linux .so file
- 2024-03-28Linux 磁盘管理
- 2024-03-28Linux学习笔记(十三)磁盘管理(一):磁盘分区
- 2024-03-26linux 创建 文件
- 2024-03-25使用SecureCRT对Linux vim进行颜色设置
- 2024-03-202019-2020-12 20199317 《Linux内核原理与分析》 第十二周作业