Linux面试题,经典Linux面试题,常见Linux面试题带答案
Linux面試題及答案(2022版),適用于應屆生、有工作經驗的程序員,每道都是認真篩選出的高頻面試題,助力大家能找到滿意的工作!
Linux
下載鏈接:全部面試題及答案PDF
1.如何看當前Linux系統有幾顆物理CPU和每顆CPU的核數?
[root@centos6 ~ 10:55 #35]# cat /proc/cpuinfo|grep -c 'physical id' 4 [root@centos6 ~ 10:56 #36]# cat /proc/cpuinfo|grep -c 'processor' 42.查看系統負載有兩個常用的命令,是哪兩個?這三個數值表示什么含義呢?
[root@centos6 ~ 10:56 #37]# w 10:57:38 up 14 min, 1 user, load average: 0.00, 0.00, 0.00 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/0 192.168.147.1 18:44 0.00s 0.10s 0.00s w [root@centos6 ~ 10:57 #38]# uptime 10:57:47 up 14 min, 1 user, load average: 0.00, 0.00, 0.00其中load average即系統負載,三個數值分別表示一分鐘、五分鐘、十五分鐘內系統的平均負載,即平均任務數。
3.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 0r即running,表示正在跑的任務數
b即blocked,表示被阻塞的任務數
si表示有多少數據從交換分區讀入內存
so表示有多少數據從內存寫入交換分區
bi表示有多少數據從磁盤讀入內存
bo表示有多少數據從內存寫入磁盤
簡記:
i --input,進入內存 o --output,從內存出去 s --swap,交換分區 b --block,塊設備,磁盤 單位都是KB4.linux系統里,您知道buffer和cache如何區分嗎?
buffer和cache都是內存中的一塊區域,當CPU需要寫數據到磁盤時,由于磁盤速度比較慢,所以CPU先把數據存進buffer,然后CPU去執行其他任務,buffer中的數據會定期寫入磁盤;當CPU需要從磁盤讀入數據時,由于磁盤速度比較慢,可以把即將用到的數據提前存入cache,CPU直接從Cache中拿數據要快的多。
5.使用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/0VIRT虛擬內存用量
RES物理內存用量
SHR共享內存用量
%MEM內存用量
6.如何實時查看網卡流量為多少?如何查看歷史網卡流量?
安裝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#查看指定日期的流量日志7.如何查看當前系統都有哪些進程?
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]8.ps 查看系統進程時,有一列為STAT, 如果當前進程的stat為Ss 表示什么含義?如果為Z表示什么含義?
S表示正在休眠;s表示主進程;Z表示僵尸進程。
9.如何查看系統都開啟了哪些端口?
[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_socket10.如何查看網絡連接狀況?
[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:* ……11.想修改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 restart12.能否給一個網卡配置多個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:1DEVICE=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 restart13.如何查看某個網卡是否連接著交換機?
mii-tool eth0 或者 mii-tool eth1
14.如何查看當前主機的主機名,如何修改主機名?要想重啟后依舊生效,需要修改哪個配 置文件呢?
查看主機名:
hostname centos6.5修改主機名:
hostname centos6.5-1永久生效需要修改配置文件:vim /etc/sysconfig/network NETWORKING=yes HOSTNAME=centos6.5-115.設置DNS需要修改哪個配置文件?
(1)在文件 /etc/resolv.conf 中設置DNS
(2)在文件 /etc/sysconfig/network-scripts/ifcfg-eth0 中設置DNS
16.使用iptables 寫一條規則:把來源IP為192.168.1.101訪問本機80端口的包直接拒絕
17.要想把iptable的規則保存到一個文件中如何做?如何恢復?
18.如何備份某個用戶的任務計劃?
19.任務計劃格式中,前面5個數字分表表示什么含義?
20.如何可以把系統中不用的服務關掉?
21.如何讓某個服務(假如服務名為 nginx)只在3,5兩個運行級別開啟,其他級別關閉?
22.rsync 同步命令中,下面兩種方式有什么不同呢?
23.rsync 同步時,如果要同步的源中有軟連接,如何把軟連接的目標文件或者目錄同步?
24.某個賬號登陸linux后,系統會在哪些日志文件中記錄相關信息?
25.網卡或者硬盤有問題時,我們可以通過使用哪個命令查看相關信息?
26.分別使用xargs和exec實現這樣的需求,把當前目錄下所有后綴名為.txt的文件的權限修改為777
27.有一個腳本運行時間可能超過2天,如何做才能使其不間斷的運行,而且還可以隨時觀察腳本運行時的輸出信息?
28.在Linux系統下如何按照下面要求抓包:只過濾出訪問http服務的,目標ip為192.168.0.111,一共抓1000個包,并且保存到1.cap文件中?
29.rsync 同步數據時,如何過濾出所有.txt的文件不同步?
30.rsync同步數據時,如果目標文件比源文件還新,則忽略該文件,如何做?
31.想在Linux命令行下訪問某個網站,并且該網站域名還沒有解析,如何做?
32.自定義解析域名的時候,我們可以編輯哪個文件?是否可以一個ip對應多個域名?是否一個域名對應多個ip?
33.我們可以使用哪個命令查看系統的歷史負載(比如說兩天前的)?
34.在Linux下如何指定dns服務器,來解析某個域名?
35.使用rsync同步數據時,假如我們采用的是ssh方式,并且目標機器的sshd端口并不是默認的22端口,那我們如何做?
36.rsync同步時,如何刪除目標數據多出來的數據,即源上不存在,但目標卻存在的文件或者目錄?
37.使用free查看內存使用情況時,哪個數值表示真正可用的內存量?
38.有一天你突然發現公司網站訪問速度變的很慢很慢,你該怎么辦呢?
39.rsync使用服務模式時,如果我們指定了一個密碼文件,那么這個密碼文件的權限應該設置成多少才可以?
下載鏈接:博主已將以上這些面試題整理成了一個面試手冊,是PDF版的
總結
以上是生活随笔為你收集整理的Linux面试题,经典Linux面试题,常见Linux面试题带答案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PostgreSQL入门篇学习笔记(七)
- 下一篇: linux 其他常用命令