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
4、Crontab在11月份内,每天的早上6点到12点中,每隔2小时执行一次/use/bin/httpd.sh
怎么实现?
0 6-12/2 * 11 * /usr/bin/httpd.sh
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面试题)
1 2 3 4 5 6 7 |
[root@web01 ~]# cat access.log http://www.etiantian.org/index.html http://www.etiantian.org/1.html http://post.etiantian.org/index.html http://mp3.etiantian.org/index.html http://www.etiantian.org/3.html http://post.etiantian.org/2.html |
解答:
分析:此类问题是运维工作中最常见的问题。可以演变成分析日志,查看TCP各个状态连接数,查看单IP连接数排名等等。
1 2 3 4 |
[root@web01 ~]# awk -F '[/]+' '{print $2}' access.log|sort|uniq -c|sort -rn -k1 3 www.etiantian.org 2 post.etiantian.org 1 mp3.etiantian.org |
sort(选项)(参数)
选项
-b:忽略每行前始出的空格字符;
-c:检查文件是否已经按照顺序排序;
-d:排序时,处理英文字母、数字及空格字符外,忽略其他的字符;
-f:排序时,将小写字母视为大写字母;
-i:排序时,除了040至176之间的ASCII字符外,忽略其他的字符;
-m:将几个排序号的文件进行合并;
-M:将前面3个字母依照月份的缩写进行排序;
-n:依照数值的大小排序;
-o<输出文件>:将排序后的结果存入制定的文件;
-r:以相反的顺序来排序;
-t<分隔字符>:指定排序时所用的栏位分隔字符;
+<起始栏位>-<结束栏位>:以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。
8、杀死以A开头的所有进程。
https://zhidao.baidu.com/question/39629953.html
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命令
lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。
使用IPv4协议的局域网:
执行命令: lsof -Pnl +M -i4|grep 8080
输出结果: java 1419 1401 10u IPv4 6793357 TCP *:8080 (LISTEN)
方法2 先使用 netstat命令,再用 ps命令
执行命令: netstat -anp|grep 8080
输出结果: tcp 0 0 :::8080 :::* LISTEN 12006/java
执行命令: ps -ef | grep 12006
输出结果: root 12886 12851 0 Dec09 ? 00:01:14 /home/bjca/bea/jdk160_05/bin/java -client -Xms256m -Xmx512m -XX:CompileThreshold=8000 -XX:PermSize=48m -XX:MaxPermSize=128m......
10、服务器免密登录如何实现?
https://blog.csdn.net/simongeek/article/details/53501629
11、Shell中$#,$$,$?,$0分别代表什么?
https://blog.csdn.net/slovyz/article/details/47400107
$$
Shell本身的PID(ProcessID)
$!
Shell最后运行的后台Process的PID
$?
最后运行的命令的结束代码(返回值)
$-
使用Set命令设定的Flag一览
$*
所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。
$@
所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。
$#
添加到Shell的参数个数
$0
Shell本身的文件名
$1~$n
添加到Shell的各参数值。$1是第1参数、$2是第2参数…。
12、Nginx算法
https://blog.csdn.net/gzh0222/article/details/8095994
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;
}
http://www.it610.com/article/4921101.htm
14、Nginx优化方面有哪些?
15、请写出一段Python代码实现删除一个list里面的重复元素
https://blog.csdn.net/melody_1314/article/details/7298448
#!/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等
转载于:https://www.cnblogs.com/huangtiandi001/p/9197270.html
PYTHON运维开发面试题整理相关推荐
- python运维面试题_PYTHON运维开发面试题整理
1.请使用Linux系统命令统计出establish状态链接数有多少? netstat -an |grep ESTABLISHED |wc -l -a (all)显示所有选项,默认不显示LISTEN相 ...
- 运维开发面试题集锦(25k-35k)
我这里分享几道新来的运维开发同事做过的题给大家: 1.讲讲traefik的实现原理 2.将某台新机器(aws美东区域)加到容器集群之后,发现该节点没法加入到容器集群里面. 分析下是什么原因导致的? 恰 ...
- python django及运维开发面试题总结
面试题总结 一.python 1 python常用的魔术方法有哪些,其中__init__和__new__有什么区别? __del__方法 __call__方法 __init__方法 __new__方法 ...
- python运维开发之socket网络编程01
python运维开发之socket网络编程01说明:本文来自来自北京老男孩linux运维实战培训中心-运维开发课程免费视频内容,本文内容为系列内容,更多分享信息见:http://oldboy.blog ...
- 金九银十面试怒拿6个offer——测试开发面试题整理
金九银十面试怒拿6个offer--测试开发面试题整理 1.软件测试的流程是什么? 2.测试用例主要有哪些元素? 3.软件测试有什么策略和阶段? 4.黑盒测试和白盒测试是什么?二者有什么区别? 5.软件 ...
- python运维工程师面试题_新浪软件测试面试题-Linux运维工程师面试真题
新浪软件测试面试题-Linux运维工程师面试真题 作为Linux运维工程师,进入大公司是开启职业新起点的关键,今天特别分享了其在新浪面试Linux运维及云计算工程师的题目和经历,希望对广大Linux运 ...
- 运维工程师面试题整理——》 IDC机房运维
568A的排线顺序从左到右依次为:白绿.绿.白橙.蓝.白蓝.橙.白棕.棕. 568B则为:白橙.橙.白绿.蓝.白蓝.绿.白棕.棕 1.了解什么是IDC? IDC机房就是电信部门利用已有的互联网通信线路 ...
- 后端开发面试题整理 2019
在一个公众号看到了下面的面试题整理,觉得不错,就在这篇博客记录下来,寒假这段时间会抽空去逐个解决这些面试问题,并用博客逐个记录这些面试题的答案,请关注后续---- JAVA集合题 Collection ...
- 【面试题】测试工程师/自动化测试/测试开发面试题整理
[自己做个笔记,大家有需要的可以看看,有问题欢迎指出] 文章目录 基础面试题 1.设计用例的方法.依据有哪些 2.软件的生命周期 3.测试流程 4.bug生命周期 5.你在测试中发现了一个bug,但是 ...
- Linux运维工程师面试题整理
1.Nginx反向代理,负载均衡,动静分离,工作原理及优化 nginx配置反向代理. vim Nginx.conf Server模块中配置 Listen 80 Server_name ip; 在ser ...
最新文章
- 在express.js上启用HTTPS
- 轻量级分布式文件系统FastDFS使用安装说明手册(新手入门级)
- 设计模式学习(六)结构型模式初步了解
- Java Mybatis Xml写法 查询语句的动态设计总结
- 还你一个干净清爽的Windows系统--win7重装小记
- 帆软报表插件开发之fine-decision中的MessageEventProvider扩展
- pythonsys用法_Python 使用sys模块
- LabVIEW--为控件添加说明信息
- 静态路由实验:Dynagen-Dynamips + WinPcap + SecureCRT
- IR2104驱动原理--恩智浦智能车电机驱动
- 阿铭Linux_总览部分学习笔记20190114
- Quasi Recurrent Neural Network (QRNNs) (git待更新...)
- 电脑通过热点共享网络,手机连接热点可以访问其他内网
- 编程式路由导航连续跳转出现NavigationDuplicated报错的问题
- 阿里电话面试总结(人生第一次面试!!)
- Windows server2008中的DNS服务器架构(八)
- 运维(2)运维的主要工作内容
- 信息系统项目管理师学习笔记14-信息文档管理与配置管理
- 恒星物联 排水管网监测解决方案
- 婴儿浴缸儿童护理用品CE认证EN17072测试范围
热门文章
- typedef struct引起的结构体问题
- 动图处理_终于找到了,最全的废气处理动图
- android继承图,Android图形系统(三)-View绘制流程
- oracle 手动链库,Oracle 数据库干数据库链(Database links)的两个例子
- mysql视图可以完成的操作_MySQL视图操作
- 启动报错:Error creating bean with name ‘XXX’ defined in...
- 5.2探究执行器(Executors)
- Lecture 1:强化学习简介
- 本周ASP.NET英文技术文章推荐[07/22 - 07/28]:VS 2008、.NET 3.5、IronRuby、jQuery、ASP.NET AJAX、IIS7...
- [代码审计]phpshe开源商城后台两处任意文件删除至getshell