码迷,mamicode.com
首页 > 系统相关 > 详细

运维屌丝回答网传Linux运维面试题(四)

时间:2015-08-26 20:18:28      阅读:264      评论:0      收藏:0      [点我收藏+]

标签:linux   运维   面试题   

淘米和上海埃富梦科技,笔试题


后续将整理出豪鹫亲身经历面试过的公司运维技术面的题目(非笔试题目,技术面运维经理的提问),并也附上答案。

敬请期待。。。。。


1、如何检测某个端口所占用的进程

答:如检测3306端口所占用的进程:使用命令:


[root@haojiu ~]# lsof -i:3306

COMMAND  PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME

mysqld  2452 mysql   10u  IPv4  13315      0t0  TCP *:mysql (LISTEN)



2、对于linux主机的cpu负载使用,什么情况下user的比例升高,什么情况下system的比例升高,请联系实际举例。

答:后续补充。。。



3、在不umount的情况下,如何重新设置mount的参数。

答:这个问题豪鹫也没测试过,但网上有网友提供的做法,请各位务必在实验环境中测试通过之后才能在生产环境上使用;

命令用法:[root@haojiu ~]# mount -o remount,otheroptions /mountpoint



4、不小心在系统下执行了chmod -x /bin/chmod 怎么办?

答:豪鹫在自己的虚拟机中做了一下这个命令的操作,做之前先备份一下原来的chmod命令,如下:(附chmod 默认的权限为:644)


[root@haojiu ~]# cp /bin/chmod /bin/chmod.bak -rp

[root@haojiu ~]# chmod -x /bin/chmod

[root@haojiu ~]# chmod +x vmstat.sh 

-bash: /bin/chmod: Permission denied     //执行了该命令之后,再也没权限赋权给其他文件了


如果不幸执行了以上命令,有很多方法恢复,请各位自行摸索,豪鹫提供以下几种处理办法,都是我测试通过的:


A.从其他操作系统版本一致的主机scp一个chmod命令过来即可;

B.执行命令:[root@haojiu ~]# /lib64/ld-linux-x86-64.so.2 /bin/chmod +x /bin/chmod

C.使用python命令:[root@haojiu ~]# python -c ‘__import__("os").chmod("/bin/chmod", 0755)‘



5、linux文件的权限位x对目录和文件有何不同?

答:相对于普通用户而言,x位对于目录来说,表示用户对这个目录有浏览权限,即可以ls列出目录下的东西。x位对于文件来说,表示用户对这个文件有执行的权限。





6、找出/taomee目录下的所有常规文件并设置权限755

答:豪鹫提供两种方法:

[root@haojiu ~]# find taomee/ -type f |xargs chmod 755

[root@haojiu ~]# cd taomee;for i in `ls -l | grep ‘^-‘|awk ‘{print $9}‘` ;do chmod 755 $i ;done;




7、如何查找某一文件被哪个进程打开?

答:比如查看/usr/bin/mysqld_safe这个文件是被哪个进程打开的,可以使用命令:


[root@haojiu ~]# lsof /usr/bin/mysqld_safe

COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF   NODE NAME

mysqld_sa 2339 root  255r   REG    8,2    18204 807630 /usr/bin/mysqld_safe



8、新增一块存储设备,lvm操作的命令如何写

答:LVM是在磁盘分区和文件系统之间添加的一个逻辑层,来为文件系统屏蔽下层磁盘分区布局,提供一个抽象的盘卷,在盘卷上建立文件系统。

对新增存储设备的lvm操作步骤如下:

1、 创建分区

2、 创建物理卷

3、 创建卷组

4、 激活卷组

5、 添加新的物理卷到卷组中

6、 创建逻辑卷

7、调整逻辑卷的大小

8、挂载使用



9、给主机host:172.16.0.2增加gateway10.0.0.1

答:

即时生效,但也只是临时生效:[root@haojiu ~]# route add default gw 10.0.0.1  

