運維面試題, 不知是否正確的答案

1、簡述TCP三次握手四次揮手過程及各過程中客戶端和服務器端的狀態。

握手:

client 發送請求SYN到 server; 狀態:server;初始狀態為LISTEN,client 發送SYN后變為SYN_SENT

server 發送ACK回應,并發送SYN請求到 client;狀態:服務器收到SYN后,變為SYN_RCVD,發送ACK+SYN后,變為ESTAHLISHED

client 發送ACK到服務端,連接建立。 客戶端變為ESTABLISHED

揮手:

client 發送斷開請求FIN到 server;狀態:客戶端發送FIN后,變為FIN_WAIT_1

server 發送ACK回應 client;狀態:server收到FIN后,變為CLOSE_WAIT,client收到ACK后,變為FIN_WAIT_2

server 發送FIN到 client;狀態:server發送FIN后,變為LAST_ACK狀態,client收到FIN后,變為TIME_WAIT

client 發送ACK到 server,連接斷開;狀態:server收到ACK后,變為CLOSED。

2、說說進程和線程的區別

進程是程序在執行過程中的基本單位。每個進程至少包含一個線程,線程之間可以共享變量,進程之間需要使用queue等機制實現變量的共享。

3、查詢file.txt以abc結尾的行

grep 'abc$' file.txt

4、刪除file.txt文件中的空行

sed -i ‘/^$/d’ file.txt

5、打印file.txt文件中的第10行

sed -n ‘10p’ file.txt

6、對MySQL數據庫test進行備份和恢復

備份:mysqldump -uroot -p test > ~/test.sql

恢復:mysql -uroot -p < ~/test.sql

7、用netstat統計系統當前tcp連接的各種狀態的連接數。

netstat -an | awk '/^tcp/ {print $NF}' |uniq -c

8、linux下如何將GBK編碼格式的test_gbk.txt文件轉換成UTF-8編碼格式,轉化后的文件名為 test_utf8.txt

#!/bin/env python

f_gbk = open(‘test_gbk.txt’, ‘r’)

f_utf = open(‘test_utf8.txt’,’a’)

for line in f_gbk: 

line = line.decode(‘gbk’) 

f_utf.write(line.encode(‘utf-8’))

f_gbk.close()

f_utf.close()

9、說說你用過哪些監控軟件,并簡述其原理及適用場景

zabbix,原理:agentd搜集被監控服務器的信息,傳給服務端,服務端寫入數據庫。

再通過php的網頁將數據展現出來

適用場景:監控支持snmp的設備,監控linux主機,監控mysql redis mangodb的狀態

10、寫出查看linux系統性能的命令,如cpu、內存、流量、io等

ps top free iostat vmstat netstat iptraf

終極解決方案 阿里巴巴開源的tsar

11、說說nginx的upstream支持的分配策略,并簡述其原理

輪詢:請求按順序分配到后端服務器

weight:與輪詢相同,對weight增加權重

ip_hash: 根據ip的hash結果分配到固定的后端服務器

url_hash: 與ip_hash相同,不過按照url的hash結果分配到固定的后端服務器

12、crontab定時:在11月份內,每天的早上6點到12點中,每隔2小時執行一次/usr/bin/httpd.sh  怎么實現

echo '*  6-12/2 * 11 * root /usr/bin/httpd.sh' >> /etc/crontab

13、iptables禁止 ip 10.10.10.1 訪問本地80端口

iptables -A INPUT -s 10.10.10.1 -p tcp —dport 80 -j DROP

14、找出在文件a中但不在文件b中的內容,用命令后編寫腳本實現

#!/bin/bash

diff a b | grep '>' | sed -r 's/>(.*)/\1/g'

15、編寫shell循環創建100個用戶,用戶名格式user_[0~99]

#!/bin/bash

for i in `seq 0 99`; do

useradd "user_$i"

done

原創文章,作者:aaron,如若轉載,請注明出處:http://www.www58058.com/18969

(0)
aaronaaron
上一篇 2016-06-23 11:08
下一篇 2016-06-23 11:09

相關推薦

  • liunx的哲學思想

     Linux哲學思想 *一切皆文件(硬件、目錄、普通文件、二進制文件等。) *小型,單一用途的程序 *鏈接程序,共同完成復雜的任務 *避免令人困惑的用戶界面 *配置數據存儲在文本中 解釋:一切皆文件:是 Unix/Linux 的基本哲學之一。不僅普通的文件,目錄、字符設備、塊設備、 套接字等在 Unix/Linux 中都是以文件被對待;它們雖然類型…

    Linux干貨 2017-07-15
  • 第10周作業(下)

    4、寫一個腳本(1) 能接受四個參數:start, stop, restart, statusstart: 輸出“starting 腳本名 finished.”(2) 其它任意參數,均報錯退出。 #!/bin/bash # [ $# -ne 1 ] && echo &quo…

    Linux干貨 2017-01-03
  • 網卡別名與多網卡綁定

    網卡別名 一塊網卡可以配置多個ip地址,叫做網卡別名   對虛擬主機有用 格式形如:eth0:1  eth0:2 …… 實現方法:   在命令行中臨時設置: ifconfig 命令: ifconfig eth0:0 192.168.1.100/24 演示:   修改配置文件 在/etc/sysconfig/networ…

    Linux干貨 2016-09-05
  • 自動化運維跟安全配置

    安全相關工具rpm -qf /usr/bin/sshopenssh semanage port -a -t ssh_port_t -p tcp #PORTNUMBER/端口9527修改ssh的默認端口,ssh默認只能用22端口多臺主機互聯免口令1 ssh-keygen三臺主機各自生成私鑰公鑰2 ssh-copy-id IP7三臺主機各自復制公鑰到同一臺主機3…

    2018-02-06
  • selinux介紹

    本章內容 SELinux概念啟用SELinux管理文件安全標簽管理端口標簽管理SELinux布爾值開關管理日志查看SELinux幫助 SELinux介紹 SELinux: Secure Enhanced Linux,是美國國家安全局「NSA=The National Security Agency」和SCC(Secure Computing Corporat…

    Linux干貨 2016-09-19
  • Linux的發展史

    引言: 開源是什么?什么是Unix 、Linux ?這兩種操作系統又有什么關聯? ?   大家當前在用最常見的電腦系統是眼前的Windows ,但為何我們要花學習Linux 的發展史? 通過下面的介紹,我們能大致了解互聯網發展的一些問題,以及Linux和Unix的基本概念、歷史、發展情況。 一、操作系統介紹 內核(kernel)負責控制硬…

    Linux干貨 2016-10-19
欧美性久久久久