1. 程式人生 > >Linux面試總結知識點

Linux面試總結知識點

1.一臺主機要實現通過區域網與另一個區域網通訊,需要做的工作是?

   定義一條本機指向目標網路閘道器的路由

2.下列關於檔案系統中元資料(比如ext2中的inode)的基本作用及ext2和ext3的根本區別描述錯誤的有?B
A.EXT2 inode用來定義檔案系統的結構以及描述系統中每個檔案的管理資訊,每個檔案都有且只有一個inode,即使檔案中沒有資料,其索引結點也是存在的

B.EXT2 inode包含檔案訪問許可權、屬主、組、大小、生成時間、訪問時間、最後修改時間等資訊。它是linux管理檔案系統的最基本單位,也是檔案系統連線任何子目錄、檔案的橋樑。

C.ext2檔案系統是非日誌檔案系統,而ext3有多種日誌模式

D.ext3檔案系統能夠極大地提高檔案系統的完整性

3.常見檔案系統 系統函式
  fcntl  檔案控制  
  open  開啟檔案  
  creat  建立新檔案  
  close  關閉檔案描述字  
  read  讀檔案  
  write  寫檔案  
  readv  從檔案讀入資料到緩衝陣列中  
  writev  將緩衝數組裡的資料寫入檔案  
  pread 對檔案隨機讀  
  pwrite  對檔案隨機寫

4.下面有關Ext2和ext3檔案系統的描述,錯誤的是?D
A.ext2/ext3檔案系統使用索引節點來記錄檔案資訊,包含了一個檔案的長度、建立及修改時間、許可權、所屬關係、磁碟中的位置等資訊

B.ext3增加了日誌功能,即使在非正常關機後,系統也不需要檢查檔案系統

C.ext3檔案系統能夠極大地提高檔案系統的完整性,避免了意外宕機對檔案系統的破壞

D.ext3支援 1EB 的檔案系統,以及 16TB 的檔案。

EXT2、EXT3:linux環境上的檔案系統。ext2/ext3檔案系統使用索引節點來記錄檔案資訊,作用像windows的檔案分配表。索引節點是一個結構,它包含了一個檔案的長度、建立及修改時間、許可權、所屬關係、磁碟中的位置等資訊。

EXT2、EXT3的區別如下:
(1)ext2和ext3的格式完全相同,只是在ext3硬碟最後面有一部分空間用來存放Journal(日誌)的記錄;
(2)在ext2中,寫資料到硬碟中時,先將資料寫入快取中,當快取寫滿時才會寫入硬碟中;
(3)在ext3中,寫資料到硬碟中時,先將資料寫入快取中,鞀快取寫滿時系統先通知Journal,再將資料寫入硬碟,完成後再通知Journal,資料已完成寫入工作;
(4)是否有Journal的差別:
在ext2中,系統開機時會去檢查有效位(Valid bit),如果值為1,表示系統上次有正常關機;如果為0,表示上次關機未正常關機,那系統就會從頭檢查硬碟中的資料,這樣時間會很長;
在ext3中,也就是有Journal機制裡,系統開機時檢查Journal的資料,來檢視是否有錯誤產生,這樣就快了很多;
(5)tune2fs –j 將ext2轉換成ext3

Ext3 目前所支援的最大16TB 檔案系統和最大2TB 檔案,Ext4 分別支援 1EB(1,048,576TB, 1EB=1024PB, 1PB=1024TB)的檔案系統,以及 16TB 的檔案。

5.如果你使用一個普通賬戶telnet遠端登入到linux系統中,如何改變身份以root許可權管理系統?su


6.將檔案file1複製為file2可以用下面哪些命令(A,B,C,D,E)
A.cp file1 file2

B.cat file1 >file2

C.cat < file1 >file2

D.dd if=file1 of=file2

E.cat file1 | cat >file2
cp命令 :cp指令用於複製檔案或目錄。
        將檔案file1複製成檔案file2命令如下:cp file1 file2
