ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

linux学习第4课

2021-05-05 14:53:18  阅读:188  来源: 互联网

标签:sbin cut grep passwd echo 学习 etc linux


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 #为行添加序号。
执行结果:
linux学习第4课

显示用户个数:grep -v '/sbin/nologin' /etc/passwd|wc -l
命令解释:
grep -v '/sbin/nologin' /etc/passwd #显示非/sbin/nologin的行;
wc -l #统计行数,实际就是非/sbin/nologin的用户数。
执行结果:
linux学习第4课

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最大的那一行。
执行结果:
linux学习第4课

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列进行从大到小排序
执行结果:
linux学习第4课

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;
linux学习第4课
(2)为df01.sh添加执行权限;
linux学习第4课
(3)执行df01.sh,并输出执行结果。
linux学习第4课

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课

标签:sbin,cut,grep,passwd,echo,学习,etc,linux
来源: https://blog.51cto.com/u_5277813/2754166

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有