Linux 运维工程师经典面试题合集(不断更新中 ...)

写在前面的话

做运维以来,关注了很多关于互联网技术,培训等乱七八糟的公众号,时不时的就会推一些各种公司的面试题过来。

大致看了一下,发现自己很多知识要么遗忘了,要么很难说出个所以然,所以这里对那些个人觉得很有意思的知识点做个汇总,偶尔再翻看一下,或许受益无穷。

当然,学习永远是一个过程,这篇博客也正处于完善的过程 ...

进入正题

【1】如何查看 HTTP 的并发请求数与其 TCP 连接状态?

netstat -n | awk '/^tcp/ {++b[$NF]} END {for(a in b) print a,b[a]}'

显示效果: 

我这里是台测试机器,所以显示的东西比较少,而且我也很少用这个功能,但是觉得还是很有意思。

另外值得一提的是 Linux 服务器打开文件数也是影响并发的重要一环,具体可以查看该文件配置:/etc/security/limits.conf

当然同级目录下面的 limits.d 目录下的的配置文件也需要关注,也可以使用 ulimit -n 查看当前的配置数量。

【2】查看每个 IP 地址的连接数:

netstat -n | awk '/^tcp/ {print $5}' | awk -F: '{print $1}' | sort | uniq -c | sort -rn

 效果如图:

这个东西大致可以看出有没有人在恶意访问你的服务器! 

【3】通过 tcpdump 查看 80 端口访问量排前 10 的:

tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F"." '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -nr |head -10

效果如图:

注意自己机器的 网卡名称 就行!

【4】统计 access.log 中访问量前 10 的 IP:

cat access.log | awk '{print $1}' | sort | uniq -c | sort -n -r | head -10

 效果如图:

这个比较实用,我们可以通过这个操作判断有些 非人为操作 

【5】只查看 /var/log 这一级目录下面的文件:

find /var/log -maxdepth 1 -type f

 简单的 find 命令考察,有意思的就是  -maxdepth 参数,如果不加默认会把该目录下的其它目录下的子文件也显示

这个在用于我们按照时间点删除某个目录下面的文件的时候特别有用

【6】生成 32 位的随机码: 

cat /dev/urandom | head -1 | md5sum | head -c 32

【7】如何查看二进制文件的内容?

 一般通过 hexdump 命令查看,用法:hexdump -C 文件名,没怎么用过!

-C 是比较规范的 十六进制和ASCII码显示

-c 是单字节字符显示

-b 单字节八进制显示

-o 是双字节八进制显示

-d 是双字节十进制显示

-x 是双字节十六进制显示

显示样式:

【8】ps aux 中的 VSZ 代表什么意思,RSS 代表什么意思? 

VSZ:虚拟内存集,进程占用的虚拟内存空间
RSS:物理内存集,进程战用实际物理内存空间

 如图:

猜你喜欢

转载自www.cnblogs.com/Dy1an/p/9720907.html