PYTHON运维开发面试题整理

网友投稿 1162 2022-10-15

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

PYTHON运维开发面试题整理

1、请使用Linux系统命令统计出establish状态链接数有多少?

netstat -an |grep ESTABLISHED |wc -l

-a (all)显示所有选项,默认不显示LISTEN相关-t (tcp)仅显示tcp相关选项-u (udp)仅显示udp相关选项-n 拒绝显示别名,能显示数字的全部转化成数字。-l 仅列出有在 Listen (监听) 的服務状态

-p 显示建立相关链接的程序名-r 显示路由信息,路由表-e 显示扩展信息,例如uid等-s 按各个协议进行统计-c 每隔一个固定时间,执行该netstat命令。

提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到

2、查询file1里面空行所在行号?

grep -n "^$" file1

3、查询file1以abc结尾的行?

grep "abc$" file1

怎么实现?

5、写一个脚本查找最后创建时间是3天前,后缀是*log的文件并删除。

#/bin/bash

# filename: del_log.sh

find / -name "*.log" -mtime 3 | xargs rm -rf

#/bin/bash

# filename: del_log.sh

find / -name "*.log" -mtime 3 -exec rm -rf {} \;

#/bin/bash

# filename: del_log.sh

find / -name "*.log" -mtime 3 -ok rm -rf {} \;

6、用shell在/usr/local下建立20个子目录xunlei1-xunlei20,再在这个子目录下分别建255个子目录dir1-dir255,再在255个子目录下创建10000个文件xunlei1.html-xunlei10000.html。

mkdir -p /usr/loca/xunlie{1..20}/dir{1..255}/    touch   /usr/loca/xunlie{1..20}/dir{1..255}/xunlei{1..10000}.html

7、通过Nginx访问日志access.log统计IP和每个地址访问的次数,按访问量列出前10名,

日格式样例如下  192.168.1.247  -  -[02/Jul/2010:23:44:59 +0800] -GET /HTTP/1.1” 200 19

cat access_log | awk ‘{print $1}’ | uniq -c|sort -rn|head -10

企业案例处理一下文件内容,将域名取出并根据域名进行计数排序处理(百度和sohu面试题)

解答:分析:此类问题是运维工作中最常见的问题。可以演变成分析日志,查看TCP各个状态连接数,查看单IP连接数排名等等。

sort(选项)(参数)

选项

-b:忽略每行前始出的空格字符;

-c:检查文件是否已经按照顺序排序;

-d:排序时,处理英文字母、数字及空格字符外,忽略其他的字符;

-f:排序时,将小写字母视为大写字母;

-i:排序时,除了040至176之间的ASCII字符外,忽略其他的字符;

-m:将几个排序号的文件进行合并;

-M:将前面3个字母依照月份的缩写进行排序;

-n:依照数值的大小排序;

-o<输出文件>:将排序后的结果存入制定的文件;

-r:以相反的顺序来排序;

-t<分隔字符>:指定排序时所用的栏位分隔字符;

+<起始栏位>-<结束栏位>:以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。

8、杀死以A开头的所有进程。

ps -ef |grep A|grep -v grep|cut -c 9-15 |xargs kill-9

在Linux平台上后台运行4个vim进程,使用如下命令即可同时结束掉4个vim进程

ps -efww|grep vim |grep -v grep|cut -c 9-15|xargs kill -9

说明:管道符“|”用来隔开两个命令,管道符左边命令的输出会作为管道符右边命令的输入。

“ps -efww”是查看所有进程的命令。这时检索出的进程将作为下一条命令“grep“的输入,注意要结束其它程序时,请将上面命令中的vim替换成其它程序名。

“grep -v grep”是在列出的进程中去除含有关键字“grep”的进程。

“cut -c 9-15”是截取输入行的第9个字符到第15个字符,而这正好是进程号PID。

“xargs kill -9”中的xargs命令是用来把前面命令的输出结果(PID)作为“kill -9”命令的参数,并执行该命令。

“kill -9”会强行杀掉指定进程,这样就成功清除了同名进程。

9、如何查看占用端口8080的进程。

方法1 使用lsof命令

10、服务器免密登录如何实现?

11、Shell中$#,$$,$?,$0分别代表什么?

$$Shell本身的PID(ProcessID)$!Shell最后运行的后台Process的PID$?最后运行的命令的结束代码(返回值)$-使用Set命令设定的Flag一览$*所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。$@所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。$#添加到Shell的参数个数$0Shell本身的文件名$1~$n添加到Shell的各参数值。$1是第1参数、$2是第2参数…。

12、Nginx算法

13、编写一个Nginx的access模块,要求准许192.168.3.29/24的机器访问,准许10.1.20.6/16这个网段的所有机器访问,准许34.26.157.0/24这个网段访问,除此之外的机器不准许访问。

location/{access 192.168.3.29/24;access 10.1.20.6/16;access 34.26.157.0/24;deny all;}

14、Nginx优化方面有哪些?

15、请写出一段Python代码实现删除一个list里面的重复元素

#!/usr/bin/python

#coding=utf-8

List1=[1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7]List1=list(set(List1))print(List1)

熟悉前端框架Django,Flask,jQuery,Bootstrap或Vue等:熟悉运维工具SaltStack、Puppet等

上一篇:PostgreSQL监控系统概览
下一篇:用KFED REPAIR快速修复ASM磁盘头
相关文章

 发表评论

暂时没有评论,来抢沙发吧~