1.查看有哪些进程,并打印详细路径
ps auxf
2.以序号打印文件
nl
3.倒序查看文件
tac
4.正确和错误输出到空
>/dev/null 2>&1
5.根据时间过滤一个大文件的日志到另一个文件 (这里要注意:截取的开始时间和结束时间必须在日志中存在,精确到秒,否则匹配不到,也就取不到任何数据)
sed -n '/20\/Dec\/2021:12:22:00/,/20\/Dec\/2021:12:27:00/p' access.log > test.log
6.统计nginx日志文件top10的访问uri(日志文件太大的话可以先根据时间过滤出需要的部分)
awk '{print $7}' nginx.log | sort | uniq -c | sort -nr -k1 | head -n 10
cat nginx.log |awk '{print $7}'| sort|uniq -c| sort -rn| head -10 | more
7.grep去除注释和空行并打印
grep -v '^\s*$\|^\s*\#' test.txt
8.统计nginx日志中访问前十的ip
awk '{print $1}' nginx.log | sort | uniq -c | sort -nr -k1 | head -n 10
9.查找当前目录下7天以前的log结尾的文件
find . -maxdepth 1 -mtime +7 -type f -name '*.log' -exec rm -rf {} \;
10.过滤日志文件中某段时间的日志,输出到文件,具体格式根据日志里面的格式来
sed -n '/20\/Dec\/2021:12:22:00/,/20\/Dec\/2021:12:27:00/p' access.log > test.log
11.杀死系统的僵尸进程
ps -A -ostat,ppid,pid,cmd | grep -e '1' | awk -F" " '{ print $2 }' | xargs kill -HUP