面試題linux
A. 剛出爐的網易linux運維面試題(附帶答案)
1、Linux系統中,用戶文件描述符0表示 ()。
2、Linux系統中某個可執行文件屬於root並且有suid許可權,當一個普通用戶lutixia運行這個程序時,產生的進程的有效用戶和實際用戶分別是?()
3、以下哪些命令可以列印文件(access.log)中包含chrome的行到標准輸出()
4、運行在多核處理器上的Linux環境中,若臨界區非常短,且不允許線程上下文切換的情況下,使用下列哪種機制滿足上述需求並且性能最好?()
5、具有很多C語言的功能,又稱過濾器的是?()
6、在OSI模型中,HTTP協議工作在第()層,交換機工作在第()層。
7、如何獲取上一條命令執行的返回碼?()
8、下列關於網路編程的描述中,錯誤的是?()
9、當前目錄下有a和b兩個文件,執行命令「ls>c」,請問文件c裡面的內容是什麼?()
10、下面那些命令可以用來查看Linux主機的默認路由()
11、下面的內存管理模式中,會產生外零頭的是()
12、vsftpd服務流量控制的參數()
13、進程之間通信都有哪些方式?()
14、在Linux上,對於多進程,子進程繼承了父進程的下列哪些?()
15、關於Linux系統的負載情況,以下表述正確的是()。
歡迎 點贊 , 收藏 ,你的喜歡就是我原創的動力,運維面試,筆試題系列將會持續更新,希望對你找工作有幫助!
B. 運維必須掌握的Linux面試題
1、解釋下什麼是GPL,GNU,自由軟體?
GPL:(通用公共許可證):一種授權,任何人有權取得、修改、重新發布自由軟體的權力。
GNU:(革奴計劃):目標是創建一套完全自由、開放的的操作系統。
自由軟體:是一種可以不受限制地自由使用、復制、研究、修改和分發的軟體。主要許可證有GPL和BSD許可證兩種。
2、linux系統里,buffer和cache如何區分?
buffer和cache都是內存中的一塊區域,
當CPU需要寫數據到磁碟時,由於磁碟速度比較慢,所以CPU先把數據存進buffer,
然後CPU去執行其他任務,buffer中的數據會定期寫入磁碟;
當CPU需要從磁碟讀入數據時,由於磁碟速度比較慢,
可以把即將用到的數據提前存入cache,CPU直接從Cache中拿數據要快的多。
3、描述Linux運行級別0-6的各自含義
0:關機模式
1:單用戶模式<==破解root密碼
2:無網路支持的多用戶模式
3:有網路支持的多用戶模式(文本模式,工作中最常用的模式)
4:保留,未使用
5:有網路支持的X-windows支持多用戶模式(桌面)
6: 重新引導系統,即重啟
4、描述Linux系統從開機到登陸界面的啟動過程
⑴開機BIOS自檢,載入硬碟。
⑵讀取MBR,MBR引導。
⑶grub引導菜單(Boot Loader)。
⑷載入內核kernel。
⑸啟動init進程,依據inittab文件設定運行級別
⑹init進程,執行rc.sysinit文件。
⑺啟動內核模塊,執行不同級別的腳本程序。
⑻執行/etc/rc.d/rc.local
⑼啟動mingetty,進入系統登陸界面。
5、描述Linux下軟鏈接和硬鏈接的區別
在Linux系統中,鏈接分為兩種,一種是硬鏈接(Hard link),另一種稱為符號鏈接或軟鏈接(Symbolic Link)。
①默認不帶參數的情況下,ln創建的是硬鏈接,帶-s參數的ln命令創建的是軟鏈接。
②硬鏈接文件與源文件的inode節點號相同,而軟鏈接文件的inode節點號,與源文件不同,
③ln命令不能對目錄創建硬鏈接,但可以創建軟鏈接。對目錄的軟鏈接會經常使用到。
④刪除軟鏈接文件,對源文件和硬鏈接文件無任何影響。
⑤刪除文件的硬鏈接文件,對源文件及軟鏈接文件無任何影響。
⑥刪除鏈接文件的源文件,對硬鏈接文件無影響,會導致其軟鏈接失效(紅底白字閃爍狀)。
⑦同時刪除源文件及其硬鏈接文件,整個文件才會被真正的刪除。
⑧很多硬體設備的快照功能,使用的就是類似硬鏈接的原理。
⑨軟鏈接可以跨文件系統,硬鏈接不可以跨文件系統。
6、shell腳本中「$?」標記的用途是什麼?
在寫一個shell腳本時,如果你想要檢查前一命令是否執行成功,在if條件中使用「 ?
0
如果結束狀態是0,說明前一個命令執行成功。
root@localhost:~# ls /usr/bin/share
ls: cannot access /usr/bin/share: No such file or directory
root@localhost:~# echo $?
2
如果結束狀態不是0,說明命令執行失敗。
7、如何讓history命令顯示具體時間?
$ HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S"
$ export HISTTIMEFORMAT
重新開機後會還原,可以寫/etc/profile
8、用shell統計ip訪問情況,要求分析nginx訪問日誌,找出訪問頁面數量在前10位的IP數。以下是nginx的訪問日誌節選
202.101.129.218- - [26/Mar/2006:23:59:55 +0800] "GET /online/stat_inst.php?pid=d065HTTP/1.1" 302 20-"-" "-" "Mozilla/4.0(compatible; MSIE 6.0; Windows NT 5.1)"
1}' access.log |sort|uniq -c |head -n 10
31 202.101.129.218
21 123.93.29.11
11 13.92.19.31
9、將本地的80埠的請求轉發到8080埠,本機地址10.0.0.254,寫出命令
$ iptables -t nat -A PREROUTING -d 10.0.0.254 -p tcp --dprot 80 -j DNAT --to-destination 10.0.0.254:8080
10、Load過高的可能性有哪些?
排查思路:
其他經驗:
cpu load的飆升,一方面可能和full gc的次數增大有關,一方面可能和死循環有關
11、描述/etc/fstab 文件中每個欄位的含義?
(1)第一列:將被載入的文件系統名;
(2)第二列:該文件系統的安裝點;
(3)第三列:文件系統的類型;
(4)第四列:設置參數;
(5)第五列:供備份程序確定上次備份距現在的天數;
(6)第六列:在系統引導時檢測文件系統的順序。
12、 如何在打包時排除指定目錄?
$ tar --exclude=/home/dmtsai --exclude= .tar -zcvf myfile.tar.gz /home/ /etc
mysql> update user set password=password(') where user='root'
C. Linux系統工程師面試題附答案
一、簡答題
1.如何將本地80埠的請求轉發到8080埠,當前主機IP為192.168.16.1,其中本地網卡eth0:
答:# iptables -t nat -A PREROUTING -d 192.168.16.1 -p tcp --dport 80 -j DNAT --to 192.168.16.1:8080
或 者:# iptables -t nat -A PREROUTING -i eth0 -d 192.168.16.1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080
2.什麼是NAT,常見分為那幾種,DNAT與SNAT有什麼不同,應用事例有那些?
SNAT,DNAT,MASQUERADE都是NAT。
MASQUERADE是SNAT的一個特例。
SNAT是指在數據包從網卡發送出去的時候,把數據包中的源地址部分替換為指定的IP,這樣,接收方就認為數據包的來源是被替換的那個IP的主機。
MASQUERADE是用發送數據的網卡上的IP來替換源IP,因此,對於那些IP不固定的場合,比如撥號網路或者通過dhcp分配IP的情況下,就得用MASQUERADE。
DNAT,就是指數據包從網卡發送出去的時候,修改數據包中的目的IP,表現為如果你想訪問A,可是因為網關做了DNAT,把所有訪問A的數據包的目的IP全部修改為B,那麼,你實際上訪問的是B
因為,路由是按照目的地址來選擇的,因此,DNAT是在PREROUTING鏈上來進行的,而SNAT是在數據包發送出去的時候才進行,因此是在POSTROUTING鏈上進行的。
3.包過濾防火牆與代理應用防火牆有什麼區別,能列舉幾種相應的產品嗎?
4.iptables是否支持time時間控制用戶行為,如有請寫出具體操作步驟。
5.說出你知道的幾種linux/unix發行版本。
Redhat、CentOS、Fedora、SuSE、Slackware、Gentoo、Debian、Ubuntu、FreeBSD、Solaris、SCO、AIX、HP…
6.列出linux常見打包工具並寫相應解壓縮參數(至少三種)
7.計劃每星期天早8點伺服器定時重啟,如何實現?
8.列出作為完整郵件系統的軟體,至少二類。
9,當用戶在瀏覽器當中輸入一個網站,說說計算機對dns解釋經過那些流程?註:本機跟本地dns還沒有緩存。
答:
a.用戶輸入網址到瀏覽器;
b.瀏覽器發出DNS請求信息;
c.計算機首先查詢本機HOST文件,看是否存在,存在直接返回結果,不存在,繼續下一步;
d.計算機按照本地DNS的順序,向合法dns伺服器查詢IP結果;
e.合法dns返回dns結果給本地dns,本地dns並緩存本結果,直到TTL過期,才再次查詢此結果;
f.返回IP結果給瀏覽器;
g.瀏覽器根據IP信息,獲取頁面;
10,我們都知道,dns既採用了tcp協議,又採用了udp協議,什麼時候採用tcp協議?什麼時候採用udp協議?為什麼要這么設計?
答:這個題需要理解的東西比較的多,分一下幾個方面
a,從數據包大小上分:UDP的最大包長度是65507個位元組,響應dns查詢的時候數據包長度超過512個位元組,而返回的只要前512個位元組,這時名字 解釋器通常使用TCP從發原來的請求。
b,從協議本身來分:大部分的情況下使用UDP協議,大家都知道UDP協議是一種不可靠的協議,dns不像其它的使用UDP的Internet應用 (如:TFTP,BOOTP和SNMP等),大部分集中在區域網,dns查詢和響應需要經過廣域網,分組丟失和往返時間的不確定性在廣域網比區域網上更 大,這就要求dns客戶端需要好的重傳和超時演算法,這時候使用TCP。
11,一個EXT3的文件分區,當使用touch test.file命令創建一個新文件時報錯,報錯的信息是提示磁碟已滿,但是採用df -h命令查看磁碟大小時,只使用了,60%的磁碟空間,為什麼會出現這個情況,說說你的理由。
答:兩種情況,一種是磁碟配額問題,另外一種就是EXT3文件系統的設計不適合很多小文件跟大文件的一種文件格式,出現很多小文件時,容易導致inode 耗盡了。
12,我們都知道FTP協議有兩種工作模式,說說它們的大概的一個工作流程?
FTP兩種工作模式:主動模式(Active FTP)和被動模式(Passive FTP)
在主動模式下,FTP客戶端隨機開啟一個大於1024的埠N向伺服器的21號埠發起連接,然後開放N+1號埠進行監聽,並向伺服器發出PORT N+1命令。
伺服器接收到命令後,會用其本地的FTP數據埠(通常是20)來連接客戶端指定的埠N+1,進行數據傳輸。
在被動模式下,FTP客戶端隨機開啟一個大於1024的埠N向伺服器的21號埠發起連接,同時會開啟N+1號埠。然後向伺服器發送PASV命令,通 知伺服器自己處於被動模式。伺服器收到命令後,會開放一個大於1024的埠P進行監聽,然後用PORT P命令通知客戶端,自己的數據埠是P。客戶端收到命令後,會通過N+1號埠連接伺服器的埠P,然後在兩個埠之間進行數據傳輸。
總的來說,主動模式的FTP是指伺服器主動連接客戶端的數據埠,被動模式的.FTP是指伺服器被動地等待客戶端連接自己的數據埠。
被動模式的FTP通常用在處於防火牆之後的FTP客戶訪問外界FTp伺服器的情況,因為在這種情況下,防火牆通常配置為不允許外界訪問防火牆之後主機,而只允許由防火牆之後的主機發起的連接請求通過。
因此,在這種情況下不能使用主動模式的FTP傳輸,而被動模式的FTP可以良好的工作。
13.編寫個shell腳本將當前目錄下大於10K的文件轉移到/tmp目錄下
Q:主要是考察awk 這些的用法
#/bin/sh
#Programm :
# Using for move currently directory to /tmp
for FileName in `ls -l |awk ‘$5>10240 {print $9}’`
do
mv $FileName /tmp
done
ls -la /tmp
echo “Done! ”
14.apache有幾種工作模式,分別介紹下其特點,並說明什麼情況下採用不同的工作模式?
apache主要有兩種工作模式:prefork(apache的默認安裝模式)和worker(可以在編譯的時候加參數–with-mpm- worker選擇工作模式)
D. 面試 | Linux 下的動態鏈接庫問題
在 Linux 開發時,我們經常會看到一些形如 xxx.so 的名稱出現,其中 so 是 Shared Object 的縮寫,即可以共享的目標文件,也就是我們所稱為的動態鏈接庫,和在 Windows 下大家玩 游戲 時遇到的 xxx.dll 錯誤中的文件是一個類型的。
面試中經常會問到以下問題:
庫是寫好的現有的,成熟的,可以復用的代碼。現實中每個程序都要依賴很多基礎的底層庫,不可能每個人的代碼都從零開始,因此庫的存在意義非同尋常。本質上來說庫是一種可執行代碼的二進制形式,可以被操作系統載入內存執行。
庫有兩種:
在一個程序的編譯過程中,分為以下幾個步驟: 預處理 , 編譯 , 匯編 , 鏈接 。本文中討論的鏈接庫就是針對最後一個步驟「鏈接」而言的。
動態庫和靜態庫的區別
左圖為靜態鏈接庫,右圖為動態鏈接庫
對於靜態鏈接庫而言在鏈接階段,會將匯編生成的「目標文件.o」與引用到的庫一起鏈接打包到可執行文件中。因此對應的鏈接方式稱為靜態鏈接:
靜態鏈接可以理解為最後生成了一個「單文件免安裝綠色版」的程序,優點在於移植的時候只需要移動這一個文件,缺點在於文件體積非常大,為了解決這樣的問題,就有了動態鏈接庫。動態鏈接庫在程序編譯時並不會被連接到目標代碼中,而是在程序運行時才被載入。
動態庫連接到系統空間,如果多個程序連接了同一個庫,那麼只需要一份,優點在於編譯程序的時候不會將對應的庫文件全部打包在生成的程序中,而是保留了到對應庫的鏈接,缺點就是移植的時候如果只移動了對應的程序沒有安裝相關的庫的話,就會看到類似以下喜聞樂見的結果了。
在 Linux 下一個動態庫有y三個不同名字的文件組成:
當程序在內部列出所需要的鏈接庫時,僅僅使用 soname。當你創建一個鏈接庫時,使用 real name。安裝一個新的鏈接庫時,把它復制到一個DLL文件夾里,然後運行程序 ldconfig。ldconfig 檢查存在的 real name 文件,並且創建指向它符號鏈接 soname 文件。可能大家比較常見到的有 libsodium 等。
有了上面關於庫的一些基礎知識之後,我們可以開始嘗試創建一個動態庫來供程序使用了。
比如我們有一個求最大值的函數 max(int a,int b,int c) ,放在文件 max.c 中文件內容如下:
可以通過:
將其編譯為共享庫,-fPIC是編譯選項,PIC是 Position Independent Code 的縮寫,表示要生成位置無關的代碼,這是動態庫需要的特性; -shared是鏈接選項,告訴 gcc 生成動態庫而不是可執行文件。為了讓用戶知道我們的動態庫中有哪些介面可用,我們需要編寫對應的頭文件,比如可以寫一個 max.h :
設置一個驅動函數來測試我們編寫的動態庫:
通過 gcc test.c -L. -lmax來生成 a.out,其中-lmax表示要鏈接 libmax.so,-L.表示搜索要鏈接的庫文件時包含當前路徑。
但是這樣直接運行的話,會出現一個錯誤:
由於 Linux 是通過/etc/ld.so.cache文件搜尋要鏈接的動態庫的,而 /etc/ld.so.cache 是 ldconfig 程序讀取 /etc/ld.so.conf 文件生成的,本次使用的動態庫 libmax.so 並不在對應的目錄下,就會導致程序無法找到對應的動態鏈接庫,這樣我們的解決方法有二:
小結
動態鏈接庫是各個系統中的一個重要的組成部分且在 Linux 開發相關領域中尤為重要,也是一個面試的高頻考點,除了動態鏈接庫以外,還有以下相關知識也是高頻考點,在面試前一定要准備好:
本文作者:Nova Kwok
E. linux認證的面試題及答案
linux認證的面試題及答案
Linux認證指獲得專業Linux培訓後通過考試得到的資格。國際上廣泛承認的Linux認證有LinuxProfessionalInstitute(簡稱為LPI)、SairLinux和GNU、Linux+和RedHatCertifiedEngineer。不過,想要考取這個證書也不是容易的事情,本次我我大家帶來了linux認證面試題及答案希望能夠幫助道大家。
一、填空題:
1. 在Linux系統中,以 文件 方式訪問設備 。
2. Linux內核引導時,從文件 /etc/fstab 中讀取要載入的文件系統。
3. Linux文件系統中每個文件用 i節點 來標識。
4. 全部磁碟塊由四個部分組成,分別為引導塊 、專用塊 、 i節點表塊 和數據存儲塊。
5. 鏈接分為: 硬鏈接 和 符號鏈接 。
6. 超級塊包含了i節點表 和 空閑塊表 等重要的文件系統信息。
7. 某文件的許可權為:drw-r--r--,用數值形式表示該許可權,則該八進制數為: 644 ,該文件屬性是 目錄 。
8. 前台起動的進程使用 Ctrl+c 終止。
9. 靜態路由設定後,若網路拓撲結構發生變化,需由系統管理員修改路由的設置。
10. 網路管理的重要任務是: 控制 和 監控 。
11. 安裝Linux系統對硬碟分區時,必須有兩種分區類型: 文件系統分區 和 交換分區 。
13. 編寫的Shell程序運行前必須賦予該腳本文件 執行 許可權。
14. 系統管理的任務之一是能夠在 分布式 環境中實現對程序和數據的安全保護、備份、恢復和更新。
15. 系統交換分區是作為系統 虛擬存儲器 的一塊區域。
16. 內核分為 進程管理系統 、 內存管理系統 、 I/O管理系統 和文件管理系統 等四個子系統。
17. 內核配置是系統管理員在改變系統配置 硬體 時要進行的重要操作。
18. 在安裝Linux系統中,使用netconfig程序對網路進行配置,該安裝程序會一步步提示用戶輸入主機名、域名、域名伺服器、IP地址、 網關地址 和
子網掩碼 等必要信息。
19. 唯一標識每一個用戶的是用戶 ID 和用戶名。
20 . RIP 協議是最為普遍的一種內部協議,一般稱為動態路由選擇協議。
21. 在Linux系統中所有內容都被表示為文件,組織文件的各種方法稱為 文件系統 。
22. DHCP可以實現動態 IP 地址分配。
23. 系統網路管理員的管理對象是伺服器、 用戶 和伺服器的進程 以及系統的各種資源。
24. 網路管理通常由監測、傳輸和管理三部分組成,其中管理部分是整個網路管理的中心。
25. 當想刪除本系統用不上的 設備驅動程序 時必須編譯內核,當內核不支持系統上的 設備驅動程序 時,必須對內核 升級 。
26 Ping命令可以測試網路中本機系統是否能到達 一台遠程主機 ,所以常常用於測試網路的 連通性 。
27. vi編輯器具有兩種工作模式: 命令模式 和 輸入模式 。
28. 可以用ls –al命令來觀察文件的許可權,每個文件的許可權都用10位表示,並分為四段,其中第一段占 1 位,表示 文件類型 ,第二段佔3位,表示 文
件所有者 對該文件的許可權。
29. 進程與程序的區別在於其動態性,動態的產生和終止,從產生到終止進程可以具有的基本狀態為: 運行態 、 就緒態 和 等待態(阻塞態) 。
30. DNS實際上是分布在internet上的主機信息的資料庫,其作用是實現 IP地址和主機名 之間的轉換。
31. Apache是實現WWW伺服器功能的應用程序,即通常所說的「瀏覽web伺服器」,在伺服器端 為用戶提供瀏覽 web服務 的就是apache應用程序。
32. 在Linux系統上做備份可以有兩種類型:系統備份 和 用戶備份 。其中前者是指對 操作系統 的備份,後者是指對 應用程序和用戶文件的備份。
33. CD-ROM標準的文件系統類型是 iso9660 。
34. 當lilo.conf配置完畢後,使之生效,應運行的命令及參數是 lilo 。
35. 在使用ls命令時,用八進制形式顯示非列印字元應使用參數 -b 。
36. Linux使用支持Windows 9.x/2000長文件名的文件系統的類型是 vfat 。
37. 設定限制用戶使用磁碟空間的命令是 quota 。
38 在Linux系統中,用來存放系統所需要的配置文件和子目錄的目錄是 /etc 。
39. 硬連接只能建立對 文件 鏈接。符號鏈接可以跨不同文件系統創建。
40. 套接字文件的屬性位是 s 。
41. 結束後台進程的命令是 kill 。
42. 進程的運行有兩種方式,即 獨立運行和使用父進程運行 。
43. Links分為 硬鏈接和符號鏈接 。
44. 在超級用戶下顯示Linux系統中正在運行的全部進程,應使用的命令及參數是 ps -aux 。
45. 管道文件的屬性位是 p 。
46. 將前一個命令的標准輸出作為後一個命令的標准輸入,稱之為 管道 。
47. 為腳本程序指定執行權的命令及參數是 chmod a+x filename 。
48. 進行遠程登錄的命令是 telnet 。
49. 欲發送10個分組報文測試與主機abc.tuu.e.cn的連通性,應使用的命令和參數是: ping abc.tuu.e.cn –c 10 。
50. DNS伺服器的進程命名為named,當其啟動時,自動裝載 /etc目錄下的 named.conf 文件中定義的DNS分區資料庫文件。
51. Apache伺服器進程配置文件是 httpd.conf 。
52.在 Linux系統中,壓縮文件後生成後綴為.gz文件的命令是 gzip 。
53. 在用vi編輯文件時,將文件內容存入test.txt文件中,應在命令模式下鍵入 :w test.txt 。
54 可以在標准輸出上顯示整年日歷的命令及參數是 cal -y 。
55. 在shell編程時,使用方括弧表示測試條件的規則是:方括弧兩邊必須有 空格 。
56. 檢查已安裝的文件系統/dev/had5是否正常,若檢查有錯,則自動修復,其命令及參數是 fsck –a /dev/had5 。
57. 在Windows9.x環境下共享Unix/Linux中的用戶目錄的一個工具是 Samba伺服器 。
58. 系統管理員的職責是進行系統資源管理、系統性能管理、設備管理、安全管理和 系統性能監測 。
59 在Linux系統中,測試DNS伺服器是否能夠正確解析域名的的客戶端命令,使用命令 nslookup 。
60. 在Linux系統下,第二個IDE通道的硬碟(從盤)被標識為 hdb 。
61. 當系統管理員需升級內核版本和改變系統硬體配置時,應 重新編譯內核 。
62. 如果只是要修改系統的IP地址,應修改 /etc/rc.d/rc.inet1 配置文件。
63. 當LAN內沒有條件建立DNS伺服器,但又想讓區域網內的用戶可以使用計算機名互相訪問時,應配置 /etc/hosts 文件。
64. 在vi編輯環境下,使用 Esc鍵 進行模式轉換。
65. Slackware Linux 9.0通常使用 ext3 文件系統,系統的全部磁碟塊由 四 部分組成。
66. 將/home/stud1/wang目錄做歸檔壓縮,壓縮後生成wang.tar.gz文件,並將此文件保存到/home目錄下,實現此任務的tar命令格式 tar zcvf
/home/wang.tar.gz /home/stud1/wang 。
67. 管道就是將前一個命令的 標准輸出 作為後一個命令的 標准輸入 。
68. 在使用手工的方法配置網路時,可通過修改 /etc/HOSTNAME 文件來改變主機名,若要配置該計算機的域名解析客戶端,需配置 /etc/resolv.conf
文件。
69. 啟動進程有手動啟動和調度啟動兩種方法,其中調度啟動常用的命令為 at 、 batch 和 crontab 。
70. test.bns.com.cn的域名是 bns.com.cn ,如果要配置一域名伺服器,應在 named.conf 文件中定義DNS資料庫的工作目錄。
71. Sendmail郵件系統使用的兩個主要協議是: SMTP 和 POP ,前者用來發送郵件,後者用來接收郵件。
72. DHCP是動態主機配置協議的簡稱,其作用是:為網路中的主機分配IP地址 。
73. 目前代理伺服器使用的軟體包有很多種,教材中使用的是 squid 。
74. rm命令可刪除文件或目錄,其主要差別就是是否使用遞歸開關 -r或-R 。
75. mv 命令可以移動文件和目錄,還可以為文件和目錄重新命名。
76. 路由選擇協議(RIP)的跳數表示到達目的地之前必須通過的 網關 數,RIP接受的最長距離是 15跳 。
77. ping命令用於測試網路的連通性,ping命令通過 ICMP 協議來實現。
78. nfs 協議用於實現Unix(/linux)主機之間的文件系統共享。
79. 在Linux操作系統中,設備都是通過特殊的 文件 來訪問。
80. shell不僅是 用戶命令的解釋器 ,它同時也是一種功能強大的編程語言。 bash是Linux的預設shell。
81. 用 >;>; 符號將輸出重定向內容附加在原文的後面。
82. 增加一個用戶的命令是:adser 或useradd 。
83 進行字元串查找,使用grep命令。
84. 使用 * 每次匹配若干個字元。
85. /sbin 目錄用來存放系統管理員使用的管理程序。
二、單項選擇題:
1. 下面的網路協議中,面向連接的的協議是: A 。
A 傳輸控制協議 B 用戶數據報協議 C 網際協議 D 網際控制報文協議
2. 在/etc/fstab文件中指定的文件系統載入參數中, D 參數一般用於CD-ROM等移動設備。
A defaults B sw C rw和ro D noauto
3. Linux文件許可權一共10位長度,分成四段,第三段表示的內容是 C 。
A 文件類型 B 文件所有者的許可權
C 文件所有者所在組的許可權 D 其他用戶的許可權
4. 終止一個前台進程可能用到的命令和操作 B 。
A kill B ;+C C shut down D halt
5.在使用mkdir命令創建新的目錄時,在其父目錄不存在時先創建父目錄的選項是 D 。
A -m B -d C -f D -p
6. 下面關於i節點描述錯誤的是 A 。
A i節點和文件是一一對應的
B i節點能描述文件佔用的塊數
C i節點描述了文件大小和指向數據塊的指針
D 通過i節點實現文件的邏輯結構和物理結構的轉換
7. 一個文件名字為rr.Z,可以用來解壓縮的命令是: D 。
A tar B gzip C compress D uncompress
8. 具有很多C語言的功能,又稱過濾器的是 C 。
A csh
B tcsh
C awk
D sed
9. 一台主機要實現通過區域網與另一個區域網通信,需要做的工作是 C 。
A 配置域名伺服器
B 定義一條本機指向所在網路的路由
C 定義一條本機指向所在網路網關的路由
D 定義一條本機指向目標網路網關的路由
10. 建立動態路由需要用到的文件有 D 。
A /etc/hosts B /etc/HOSTNAME C /etc/resolv.conf D /etc/gateways
11. 區域網的網路地址192.168.1.0/24,區域網絡連接其它網路的網關地址是192.168.1.1。主機192.168.1.20訪問172.16.1.0/24網路時,其路由設置
正確的是 B 。
A route add –net 192.168.1.0 gw 192.168.1.1 netmask 255.255.255.0 metric 1
B route add –net 172.16.1.0 gw 192.168.1.1 netmask 255.255.255.255 metric 1
C route add –net 172.16.1.0 gw 172.16.1.1 netmask 255.255.255.0 metric 1
D route add default 192.168.1.0 netmask 172.168.1.1 metric 1
12. 下列提法中,不屬於ifconfig命令作用范圍的是 D 。
A 配置本地回環地址 B 配置網卡的IP地址
C 激活網路適配器 D 載入網卡到內核中
13. 下列關於鏈接描述,錯誤的是 B 。
A 硬鏈接就是讓鏈接文件的i節點號指向被鏈接文件的i節點
B 硬鏈接和符號連接都是產生一個新的i節點
C 鏈接分為硬鏈接和符號鏈接 D 硬連接不能鏈接目錄文件
14. 在區域網絡內的某台主機用ping命令測試網路連接時發現網路內部的主機都可以連同,而不能與公網連通,問題可能是 C。
F. Linux系統工程師面試題附答案(2)
Linux系統工程師面試題(附答案)
prefork的特點是:(預派生)
1.這種模式可以不必在請求到來時再產生新的進程,從而減小了系統開銷
2.可以防止意外的內存泄漏
3.在伺服器負載下降的時候會自動減少子進程數
worker的特點是:支持混合的多線程多進程的多路處理模塊
如果對於一個高流量的HTTP服務 器,worker MPM是一個比較好的選擇,因為worker MPM佔用的內存要比prefork要小。
15.名詞解釋 HDLC,VTP,OSPF,RIP,DDOS,system V,GNU,netscreen,ssh,smartd,apache,WAIT_TIME 等等。
16.編寫shell腳本獲取本機的網路地址。比如:本機的ip地址是:192.168.100.2/255.255.255.0,那麼它的網路地址是
192.168.100.1/255.255.255.0
方法一:
#!/bin/bash
#This script print ip and network
file=”/etc/sysconfig/network-scripts/ifcfg-eth0″
if [ -f $file ] ;then
IP=`grep “IPADDR” $file|awk -F”=” ‘{ print $2 }’`
MASK=`grep “NETMASK” $file|awk -F”=” ‘{ print $2 }’`
echo “$IP/$MASK”
exit 1
fi
方法二:
#!/bin/bash
#This programm will printf ip/network
#
IP=`ifconfig eth0 |grep ‘inet ‘ |sed ‘s/^.*addr://g’|sed ‘s/ Bcast.*$//g’`
NETMASK=`ifconfig eth0 |grep ‘inet ‘|sed ‘s/^.*Mask://g’`
echo “$IP/$NETMASK”
exit
17.在命令行下發一郵件,發件人:[email protected], 收信人:[email protected]
二、簡述題:
1.linux下如何改IP,主機名,DNS
2.linux下如何添加路由
3.簡述linux下編譯內核的意義與步驟
4.簡述Linux啟動過程
5.簡述DDOS攻擊的原理
6.簡述Tcp三次握手的過程
7.簡述VPN,常見有哪幾種?
三、設計題:
1.系統設計
請考慮以下系統的設計. 您可以翻閱資料,查詢任何您有幫助的資料、指南等。
您有的資源:
8台安裝Linux (2.6內核) 的雙網卡PC伺服器以及相關開源軟體,交換機
Apache 2.2.x
Tomcat 5.5.X
資料庫系統
最多8個Internet IP地址,請您設計一個系統:
1、使用雙apache web server前端;
2、採用AJP連接後段的3台Tomcat應用伺服器,這些tomcat被配置成cluster, 因此需要考慮apache對後端的分配,分配採用完全平衡的方法;配置使用cookie來實現session stickness;
3、1台資料庫伺服器只有tomcat才需要連接,也不需要對Internet提供服務。
4、考慮系統的安全性和維護方便性;
5、通過rewrite規則配置把下屬URL規則改寫成友好的URL
http://server/webapp/getinfo?id=XXXX&name=YYYY –> http://server/getinfo/YYYY/XXXX
您需要提交
1、伺服器規劃,包括:
*網路結構圖
*每台機器的IP地址分配
*每台機器上運行的關鍵軟體
*您從安全性和維護性方面的考慮
2、Apache的以下配置文件給我們:
*extra/http-proxy-ajp.conf
*extra/http-rewrite.conf
2.你可以採取任何設備和不同操 作系統伺服器設計對兩台WWW伺服器和兩台FTP伺服器做負載均衡,用網路拓撲圖表示並加以說明!(方法越多越好)
第一種方法: DNS輪巡
www1 IN A 192.168.1.1
www2 IN A 192.168.1.2
www3 IN A 192.168.1.3
ftp1 IN A 192.1.1.4
ftp2 IN A 192.1.1.5
ftp3 IN A 192.1.1.6
www IN CNAME www1
www IN CNAME www2
www IN CNAME www3
ftp IN CNAME ftp1
ftp IN CNAME ftp2
ftp IN CNAME ftp3
;G. linux常用命令面試題有哪些
linux常用命令有:
1、cp命令,作用復制,參數如下:
-a:將文件的特性一起復制。
-p:連同文件的屬性一起復制,而非使用默認方式,與-a相似,常用於備份。
-i:若目標文件已經存在時,在覆蓋時會先詢問操作的進行。
-r:遞歸持續復制,用於目錄的復制行為。
-u:目標文件與源文件有差異時才會復制。
2、rm命令作用為刪除,參數:
-f:就是force的意思,忽略不存在的文件,不會出現警告消息。
-i:互動模式,在刪除前會詢問用戶是否操作。
-r:遞歸刪除,最常用於目錄刪除,它是一個非常危險的參數。
3、mv命令作用為移動文件:
-f:force強制的意思,如果目標文件已經存在,不會詢問而直接覆蓋。
-i:若目標文件已經存在,就會詢問是否覆蓋。
-u:若目標文件已經存在,且比目標文件新,才會更新。
4、pwd命令,作用為查看」當前工作目錄「的完整路徑。
pwd-P#顯示出實際路徑,而非使用連接(link)路徑;pwd顯示的是連接路徑。
5、rmdir命令刪除目錄:
rmdir [選項]... 目錄...
-p:遞歸刪除目錄dirname,當子目錄刪除後其父目錄為空時,也一同被刪除。如果整個路徑被刪除或者由於某種原因保留部分路徑,則系統在標准輸出上顯示相應的信息。
-v:verbose顯示指令執行過程。
H. Linux運維工程師會面試哪些
給大家分享一些Linux面試題的筆記,從負載均衡、nginx、MySQL、redis、kafka、zabbix、k8s等方面拆解 Linux 知識點。用來對個人技術點進行查漏補缺。
目錄:
1. 磁碟使用率檢測(用shell腳本)
2. LVS 負載均衡有哪些策略?
3. 談談你對LVS的理解?
4. 負載均衡的原理是什麼?
5. LVS由哪兩部分組成的?
6. 與lvs相關的術語有哪些?
7. LVS-NAT模式的原理
8. LVS-NAT模型的特性
9. LVS-DR模式原理
10. LVS-DR模型的特性
11. LVS三種負載均衡模式的比較
12. LVS的負載調度演算法
13. LVS與nginx的區別
14. 負載均衡的作用有哪些?
15. nginx實現負載均衡的分發策略
16. keepalived 是什麼?
17. 你是如何理解VRRP協議的
18. keepalived的工作原理?
19. 出現腦裂的原因
20. 如何解決keepalived腦裂問題?
21. zabbix如何監控腦裂?
22. nginx做負載均衡實現的策略有哪些
23. nginx做負載均衡用到哪些模塊
24. 負載均衡有哪些實現方式
25. nginx如何實現四層負載?
26. 你知道的web服務有哪些?
27. 為什麼要用nginx
28 . nginx的性能為什麼比apache高?
29 . epoll的組成
30 . nginx和apache的區別
31. Tomcat作為web的優缺點?
32. tomcat的三個埠及作用
33. fastcgi 和cgi的區別
34. nginx常用的命令
35. 什麼是反向代理,什麼是正向代理,以及區別?
36. Squid、Varinsh、Nginx 有什麼區別?
37. nginx是如何處理http請求的
38. nginx虛擬主機有哪些?
39. nginx怎麼實現後端服務的健康檢查
40. apache中的Worker 和 Prefork 之間的區別是什麼?
41. Tomcat預設埠是多少,怎麼修改
42. Tomcat的工作模式是什麼?
43. Web請求在Tomcat請求中的請求流程是怎麼樣的?
44. 怎麼監控Tomcat的內存使用情況
45. nginx的優化你都做過哪些?
46. Tomcat你做過哪些優化
47. nginx的session不同步怎麼辦
48. nginx的常用模塊有哪些?
49. nginx常用狀態碼
50. 訪問一個網站的流程
51. 三次握手,四次揮手
52. 什麼是動態資源,什麼是靜態資源
53. worker支持的最大並發數是什麼?
54. Tomcat和Resin有什麼區別,工作中你怎麼選擇?
55. 什麼叫網站灰度發布?56.. 統計ip訪問情況,要求分析nginx訪問日誌,找出訪問頁面數量在前十位的ip
57. nginx各個版本的區別
58. nginx最新版本
59. 關於nginx access模塊的面試題
60. nginx默認配置文件
61. location的規則
62. 配置nginx防盜鏈
63. drop,delete和truncate刪除數據的區別?
64. MySQL主從原理
65. MySQL主從復制存在哪些問題?
66. MySQL復制的方法
67. 主從延遲產生的原因及解決方案?
68. 判斷主從延遲的方法
69. MySQL忘記root密碼如何找回
70. MySQL的數據備份方式
71. innodb的特性
72. varchar(100) 和varchar(200)的區別
73. MySQL主要的索引類型
74. 請說出非關系型資料庫的典型產品、特點及應用場景?
75. 如何加強MySQL安全,請給出可行的具體措施?
76. Binlog工作模式有哪些?各什麼特點,企業如何選擇?
77. 生產一主多從從庫宕機,如何手工恢復?
78. MySQL中MyISAM與InnoDB的區別,至少5點
79. 網站打開慢,請給出排查方法,如是資料庫慢導致,如何排查並解決,請分析並舉例?
80. xtrabackup的備份,增量備份及恢復的工作原理
81.誤執行drop數據,如何通過xtrabackup恢復?
82. 如何做主從數據一致性校驗?
83. MySQL有多少日誌
84. MySQL binlog的幾種日誌錄入格式以及區別
85. MySQL資料庫cpu飆升到500%的話他怎麼處理?
86. redis是單線程還是多線程?
87. redis常用的版本是?
88. redis 的使用場景?
89. redis常見的數據結構
90. redis持久化你們怎麼做的?
91. 主從復制實現的原理
92. redis哨兵模式原理
93. memcache和redis的區別
94. redis有哪些架構模式?
95. 緩存雪崩?
96. 緩存穿透
97. 緩存擊穿
98. redis為什麼這么快
99. memcache有哪些應用場景
100. memcache 服務特點及工作原理
101. memcached是如何做身份驗證的?
102. mongoDB是什麼?
103. mongodb的優勢
104. mongodb使用場景
105. kafka 中的ISR,AR代表什麼,ISR伸縮又代表什麼
106.kafka中的broker 是干什麼的
107. kafka中的 zookeeper 起到什麼作用,可以不用zookeeper么
108. kafka follower如何與leader同步數據
109. kafka 為什麼那麼快
110. Kafka中的消息是否會丟失和重復消費?
111. 為什麼Kafka不支持讀寫分離?
112. 什麼是消費者組?
113. Kafka 中的術語114. kafka適用於哪些場景
115. Kafka寫入流程:
116. zabbix有哪些組件
117. zabbix的兩種監控模式
118. 一個監控系統的運行流程
119. zabbix的工作進程
120. zabbix常用術語
121. zabbix自定義發現是怎麼做的?
122. 微信報警
123. zabbix客戶端如何批量安裝
124. zabbix分布式是如何做的
125. zabbix proxy 的使用場景
126. prometheus工作原理
127. prometheus組件
128. ELK工作流程
129. logstash的輸入源有哪些?
130. logstash的架構
131. ELK相關的概念
132. es常用的插件
134. zabbix你都監控哪些參數
135. MySQL同步和半同步
136. CI/CD
137 K8S監控指標
138. k8s是怎麼做日誌監控的
139. 【運維面試】k8s中service和ingress的區別
140. k8s組件的梳理
141. 關於tcp/IP協議
142. 談談你對CDN的理解
I. linux運維面試常見問題
linux運維面試常見問題
這里給大家整理了一些Linux系統運維相關的面試題,有些問題沒有標准答案,如下是我給大家整理的linux運維面試常見問題,希望對大家有所作用。
一、Linux操作系統知識
1.常見的Linux發行版本都有什麼?你最擅長哪一個?它的官網網站是什麼?說明你擅長哪一塊?
2.Linux開機啟動流程詳細步驟是什麼?系統安裝完,忘記密碼如何破解?
3.企業中Linux伺服器系統分區標準是什麼?(以硬碟為300G,內存16G為例)
4.某一天突然發現Linux系統文件只讀,該怎麼辦呢?完整操作步驟。
5.安裝一台系統使用DVD光碟安裝,如何安裝50台Linux系統如何安裝呢?思考一下。
6.用虛擬機安裝了一台Linux系統,突然想克隆一台伺服器,克隆後發現無法上網,如何解決?
7.Linux網卡配置文件路徑是什麼?要使伺服器上外網,必須滿足的條件有哪些?需要配置什麼?
8.一般可以使用什麼軟體遠程linux伺服器?通過什麼上傳文件和下載文件?
9./mnt目錄主要用於什麼?/root目錄跟root用戶有什麼關系?/根目錄與/boot目錄有什麼聯系?
10.某一天誤操作,執行了rm -rf * ,會有哪些情況發生?請舉例。
二、Linux命令及文件操作
1.在/tmp/目錄下創建test.txt文件,內容為: Hello,World! ,用一個命令寫出來。
2.給test.txt文件除所有者之外增加執行許可權,最終以數字寫出文件的許可權。
3.用vi命令編輯test.txt,如何跳轉到末行,首行,行首、行末,如何在游標行下一行插入,如何復制5行,刪除10行,查找jingfeng的字元、把jingfeng替換為jfe.net
4.查找linux系統下以txt結尾,30天沒有修改的文件大小大於20K同時具有執行許可權的文件並備份到/data/backup/目錄下。
5.當前test.txt所屬的用戶為root,組為abc,請將test.txt使擁有者為abc,組為root,寫出命令。
6.如何修改Linux啟動級別為字元模式並永久生效,如何臨時、永久關閉selinux及防火牆,請分別寫出操作方法。
7.每次開機在/tmp目錄下創建一個當天的日期文件夾(提示:當前日期表示的方法為:`date +%Y%m%d`)
8.如何查看文件內容,命令有哪些?查看文件第1行到3行,查看文件最後一行。
9.查看linux伺服器IP的命令,同時只顯示包含ip所在的行列印出來。
10.將普通用戶test加入root組的命令是?
三、Linux磁碟及軟體管理操作
1.如何添加一塊新的50G硬碟到linux伺服器系統作為單獨的分區,並正在使用?需要哪些操作步驟?
2.有個金士頓U盤,需要往伺服器/var/www/html/目錄下上傳一個index.html文件,如何操作並完成。
3.有一塊移動硬碟,上面有300G數據,如何快速cp到linux伺服器?
4.光碟裡面有一個httpd-2.2.15.xx.rpm包,如何掛載並安裝呢?
5.使用rpm命令安裝、卸載、刪除、更新ntp-0.7.12.x86_64.rpm這個軟包。
6./var/www/html/是網站的發布目錄,如何每天凌晨0點30對其進行自動備份,寫出操作步驟?
7.使用tar命令打包並壓縮/root目錄,然後移動到/tmp下,將其許可權設置其他人只讀。
8.Yum命令與rpm命令的區別?如何使用rpm安裝一個有依賴的包?
9.在這個月內,每天的早上 6 點到 12 點中,每隔 2 小時創建一個test.txt文件,內容為ok,如何實現?
10.將/usr/local/test目錄下大於100K 的文件轉移到/tmp 目錄下。
11.簡述 raid0 raid1 raid5三種工作模式的工作原理及特點。
12.如何查看佔用埠 8080 的進程。
四、Linux服務配置及管理
1.請寫出 apache2.X 版本的兩種工作模式,以及各自工作原理。如何查看apache 當前所支持的'模塊,並且查看是工作在哪種模式下?
2.Linux下nfs在客戶端無法掛載,請寫出排查步驟?
3.Linux下已經部署了dhcp伺服器,客戶端無法獲取的IP,如何解決?
4.常見的FTP軟體有哪些?Linux最常用的是?如何共享一個資源讓他人使用用戶名和密碼訪問?
5.如何禁止FTP使用匿名用戶登錄?命令行如何訪問ftp伺服器?
6.ApacheWEB伺服器的發布目錄在哪裡?
7.ApacheWEB伺服器有幾種工作模式,每種模式的簡單區別?
8.MySQL伺服器的用途是?Apache和mysql可以安裝在一台機器嗎?如何查看apache和mysql埠和進程?
9.如何在虛擬機上面部署4個網站,訪問的域名分別為www.a1.com test.a1.com www.a2.com test.a2.com?
10.假設 Apache 產生的日誌文件名為access_log,在 apache 正在運行時,執行命令 mv access_log access_log.bak,執行完後,請問新的 apache的日誌會列印到哪裡,為什麼?
11.我們都知道 FTP 協議有兩種工作模式,說說它們的大概的一個工作流程?
12.Linux內核引導時,從哪個文件中讀取要載入的文件系統。
13.寫出下面服務的常用埠ftp http dns snmp pop3、dhcp、nfs、mysql、samba等服務。
14.Mysql創建資料庫的命令,創建表的命令,插入語句的命令?
15.Mysql備份命令?Mysql如何給root用戶對jfe授權訪問,密碼為jfe.net,請寫出命令?
16.Mysql忘記密碼該如何操作呢?
17.Linux運維工程師都需要具備哪些技能和職業品質?
;