淘米和上海埃富夢科技,筆試題python
後續將整理出豪鷲親身經歷面試過的公司運維技術面的題目(非筆試題目,技術面運維經理的提問),並也附上答案。mysql
敬請期待。。。。。linux
一、如何檢測某個端口所佔用的進程nginx
答:如檢測3306端口所佔用的進程:使用命令:面試
[root@haojiu ~]# lsof -i:3306sql
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEshell
mysqld 2452 mysql 10u IPv4 13315 0t0 TCP *:mysql (LISTEN)數據庫
二、對於linux主機的cpu負載使用,什麼狀況下user的比例升高,什麼狀況下system的比例升高,請聯繫實際舉例。vim
答:後續補充。。。bash
三、在不umount的狀況下,如何從新設置mount的參數。
答:這個問題豪鷲也沒測試過,但網上有網友提供的作法,請各位務必在實驗環境中測試經過以後才能在生產環境上使用;
命令用法:[root@haojiu ~]# mount -o remount,otheroptions /mountpoint
四、不當心在系統下執行了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)'
五、linux文件的權限位x對目錄和文件有何不一樣?
答:相對於普通用戶而言,x位對於目錄來講,表示用戶對這個目錄有瀏覽權限,便可以ls列出目錄下的東西。x位對於文件來講,表示用戶對這個文件有執行的權限。
六、找出/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;
七、如何查找某一文件被哪一個進程打開?
答:好比查看/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
八、新增一塊存儲設備,lvm操做的命令如何寫
答:LVM是在磁盤分區和文件系統之間添加的一個邏輯層,來爲文件系統屏蔽下層磁盤分區佈局,提供一個抽象的盤卷,在盤捲上創建文件系統。
對新增存儲設備的lvm操做步驟以下:
一、 建立分區
二、 建立物理卷
三、 建立卷組
四、 激活卷組
五、 添加新的物理捲到卷組中
六、 建立邏輯卷
七、調整邏輯卷的大小
八、掛載使用
九、給主機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
十、socket和tcp訪問mysql的區別?
答:TCP/IP 訪問mysql:這種方式會在TCP/IP鏈接上創建一個基於網絡的鏈接請求,通常是client鏈接跑在Server上的MySQL實例,2臺機器經過一個TCP/IP 網絡鏈接。(通常是mysql客戶端跟服務端不在同一機器上)
socket訪問mysql:UNIX域套接字並非網絡協議,因此只能在MySQL客戶端和數據庫實例在同一臺服務器上使用,用戶能夠在配置文件中指定套接字文件。
2、shell
一、使用awk打印出 welcome to taomee
答:假設welcome to taomee是test.txt中的內容,那麼能夠執行如下命令:
[root@haojiu ~]# awk '{print $0}' test.txt
二、如何將一個文件中的taomee、******、peoplenet中的*內容進行替換成network(*的內容不一樣)
答:假設taomee、******、peoplenet這行內容存在於test.txt文件中,則能夠執行如下命令:
[root@haojiu ~]# sed -i 's/\*\*\*\*\*\*/network/g' test.txt
(其餘方法請網友提供~.~)
三、找出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
方法還有不少,請網友補充~.~
四、打印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
----------------------------------------------
五、刪除一個文件中行號爲奇數的行
答:sed 'N;{P;d}' filename #這個是網友給出的,我也不太明白什麼意思,請高手在評論區代爲解釋。。
六、替換某一個文件的字符串
答:豪鷲提供兩種方法,sed和vim,例如將文件中全部的jjj替換成hhh
[root@haojiu ~]# sed -i "s/jjj/hhh/g" test.txt
[root@haojiu ~]# vim test.txt
:%s/jjj/hhh/g
七、exec和souce區別
答:所謂 source 就是讓 script 在當前 shell 內執行、而不是產生一個 sub-shell 來執行。
exec 也是讓 script 在同一個行程上執行,可是原有行程則被結束了。
他們的最大區別就是在於:原有行程會否終止。
八、顯示24小時前的內容,
答:後續補充。。。
九、linux的優化
答:後續補充。。。
十、iptables表和鏈
答:請網友補充~_~