杭州网站建设咨询蓝韵网络,外链工具xg,画册设计流程步骤,苏州高端建站公司1、统计日志每天IP访问量前十 awk {print $1} 1.log | sort -n | uniq -c | sort -n 解释#xff1a;#xff08;1#xff09;awk 命令在分段方面比较有优势#xff0c;这里的{print $1}将第一段打印出来#xff0c;awk可以用-F指定分隔符#xff0c;如果不指定分隔符{print $1} 1.log | sort -n | uniq -c | sort -n 解释1awk 命令在分段方面比较有优势这里的{print $1}将第一段打印出来awk可以用-F指定分隔符如果不指定分隔符默认就以空白字符比如空格、tab等本题中IP地址就是第一段。2sort 命令就是排序-n选项表示以数字的形式排序。如果不加-n则以ASCII排序本题的IP地址用数字的形式排序更易区分。3uniq 命令用来去重复一个文本如果有多行内容是一模一样的就使用uniq命令将相同的内容删除只保留一行。-c选项作用是计算重复的行数。所以uniq -c 的作用正好就统计了ip的访问量。不过要注意uniq去重要在排序之后进行。4最后的sort -n意思是按访问量大小来排序请求量越大的ip排在越后面。如果加一个-r选项sort -nr就是倒序排序。或者 awk {sum[$1]1};END{for(a in sum)print(sum[a],a)} 1.log | sort -nr|head -n 5 解释这条命令中$1 就表示日志中的IP地址用IP地址作为数组的下标每发现一个相同的IP地址就统计数量加1当awk遍历日志文件1.log 完毕再循环输出数组 sum 的结果要注意数组的下标是 ip地址。后面的 head -n 5 是为了输出出现访问次数最高的5个访问ip地址。 2.计算linux系统所有进程占用内存大小和top或者ps可以获取每个进程大内存使用大小。获得大小之后通过一个循环计算他们的和了。 grep Pss /proc/[0-9]*/smaps | awk {sum$2};END{print sum} 1grep 命令可以遍历目录里的文件然后将符合匹配字符的行抓取出来2awk 命令遍历grep 输出的结果统计进程使用内存的和。3在 /proc 目录下有很多和进程有关的数据读者可以自己去研究一下。需要注意的是全部进程占用的内存并不等于 free 命令所显示的 “used memory”因为“used memory”不仅包含了进程所占用的内存还包含cache/buffer以及kernel动态分配的内存等等 3.批量修改.txt文件未.txt.bak,并打包所有的.bak文件为123.tar.gz然后再批量还原文件名。 #用到的命令find / -maxdepth 1 -type f -name *.txt /tmp/file.txt#循环逐行读取/tmp/file.txt文件修改文件名为txt.bakwhile read line;domv $line $line.bakdone/tmp/file.txt#压缩打包ddata %Y%m%d%H%M%Smkdir /tmp/123$dfor f in cat /tmp/file.txtdocp $f.bak /tmp/123$ddonecd /tmptar czf 123.tar.gz ./123_$dfor f in cat /tmp/file.txt;domv $f.bak $fdone 1如果只是遍历目录找出某种文件然后修改一下文件名其实一条命令就可以搞定 find /usr/local/sbin/work -type f -name *.txt -print0 | xargs -d \0 mv {} {}.bak 要注意find 命令的查找路径需要使用绝对路径不要用相对路径。如果用 xargs 命令接在后面则用 -print0 选项将某些包含空格的特殊文件名也包含在内不会处理错误。 2脚本中的 while 循环这种方式其实也是很常见的将结果临时保存在一个文件中然后再通过while 循环读取处理。3大家看到脚本中多次使用 /tmp/file.txt 这个文件了吧。将 .txt 结尾的文件保存到一个文件中这种办法就恨到地解决了我们在习题分析中提出的第3个问题啦。4我的所有.txt 结尾的文件都在 /usr/local/src/sbin/work 目录。 如果你没有 .txt 结尾的文件可以用下面的命令生成一堆用来做实验 for i in seq 30do touch $i.txtdone 4.检测端口服务判断本机的80端口是否开启着。 检测脚本cat check_80.sh #!/bin/bashbr/ma936172842qq.comif netstat -lntp | grep -q :80thenexit 0fi/usr/local/apache2.4/bin/apachectl restart /dev/null 2/dev/nullpython /usr/local/sbin/work/mail.py $ma port_80 prot 80 down npgrep -l httpd | wc -lecho $nif [$n -eq 0];then/usr/local/apache2.4/bin/apachectl start 2/tmp/http.errorfi if [-s /tmp/http.error]thenpython /usr/local/sbin/work/mail.py $ma apache_restart_wrong cat /tmp/http.errorfi 转载于:https://blog.51cto.com/13120271/2317352