cat命令 :cat命令是linux下的一個文字輸出命令,通常是用於觀看某個檔案的內容的。
         一次顯示整個檔案命令如下: cat filename
> : linux中的資料流重導向:輸出導向,覆蓋導向的檔案內容。
< : linux中的資料流重導向:輸入導向,理解為原本由鍵盤輸入改為文字輸入
dd命令 : 作用是用指定大小的塊拷貝一個檔案,並在拷貝的同時進行指定的轉換。
        引數:if  輸入檔案(或裝置名稱)  of  輸出檔案(或裝置名稱)
       將檔案file1拷貝到檔案file2中命令如下:  dd if=file1 of=file2
| :管道命令操作符,處理經由前面一個指令傳出的正確輸出資訊,然後,傳遞給下一個命令,作為標準的輸入

7.程序A讀取B程序中的某個變數(非共享記憶體),可行的方式有(ABC)

A.程序向訊息佇列寫入一個包含變數內容的訊息,B程序從佇列中讀出

B.通過本地環路通訊

C.如果A、B 非親屬,那麼A通過命名管道把這個變數的地址發給B程序

D.如果 B是A 程序的子程序,那麼B直接讀取變數內容即可


8.如果系統的umask設定為244,建立一個新檔案後,它的許可權:()

Linux中的許可權有r(讀) w(寫) x(執行),分別用數字4,2,1代表。
Umask是設定系統建立檔案時的預設許可權,是建立檔案許可權補碼,對檔案來說最大值是6
Umask設為為244,則建立的檔案預設許可權是422,檔案的第一位是‘-’也就是-r---w--w-

9.在重新啟動Linux系統的同時把記憶體中的資訊寫入硬碟,應使用(#shutdown -r now)命令實現

 在linux命令中reboot是重新啟動,shutdown -r now是立即停止然後重新啟動,都說他們兩個是一樣的,其實是有一定的區別的。

shutdown命令可以安全地關閉或重啟Linux系統,它在系統關閉之前給系統上的所有登入使用者提示一條警告資訊。該命令還允許使用者指定一個時間引數,可以是一個精確的時間,也可以是從現在開始的一個時間段。

精確時間的格式是hh:mm,表示小時和分鐘,時間段由+ 和分鐘數表示。系統執行該命令後會自動進行資料同步的工作。

該命令的一般格式: shutdown [選項] [時間] [警告資訊]

命令中各選項的含義為:

- k 並不真正關機而只是發出警告資訊給所有使用者

- r 關機後立即重新啟動

- h 關機後不重新啟動

- f 快速關機重啟動時跳過fsck

- n 快速關機不經過init 程式

- c 取消一個已經執行的shutdown

需要特別說明的是該命令只能由超級使用者使用。

例1,系統在十分鐘後關機並且馬上重新啟動: # shutdown –r +10

例2,系統馬上關機並且不重新啟動:# shutdown –h now

10.在Unix系統中,若一個程序退出時,其子程序還在執行(沒有被殺死),則這些子程序會變成孤兒程序(Orphan Process),請問孤兒程序會被以下哪一個系統程序接管? init



殭屍程序:一個子程序在其父程序還沒有呼叫wait()或waitpid()的情況下退出。這個子程序就是殭屍程序。

孤兒程序:一個父程序退出,而它的一個或多個子程序還在執行,那麼那些子程序將成為孤兒程序。孤兒程序將被init程序(程序號為1)所收養,並由init程序對它們完成狀態收集工作。

殭屍程序將會導致資源浪費,而孤兒則不會。

11.如何檢視當前Linux系統的狀態,如CPU使用,記憶體使用,負載情況,下列描述正確的是?ABC

A.可以使用top命令分析CPU使用,記憶體使用,負載等情況
B.可以使用free檢視記憶體整體的使用情況
C.可以使用cat /proc/meminfo檢視記憶體更詳細的情況
D.以上描述都不正確