39條常見的linux系統管理面試題

一、如何看當前Linux系統有幾顆物理CPU和每顆CPU的核數?linux

答:[root@centos6 ~ 10:55 #35]# cat /proc/cpuinfo|grep -c 'physical id'nginx

4ubuntu

[root@centos6 ~ 10:56 #36]# cat /proc/cpuinfo|grep -c 'processor'vim

4centos

二、查看系統負載有兩個經常使用的命令,是哪兩個?這三個數值表示什麼含義呢?服務器

答:[root@centos6 ~ 10:56 #37]# w網絡

10:57:38 up 14 min,  1 user,  load average: 0.00, 0.00, 0.00dom

USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHATssh

root     pts/0    192.168.147.1    18:44    0.00s  0.10s  0.00s wcurl

[root@centos6 ~ 10:57 #38]# uptime

10:57:47 up 14 min,  1 user,  load average: 0.00, 0.00, 0.00

其中load average即系統負載,三個數值分別表示一分鐘、五分鐘、十五分鐘內系統的平均負載,即平均任務數。

三、vmstat r, b, si, so, bi, bo 這幾列表示什麼含義呢?

答:[root@centos6 ~ 10:57 #39]# vmstat

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----

r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st

0  0      0 1783964  13172 106056    0    0    29     7   15   11  0  0 99  0  0

r即running,表示正在跑的任務數

b即blocked,表示被阻塞的任務數

si表示有多少數據從交換分區讀入內存

so表示有多少數據從內存寫入交換分區

bi表示有多少數據從磁盤讀入內存

bo表示有多少數據從內存寫入磁盤

簡記:i --input,進入內存

o --output,從內存出去

s --swap,交換分區

b --block,塊設備,磁盤

單位都是KB

四、linux系統裏,您知道buffer和cache如何區分嗎?

答:buffer和cache都是內存中的一塊區域,當CPU須要寫數據到磁盤時,因爲磁盤速度比較慢,因此CPU先把數據存進buffer,而後CPU去執行其餘任務,buffer中的數據會按期寫入磁盤;當CPU須要從磁盤讀入數據時,因爲磁盤速度比較慢,能夠把即將用到的數據提早存入cache,CPU直接從Cache中拿數據要快的多。

五、使用top查看系統資源佔用狀況時,哪一列表示內存佔用呢?

答: PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND

301 root      20   0     0    0    0 S  0.3  0.0   0:00.08 jbd2/sda3-8

1 root      20   0  2900 1428 1216 S  0.0  0.1   0:01.28 init

2 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kthreadd

3 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 migration/0

VIRT虛擬內存用量

RES物理內存用量

SHR共享內存用量

%MEM內存用量

六、如何實時查看網卡流量爲多少?如何查看歷史網卡流量?

答:安裝sysstat包,使用sar命令查看。

yum install -y sysstat#安裝sysstat包,得到sar命令

sar -n DEV#查看網卡流量,默認10分鐘更新一次

sar -n DEV 1 10#一秒顯示一次,一共顯示10次

sar -n DEV -f /var/log/sa/sa22#查看指定日期的流量日誌

七、如何查看當前系統都有哪些進程?

答:ps -aux 或者ps -elf

[root@centos6 ~ 13:20 #56]# ps -aux

Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND

root         1  0.0  0.0   2900  1428 ?        Ss   10:43   0:01 /sbin/init

root         2  0.0  0.0      0     0 ?        S    10:43   0:00 [kthreadd]

root         3  0.0  0.0      0     0 ?        S    10:43   0:00 [migration/0]

root         4  0.0  0.0      0     0 ?        S    10:43   0:00 [ksoftirqd/0]

……

[root@centos6 ~ 13:21 #57]# ps -elf

F S UID        PID  PPID  C PRI  NI ADDR SZ WCHAN  STIME TTY          TIME CMD

4 S root         1     0  0  80   0 -   725 -      10:43 ?        00:00:01 /sbin/init

1 S root         2     0  0  80   0 -     0 -      10:43 ?        00:00:00 [kthreadd]

1 S root         3     2  0 -40   - -     0 -      10:43 ?        00:00:00 [migration/0]

1 S root         4     2  0  80   0 -     0 -      10:43 ?        00:00:00 [ksoftirqd/0]

1 S root         5     2  0 -40   - -     0 -      10:43 ?        00:00:00 [migration/0]

八、ps 查看系統進程時,有一列爲STAT, 若是當前進程的stat爲Ss 表示什麼含義?若是爲Z表示什麼含義?

答:S表示正在休眠;s表示主進程;Z表示殭屍進程。

九、如何查看系統都開啓了哪些端口?

答:[root@centos6 ~ 13:20 #55]# netstat -lnp

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name

tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      1035/sshd

tcp        0      0 :::22                       :::*                        LISTEN      1035/sshd

udp        0      0 0.0.0.0:68                  0.0.0.0:*                               931/dhclient

Active UNIX domain sockets (only servers)

Proto RefCnt Flags       Type       State         I-Node PID/Program name    Path

unix  2      [ ACC ]     STREAM     LISTENING     6825   1/init              @/com/ubuntu/upstart

unix  2      [ ACC ]     STREAM     LISTENING     8429   1003/dbus-daemon    /var/run/dbus/system_bus_socket

十、如何查看網絡鏈接情況?

答:[root@centos6 ~ 13:22 #58]# netstat -an

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address               Foreign Address             State

tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN

tcp        0      0 192.168.147.130:22          192.168.147.1:23893         ESTABLISHED

tcp        0      0 :::22                       :::*                        LISTEN

udp        0      0 0.0.0.0:68                  0.0.0.0:*

……

十一、想修改ip,須要編輯哪一個配置文件,修改完配置文件後,如何重啓網卡,使配置生效?

答:使用vi或者vim編輯器編輯網卡配置文件/etc/sysconfig/network-scripts/ifcft-eth0(若是是eth1文件名爲ifcft-eth1),內容以下:

DEVICE=eth0

HWADDR=00:0C:29:06:37:BA

TYPE=Ethernet

UUID=0eea1820-1fe8-4a80-a6f0-39b3d314f8da

ONBOOT=yes

NM_CONTROLLED=yes

BOOTPROTO=static

IPADDR=192.168.147.130

NETMASK=255.255.255.0

GATEWAY=192.168.147.2

DNS1=192.168.147.2

DNS2=8.8.8.8

修改網卡後,可使用命令重啓網卡:

ifdown eth0

ifup eth0

也能夠重啓網絡服務:

service network restart

十二、可否給一個網卡配置多個IP? 若是能,怎麼配置?

答:能夠給一個網卡配置多個IP,配置步驟以下:

cat /etc/sysconfig/network-scripts/ifcfg-eth0#查看eth0的配置

DEVICE=eth0

HWADDR=00:0C:29:06:37:BA

TYPE=Ethernet

UUID=0eea1820-1fe8-4a80-a6f0-39b3d314f8da

ONBOOT=yes

NM_CONTROLLED=yes

BOOTPROTO=static

IPADDR=192.168.147.130

NETMASK=255.255.255.0

GATEWAY=192.168.147.2

DNS1=192.168.147.2

DNS2=8.8.8.8

(1)新建一個ifcfg-eth0:1文件

cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0:1

(2)修改其內容以下:vim /etc/sysconfig/network-scripts/ifcfg-eth0:1

DEVICE=eth0:1

HWADDR=00:0C:29:06:37:BA

TYPE=Ethernet

UUID=0eea1820-1fe8-4a80-a6f0-39b3d314f8da

ONBOOT=yes

NM_CONTROLLED=yes

BOOTPROTO=static

IPADDR=192.168.147.133

NETMASK=255.255.255.0

GATEWAY=192.168.147.2

DNS1=192.168.147.2

DNS2=8.8.8.8

(3)重啓網絡服務:

service network restart

1三、如何查看某個網卡是否鏈接着交換機?

答:mii-tool eth0 或者 mii-tool eth1

1四、如何查看當前主機的主機名,如何修改主機名?要想重啓後依舊生效,須要修改哪一個配 置文件呢?

答:查看主機名:hostname

centos6.5

修改主機名:hostname centos6.5-1

永久生效須要修改配置文件:vim /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=centos6.5-1

1五、設置DNS須要修改哪一個配置文件?

答:(1)在文件 /etc/resolv.conf 中設置DNS

(2)在文件 /etc/sysconfig/network-scripts/ifcfg-eth0 中設置DNS

1六、使用iptables 寫一條規則:把來源IP爲192.168.1.101訪問本機80端口的包直接拒絕

答:iptables -I INPUT -s 192.168.1.101 -p tcp --dport 80 -j REJECT

1七、要想把iptable的規則保存到一個文件中如何作?如何恢復?

答:使用iptables-save重定向到文件中:iptables-save > 1.ipt

使用iptables-restore反重定向回來:iptables-restore < 1.ipt

1八、如何備份某個用戶的任務計劃?

答:將/var/spool/cron/目錄下指定用戶的任務計劃拷貝到備份目錄cron_bak/下便可

cp /var/spool/cron/rachy /tmp/bak/cron_bak/

1九、任務計劃格式中,前面5個數字分表表示什麼含義?

答:依次表示:分、時、日、月、周

20、如何能夠把系統中不用的服務關掉?

答:(1)使用可視化工具:ntsysv

(2)使用命令:chkconfig servicename off

2一、如何讓某個服務(假如服務名爲 nginx)只在3,5兩個運行級別開啓,其餘級別關閉?

答:先關閉全部運行級別:chkconfig nginx off

而後打開35運行級別:chkconfig --level 35 nginx on

2二、rsync 同步命令中,下面兩種方式有什麼不一樣呢?

(1) rsync -av  /dira/  ip:/dirb/

(2) rsync -av  /dira/  ip::dirb

答:(1)前者是經過ssh方式同步的

(2)後者是經過rsync服務的方式同步的

2三、rsync 同步時,若是要同步的源中有軟鏈接,如何把軟鏈接的目標文件或者目錄同步?

答:同步源文件須要加-L選項

2四、某個帳號登錄linux後,系統會在哪些日誌文件中記錄相關信息?

答:用戶身份驗證過程記錄在/var/log/secure中,登陸成功的信息記錄在/var/log/wtmp。

2五、網卡或者硬盤有問題時,咱們能夠經過使用哪一個命令查看相關信息?

答:使用命令dmesg

2六、分別使用xargs和exec實現這樣的需求,把當前目錄下全部後綴名爲.txt的文件的權限修改成777

答:(1)find ./ -type f -name "*.txt" |xargs chmod 777

(2)find ./ -type f -name "*.txt" -exec chmod 777 {} ;

2七、有一個腳本運行時間可能超過2天,如何作才能使其不間斷的運行,並且還能夠隨時觀察腳本運行時的輸出信息?

答:使用screen工具

2八、在Linux系統下如何按照下面要求抓包:只過濾出訪問http服務的,目標ip爲192.168.0.111,一共抓1000個包,而且保存到1.cap文件中?

答:tcpdump -nn -s0 host 192.168.0.111 and port 80 -c 1000 -w 1.cap

2九、rsync 同步數據時,如何過濾出全部.txt的文件不一樣步?

答:加上--exclude選項:--exclude=「*.txt」

30、rsync同步數據時,若是目標文件比源文件還新,則忽略該文件,如何作?

答:保留更新使用-u或者--update選項

3一、想在Linux命令行下訪問某個網站,而且該網站域名尚未解析,如何作?

答:在/etc/hosts文件中增長一條從該網站域名到其IP的解析記錄便可,或者使用curl -x

3二、自定義解析域名的時候,咱們能夠編輯哪一個文件?是否能夠一個ip對應多個域名?是否一個域名對應多個ip?

答:編輯 /etc/hosts ,能夠一個ip對應多個域名,不能夠一個域名對多個ip

3三、咱們可使用哪一個命令查看系統的歷史負載(好比說兩天前的)?

答:sar -q -f /var/log/sa/sa22  #查看22號的系統負載

3四、在Linux下如何指定dns服務器,來解析某個域名?

答:使用dig命令:dig @DNSip  domain.com

如:dig @8.8.8.8 www.baidu.com#使用谷歌DNS解析百度

3五、使用rsync同步數據時,假如咱們採用的是ssh方式,而且目標機器的sshd端口並非默認的22端口,那咱們如何作?

答:rsync "--rsh=ssh -p 10022"或者rsync -e "ssh -p 10022"

3六、rsync同步時,如何刪除目標數據多出來的數據,即源上不存在,但目標卻存在的文件或者目錄?

答:加上--delete選項

3七、使用free查看內存使用狀況時,哪一個數值表示真正可用的內存量?

答:free列第二行的值

3八、有一天你忽然發現公司網站訪問速度變的很慢很慢,你該怎麼辦呢?

(服務器能夠登錄,提示:你能夠從系統負載和網卡流量入手)

答:能夠從兩個方面入手分析:分析系統負載,使用w命令或者uptime命令查看系統負載,若是負載很高,則使用top命令查看CPU,MEM等佔用狀況,要麼是CPU繁忙,要麼是內存不夠,若是這兩者都正常,再去使用sar命令分析網卡流量,分析是否是遭到了攻擊。一旦分析出問題的緣由,採起對應的措施解決,如決定要不要殺死一些進程,或者禁止一些訪問等。

3九、rsync使用服務模式時,若是咱們指定了一個密碼文件,那麼這個密碼文件的權限應該設置成多少才能夠?

答:600或400

相關文章
相關標籤/搜索