永久生效,修改配置文件的gateway:[root@haojiu ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0

开机生效:[root@haojiu ~]#  echo "route add default gw 10.0.0.1" >> /etc/rc.local




10、socket和tcp访问mysql的区别?

答:TCP/IP 访问mysql:这种方式会在TCP/IP连接上建立一个基于网络的连接请求,一般是client连接跑在Server上的MySQL实例,2台机器通过一个TCP/IP 网络连接。(一般是mysql客户端跟服务端不在同一机器上)

socket访问mysql:UNIX域套接字并不是网络协议,所以只能在MySQL客户端和数据库实例在同一台服务器上使用,用户可以在配置文件中指定套接字文件。




二、shell

1、使用awk打印出 welcome to taomee

答:假设welcome to taomee是test.txt中的内容,那么可以执行以下命令:

[root@haojiu ~]# awk ‘{print $0}‘ test.txt 




2、如何将一个文件中的taomee、******、peoplenet中的*内容进行替换成network(*的内容不同)

答:假设taomee、******、peoplenet这行内容存在于test.txt文件中,则可以执行以下命令:

[root@haojiu ~]# sed -i ‘s/\*\*\*\*\*\*/network/g‘ test.txt

(其他方法请网友提供~.~)



3、找出access.log中访问top 10的ip地址


答:豪鹫提供几种方法:

[root@haojiu ~]# awk ‘{print $1}‘ nginx.log |sort |uniq -c|sort -nr|head 

[root@haojiu ~]# cat nginx.log |cut -d ‘ ‘ -f 1 |sort |uniq -c | sort -nr | awk ‘{print $0 }‘ | head 

[root@haojiu ~]# awk ‘{print $1}‘ nginx.log| sort | uniq -c | sort -n -k 1 -r | head

方法还有很多,请网友补充~.~




4、打印1-100奇数?打印1-100偶数?打印1-100的和?打印1-100的奇数和?打印1-100的偶数和?打印1-100的质数?


[root@haojiu ~]# cat jishu.sh

#!/bin/bash

#script using for print 奇数 .

#author by haojiu

#date 2015-x-x


for((i=1;i<=100;i+=2))

do 

echo $i

done


----------------------------------------------

[root@haojiu ~]# cat jishu.sh

#!/bin/bash

#script using for print 偶数 .

#author by haojiu

#date 2015-x-x


for((i=2;i<=100;i+=2))

do 

echo $i

done


----------------------------------------------

[root@haojiu ~]# cat jishu.sh

#!/bin/bash

#script using for print 总和 .

#author by haojiu

#date 2015-x-x


sum=0

for i in {1..100}

do

let "sum+=i"

done

echo "$sum"


----------------------------------------------

[root@haojiu ~]# cat jishu.sh 

#!/bin/bash

#script using for print 奇数和 .

#author by haojiu

#date 2015-x-x


sum=0

for((i=1;i<=100;i+=2))

do

let "sum+=i"

done

echo "sum=$sum"



----------------------------------------------

[root@haojiu ~]# cat jishu.sh 

#!/bin/bash

#script using for print 偶数和 .

#author by haojiu

#date 2015-x-x


sum=0

for((i=2;i<=100;i+=2))

do

let "sum+=i"

done

echo "sum=$sum"

----------------------------------------------

[root@haojiu ~]# cat jishu.sh 

#!/bin/bash

#script using for print 质数 .

#author by Internet

#date 2015-x-x


for i in `seq 2 100`

do

   factor $i | awk -F‘[: ]‘ ‘NF==3{print $1}‘

done


----------------------------------------------



5、删除一个文件中行号为奇数的行

答:sed  ‘N;{P;d}‘ filename   #这个是网友给出的,我也不太明白什么意思,请高手在评论区代为解释。。



6、替换某一个文件的字符串

答:豪鹫提供两种方法,sed和vim,例如将文件中所有的jjj替换成hhh


[root@haojiu ~]# sed -i "s/jjj/hhh/g" test.txt

[root@haojiu ~]# vim test.txt

:%s/jjj/hhh/g




7、exec和souce区别

答:所谓 source 就是让 script 在当前 shell 内执行、而不是产生一个 sub-shell 来执行。

 exec 也是让 script 在同一个行程上执行,但是原有行程则被结束了。

他们的最大区别就是在于:原有行程会否终止。


8、显示24小时前的内容,

答:后续补充。。。


9、linux的优化

答:后续补充。。。


10、iptables表和链

答:请网友补充~_~


本文出自 “只有更好--豪鹫” 博客,请务必保留此出处http://2358205.blog.51cto.com/2348205/1688557

运维屌丝回答网传Linux运维面试题(四)

标签:linux   运维   面试题   

原文地址:http://2358205.blog.51cto.com/2348205/1688557

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!