Linux
ps命令
ps aux 列举所有进程,显示内存和cpu信息
ps -ef
- ps -ef #显示所有当前进程
- ps aux #显示所有当前进程
- ps -ax #显示所有当前进程
- ps -u pungki #根据用户过滤进程
- ps -aux --sort -pcpu | less #根据 CPU 使用来升序排序
- ps -aux --sort -pmem | less #根据用户过滤进程
- ps -aux --sort -pcpu,+pmem | head -n 10 #查询全10个使用cpu和内存最高的应用
- ps -C getty #通过进程名和PID过滤
- ps -f -C getty #带格式显示的,通过进程名和PID过滤
- ps -L 1213 #根据线程来过滤进程
- ps -axjf(或pstree) #树形显示进程
- ps -eo pid,user,args # 显示安全信息
- ps -U root -u root u #格式化输出 root 用户(真实的或有效的UID)创建的进程
netstat
- netstat -tlnp 当前机器对外开放的端口
- netstat -tnp 不看listening
awk
996 ls | awk ‘{print $1}’
997 ls | awk ‘{print $2}’
998 ls | awk -F ‘’ ‘{print $2}’
999 ls | awk -F ‘.’ ‘{print $2}’
1002 cat /etc/passwd
1003 cat /etc/passwd | awk -F ‘::’ ‘{print $2}’
1004 cat /etc/passwd | awk -F ‘:’ ‘{print $0}’
1005 cat /etc/passwd | awk -F ‘:’ ‘{print $2–$6}’
1006 cat /etc/passwd | awk -F ‘:’ ‘{print $2"–"$6}’
1007 cat /etc/passwd |awk -F ‘:’ ‘BEGIN {print “name,shell”} {print $1","$7} END {print “blue,/bin/nosh”}’
1008 cat /etc/passwd |awk -F ‘:’ ‘BEGIN {print “name,shell”} {print $1","$7} END {print “caocaocao,/bin/nosh”}’
1009 cat /etc/passwd |awk -F: ‘{print $2}’
1010 cat /etc/passwd |awk -F: ‘/root/’
1011 cat /etc/passwd |awk -F: ‘/^root/{print $6"–"$7}’
1012 awk -F ‘:’ ‘{print “filename:” FILENAME “,linenumber:” NR “,columns:” NF “,linecontent:”$0}’ /etc/passwd
1013 awk -F: ‘{print “filename:” FILENAME “,linenumber:” NR “,columns:” NF “,linecontent:”$0}’ /etc/passwd
1014 awk -F: ‘{printf(“filename:%s,linenumber:%s,columns:%s,linecontent:%s\n”,FILENAME,NR,NF,$0)}’
1015 awk -F: ‘{printf(“filename:%s,linenumber:%s,columns:%s,linecontent:%s\n”,FILENAME,NR,NF,$0)}’ /etc/passwd
1016 awk -F: ‘BEGIN{count=0;print "[start]count is " count}{count=count+1;print $0}END{print “[end]count is” count}’
1017 awk -F: ‘BEGIN{count=0;print "[start]count is ",count}{count=count+1;print $0}END{print “[end]count is”,count}’
1018 awk -F: ‘BEGIN{count=0;print "[start]count is ",count}{count=count+1;print $0;}END{print “[end]count is”,count}’ /etc/passwd
1019 awk -F: ‘BEGIN{count=0;print "[start]count is ",count}{count=count+1;print $0}END{print “[end]count is”,count}’ /etc/passwd
1020 awk -F: ‘BEGIN{count=0;print "[start]count is "count}{count=count+1;print $0}END{print "[end]count is"count}’ /etc/passwd
1021 awk -F: ‘BEGIN{count=0;print "[start]count is "count}{count=count+1;print $0}END{print "[end]count is "count}’ /etc/passwd
1022 clear
1023 ll
1024 ll | awk ‘BEGIN{size=0;print “[start]”}{size=size+$5;print $0}END{print "size="size}’
1025 ll | awk ‘BEGIN{size=0;print "[start]size="size}{size=size+$5;print $0}END{print "[END]size="size}’
1026 ll | awk ‘BEGIN{size=0;print "[start]size="size}{size=size+$5;print $0}END{print "[END]size="size/1024/1024}’
1027 ll | awk ‘BEGIN{size=0;print "[start]size="size}{size=size+$5;print $0}END{print "[END]size=“size/1024/1024"M”}’
grep
echo "123456" | grep -oE '[2-5]{1,3}
后面的{1,3}是为了限制前面ERE的匹配数量限制
curl https://testerhome.com | grep -E '.*<a title.*' | grep -v 'span' | grep 'topic' | wc -l
//获取testerhome首页里帖子的数量
curl 'https://testerhome.com/' | grep '^ *<a title="[^"]*" href="/[^"]*">[^"]*</a>'
curl 'https://testerhome.com/' | grep '^ *<a title="[^"]*" href="/[^"]*">[^"]*</a>' | awk -F\" '{print $4}' | sed 's/articles/topics/g'
学院的题目对应的答案
less nginx.log | awk -F\" '{print $3}' | awk '{print $1}' | grep -E '(404|500)' | wc -l
less nginx.log | awk '{print $1}' | sort | uniq -c | sort -rn | head -3
https://blog.csdn.net/feng973/article/details/73849586 uniq和sort搭配使用