常用统计命令

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 1.排序并统计相同ip访问次数 # cat access.log |awk '{print $1}'|grep -v "^$"|sort|uniq -c # awk '{S[$1]++} END{for (i in S) print S[i],i}' access.

1.排序并统计相同ip访问次数

# cat access.log |awk '{print $1}'|grep -v "^$"|sort|uniq -c

# awk '{S[$1]++} END{for (i in S) print S[i],i}' access.log

2.统计各种连接状态的数量

# netstat -n | awk '/^tcp/ {++S[$NF]} END{for(a in S) print a, S[a]}'

$NF:表示一行的最后一列;S[$NF]:表示数组元素的值;++S[$NF]:表示对某个数加一

3.统计总访问量

# cat access.log |awk '{print $1}'|sort|uniq -c|awk 'BEGIN{sum=0} {sum+=$1} END{print "PV is",sum}'

4.统计输出格式:[访问次数*单个文件大小]  [访问次数]  [访问的文件]

# awk '{array_num[$7]++;array_size[$7]=array_size[$7]+$10}END{for(i in array_num) print array_size[i],array_num[i],i}' access_2010-12-8.log |sort -rn|head

# awk '{array_num[$7]++;array_size[$7]=array_size[$7]+$10}END{for(i in array_num) print "PV:"array_size[i],"\t""Count:"array_num[i],"\t""File:"i}' access.log |sort -rn|head

# awk '{print $7,$10}' s-access.log |sort|uniq -c|sort -r|awk '{print "PV:"$1*$3,"\t""Count:"$1,"\t""File:"$2}'|sort -rn|head

5.统计/etc/passwd 中各种类型shell的数量

# awk -F: '{shells[$NF]++} END{ for(i in shells){print i,shells[i]} }' /etc/passwd

6.网站访问状态统计 <当前状态 netstat>

# netstat -ant |grep :80 |awk '{access_stat[$NF]++} END{for(i in access_stat ){print i,access_stat[i]}}'

or   

# netstat -ant |grep :80 |awk '{access_stat[$NF]++} END{for(i in access_stat ){print i,access_stat[i]}}' |sort -k2 -n |head

7.统计当前访问的每个IP的数量 <当前状态 netstat>

#netstat -ant |grep :80 |awk -F: '{ip_count[$8]++} END{for(i in ip_count){print i,ip_count[i]} }' |sort

8.统计Apache/Nginx日志中某一天的PV量 <统计日志>

#grep '07/Aug/2012' access.log |wc -l

9.统计Apache/Nginx日志中某一天不同IP的访问量<统计日志>

#grep '07/Aug/2012' access.log |awk '{ips[$1]++} END{for(i in ips){print i,ips[i]} }' |sort -k2 -rn |head

or     

# grep '07/Aug/2012' access.log |awk '{ips[$1]++} END{for(i in ips){print i,ips[i]} }' |awk '$2>100' |sort -k2 -rn

10.统计用户名为4个字符的用户

# awk -F: '$1~/^....$/{count++; print $1} END{print "count is: " count}' /etc/passwd

or      

# awk -F: 'length($1)==4{count++; print $1} END{print "count is: "count}' /etc/passwd

11.删除配置文件中#号注释行

# sed -r -i '/^#/d' file.conf 

12.删除无内容空行

# sed -r '/^$/d' file.conf 

-------------------------------------------------------------

作者: 罗穆瑞

转载请保留此段声明,且在文章页面明显位置给出原文链接,谢谢!

------------------------------------------------------------------------------

如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!

------------------------------------------------------------------------------

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
目录
相关文章
|
1月前
|
安全 数据可视化 开发者
有什么值得推荐的网站源码分享下载?
本文指出开发者找优质安全网站源码耗时,介绍了多种获取渠道:有 GitHub 等综合开源社区,虽资源多但新手筛选难;有垂直领域平台,其中 PageAdmin CMS 系统因源码完整、易上手、扩展性强受青睐;还有贴合国内需求的国内社区。同时提醒注意版权与安全检测,助力开发者高效搭建项目。
461 9
|
3月前
|
人工智能 自然语言处理 物联网
 团队效率翻倍秘诀:SOP自动生效的智能方法与SOP标准化工具
SOP工具历经四代技术演进,从纸质文档发展到融合知识图谱与自适应引擎的智能系统。在数字化转型背景下,智能SOP具备情境感知、增强现实指引、自优化流程与联邦合规检查等新能力。系统功能涵盖智能流程构建、动态执行控制与持续优化分析,支持NLP解析、多模态交互与实时合规检查。实施采用四阶段框架,应对跨部门标准不统一、遵循率低等挑战。未来将融合LLM、神经符号系统、量子优化等前沿技术,推动SOP向自我演进与人机协同方向发展。
418 0
|
存储 JSON 监控
grafana/promtail 作用
Grafana/ Promtail 是一个日志的收集、存储和可视化工具。它主要用于监控和分析分布式系统的日志数据。Grafana是一个开源的数据可视化工具,而Promtail是Grafana的一个组件,用于收集和发送日志数据。Grafana/ Promtail具有以下作用: 1. 日志收集:Promtail可以从不同的源收集日志数据,如系统日志、应用日志等,并将其发送到中央存储库,如Elasticsearch、Loki等。 2. 自动发现和标记:Promtail可以自动发现并标记正在运行的容器和主机,以便在收集日志时进行标识和过滤。 3. 丰富的日志格式支持:Promtail支持多种常见
650 0
|
人工智能
2025年人工智能与可持续发展国际学术会议 2025 International Conference on Artificial Intelligence and Sustainable Development (ICAISD 2025)
2025年人工智能与可持续发展国际学术会议 2025 International Conference on Artificial Intelligence and Sustainable Development (ICAISD 2025)
736 7
|
9月前
|
前端开发 JavaScript
如何使用CSS过渡实现页面元素的淡入淡出效果?
如何使用CSS过渡实现页面元素的淡入淡出效果?
433 79
|
传感器 人工智能 安全
智能窗户:自动调节光线与温度的玻璃
【10月更文挑战第20天】智能窗户通过内置传感器和控制系统,自动调节光线与温度,提升家居舒适度并实现节能减排。本文探讨其基本原理、技术创新、实际应用及未来发展趋势,展示这一高科技产品如何改变我们的生活方式。
|
物联网 开发者 智能硬件
无线模块透明传输原理及过程解析
透明传输是无线模块中一种保持数据原样的传输技术,它使数据在发送和接收时不经过任何处理,确保内容一致。该过程包括配置模块为透明模式、数据通过串口发送、模块封装帧格式并通过无线信道传输,以及接收端解封装并传递给应用。这种传输方式简化开发、保证数据完整性、提高通信效率且灵活性高,常用于物联网和智能家居等领域的无线通信。
381 2
|
前端开发 Android开发 开发者
移动应用开发的未来:跨平台框架与原生开发的融合
【10月更文挑战第36天】本文探讨了移动应用开发领域内,跨平台框架与原生开发之间的相互作用及其未来发展趋势。通过分析Flutter和React Native等流行跨平台解决方案的优缺点,以及它们如何与传统iOS和Android开发相结合,本文揭示了一种新兴的开发模式,旨在提高开发效率并保持应用性能。
当用户需求不详细时,如何有效应对
当用户需求不详细时,如何有效应对
769 0
|
关系型数据库 应用服务中间件 虚拟化
镜像制作
镜像制作
437 2