access.log文件的事例数据:
Linux命令:
cat access.log | cut -d ' ' -f 1 | sort | uniq -c | sort -nr |awk '{print $0 }' | head -n 10
命令解释:
cat access.log # 显示或读取access.log文件的内容。
| # 管道符号将前一个命令的标准输出传递给下一个命令作为输入。
cut -d ' ' -f 1 # 使用cut命令以空格为分隔符(-d),只提取每行的第一个字段(-f 1),
# 这通常是记录中的客户端IP地址。
| # 再次使用管道将结果传递到下一个命令。
sort # 将上一命令输出的IP地址进行排序。
| # 连接两个命令。
uniq -c # 对排序后的IP地址计数,即统计每个IP出现的次数。
| # 继续使用管道。
sort -nr # 以数值降序对上一步的结果再次排序,以便最大的数字排在前面。
| # 然后将这些结果传送给下一个命令。
awk '{print $0}' # 使用awk打印每一行,这里$0代表整行内容。
| # 最后一次使用管道。
head -n 10 # 输出前10行结果。
输出结果: