在 Linux 中统计“日志访问量”通常指 Web 访问日志(如 Nginx / Apache) 的访问次数统计。下面按常见场景给你一套实用方法。
wc -l access.log
192.168.1.1 - - [10/Oct/2024:10:00:00 +0800] "GET /index.html HTTP/1.1" 200 1234
awk '{print $1}' access.log | sort | uniq -c | sort -nr
awk '{print $1}' access.log | sort | uniq -c | sort -nr | head
awk '{print $7}' access.log | sort | uniq -c | sort -nr | head
$7是请求路径,如/index.html
awk '{print $9}' access.log | sort | uniq -c | sort -nr
grep -E ' 404 | 500 ' access.log | wc -l
awk '{print $4}' access.log | cut -d: -f1-2 | sort | uniq -c
awk '{print $4}' access.log | cut -d: -f1 | sort | uniq -c
grep '10/Oct/2024' access.log | wc -l
grep '10/Oct/2024:10' access.log | wc -l
goaccess(实时可视化)goaccess access.log -o report.html --log-format=COMBINED
jq(如果是 JSON 日志)jq '.request' access.log.json | sort | uniq -c
docker logs nginx | grep 'GET' | wc -l
awk '{print $1}' access.log | sort | uniq -c | awk '$1>1000'
grep -i 'bot' access.log | wc -l
如果你能告诉我:
我可以直接给你精确命令。