問題:
- awk,grep,sed 忽略大小寫用哪個參數?
- 403狀態碼表示什么?
- vim如何跳到最后一行,第一行?
- 靜態頁面與動態頁面的區別?
- Linux某目錄下有100個目錄,如何找出最大的那個目錄?
- 瀏覽器qq能上,但訪問不了網頁,如何排查?
- ftp協議的端口號是多少?
- TCP三次握手,ack,seq寫出來?
只記得上面8個問題。
第一個問題很簡單吧,肯定是參數 -i 啦
第二個問題也很簡單,404表示請求資源不存在,403表示服務端收到請求,但是拒絕提供服務,503表示服務端當前不能處理客戶端的請求,一段時間后可能恢復正常。
第三個問題也很簡單,要回到首行,按小寫的 “gg”,要回到未行,按 "Shift + g"
第四個問題是動態網頁與靜態網頁的區別。當時聽到這個問題心里是很高興的,回答"靜態網頁是用html與css的布局,網頁的靜態的;動態網頁多加了js,jquery,ajax,可以與后台進行交互,也可以有輪播圖的效果"。這種回答必然 大錯!! 老鐵啊,扎心了!!
可以看下這位大神的博客: 靜態頁面、動態頁面和偽靜態頁面的區別
總結:
靜態頁面:訪問速度快,不需要從數據庫里面提取數據,不會對服務器產生壓力。但是,靜態頁面是存儲在HTML里面,會占用較多的服務器空間,每次添加內容都會生成新的html頁面。如果不是專業人士維護比較麻煩。
動態頁面:使用服務器的空間小。數據是從數據庫里面調出來的,如果需要修改頁面某些數據,直接更改數據庫,那么所有的動態網頁,就會自動更新。但是,用戶訪問速度較慢。
為什么會訪問動態頁面較慢呢?這個問題要從動態頁面的訪問機制說起了,其實我們的服務器上面有一個模版引擎(進行模版渲染)。當用戶訪問的時候,這個模版引擎就會把動態頁面翻譯為靜態頁面,這樣大家就能夠在瀏覽器里面查看源碼(模版引擎渲染之后的源碼)。除訪問速度較慢以外,動態頁面的數據是從數據庫里面調用過來的。如果訪問的人數較多,數據庫的壓力會非常大。過現在的動態程序多數都使用了緩存技術。但是總體來講,動態頁面對於服務器的壓力比較大一些。總體來講,動態頁面對於服務器的壓力比較大一些。同時動態頁面的網站一般對於服務器的要求比較高一些,同時訪問的人越多也會造成服務器的壓力越大。
當然,也可以這么說: 不同的用戶訪問到的靜態頁面是相同的;但訪問到的動態頁面可以是不相同的。
第五個問題
在你想查的目錄下 執行這個 du -sh * | sort -h 會把占用空間最大的文件列在最后 放在開頭的話 du -sh * | sort -rh
第六個問題
網絡設置和DNS服務器的問題
這個問題有很多種可能,具體參考: 為什么電腦能上QQ卻打不開網站的解決方法
下面我從DNS方面入手,講下可能出現的問題及如何解決。能上QQ,說明PC是可以訪問外網的,但是打不開網站,就可能DNS問題,你可以在cmd下ping www.baidu.com再ping百度的IP地址。如果此時前者ping不通而后者可ping通。說明DNS出問題了。下面是從網上找來的相關解決方法:
- 有些網友出於某些方面考慮,在瀏覽器里設置了代理服務器(控制面板--Internet選項—連接—局域網設置—為LAN使用代理服務器),設置代理服務器是不影響QQ聯網的,因為QQ用的是4000端口,而訪問互聯網使用的是80或8080端口。這就是很多的筒子們不明白為什么QQ能上,而網頁不能打開的原因。而代理服務器一般不是很穩定,有時侯能上,有時候不能上。如果有這樣設置的,請把代理取消就可以了。
- 當IE無法瀏覽網頁時,可先嘗試用IP地址來訪問,如果可以訪問,那么應該是DNS的問題,造成DNS的問題可能是連網時獲取DNS出錯或DNS服務器本身問題,這時你可以手動指定DNS服務(地址可以是你當地ISP提供的DNS服務器地址,也可以用其它地方可正常使用DNS服務器地址)。在網絡的屬性里進行,(單擊“開始→控制面板”,雙擊打開“網絡連接”,右鍵單擊“本地連接”,選擇“屬性”,選中“Internet協議(TCP/IP)”,單擊“屬性”,在“使用下面的DNS服務器地址”中看是不是正確的網絡)。
- 不同的ISP有不同的DNS地址。有時候則是路由器或網卡的問題,無法與ISP的DNS服務連接,這種情況的話,可把路由器關一會再開,或者重新設置路由器。 若還不能解決問題,可以更新網卡驅動程序和換塊網卡試試。
- 還有一種可能,是本地DNS緩存出現了問題。為了提高網站訪問速度,系統會自動將已經訪問過並獲取IP地址的網站存入本地的DNS緩存里,一旦再對這個網站進行訪問,則不再通過DNS服務器而直接從本地DNS緩存取出該網站的IP地址進行訪問。所以,如果本地DNS緩存出現了問題,會導致網站無法訪問。可以在cmd下執行ipconfig /flushdns來重建本地DNS緩存。

第七個問題問: ftp協議的端口號是多少?
可憐我當時一時想不起ftp協議端口號是多少,就答ssh是22,telnet是23。然后面試官說是20,21;還說主動與被動。我真是一臉懵逼……
回來后查了網上的資料,感覺這篇博客寫得最好了: FTP主動模式和被動模式的區別
基礎知識:
FTP只通過TCP連接,沒有用於FTP的UDP組件。FTP不同於其他服務的是它使用了兩個端口, 一個數據端口和一個命令端口(或稱為控制端口)。通常21端口是命令端口,20端口是數據端口。當混入主動/被動模式的概念時,數據端口就有可能不是20了。
主動模式FTP:
先看圖:

主動模式下,FTP客戶端從任意的非特殊的端口(N > 1023)連入到FTP服務器的命令端口--21端口。然后客戶端在N+1(N+1 >= 1024)端口監聽,並且通過N+1(N+1 >= 1024)端口發送命令給FTP服務器。服務器會反過來連接用戶本地指定的數據端口,比如20端口。
以服務器端防火牆為立足點,要支持主動模式FTP需要打開如下交互中使用到的端口:
- FTP服務器命令(21)端口接受客戶端任意端口(客戶端初始連接)
- FTP服務器命令(21)端口到客戶端端口(>1023)(服務器響應客戶端命令)
- FTP服務器數據(20)端口到客戶端端口(>1023)(服務器初始化數據連接到客戶端數據端口)
- FTP服務器數據(20)端口接受客戶端端口(>1023)(客戶端發送ACK包到服務器的數據端口)
在第1步中,客戶端的命令端口與FTP服務器的命令端口建立連接,並發送命令“PORT 1027”。然后在第2步中,FTP服務器給客戶端的命令端口返回一個"ACK"。在第3步中,FTP服務器發起一個從它自己的數據端口(20)到客戶端先前指定的數據端口(1027)的連接,最后客戶端在第4步中給服務器端返回一個"ACK"。
主動方式FTP的主要問題實際上在於客戶端。FTP的客戶端並沒有實際建立一個到服務器數據端口的連接,它只是簡單的告訴服務器自己監聽的端口號,服務器再回來連接客戶端這個指定的端口。對於客戶端的防火牆來說,這是從外部系統建立到內部客戶端的連接,這是通常會被阻塞的。
被動模式FTP

為了解決服務器發起到客戶的連接的問題,人們開發了一種不同的FTP連接方式。這就是所謂的被動方式,或者叫做PASV,當客戶端通知服務器它處於被動模式時才啟用。
在被動方式FTP中,命令連接和數據連接都由客戶端,這樣就可以解決從服務器到客戶端的數據端口的入方向連接被防火牆過濾掉的問題。當開啟一個FTP連接時,客戶端打開兩個任意的非特權本地端口(N >=1024和N+1)。第一個端口連接服務器的21端口,但與主動方式的FTP不同,客戶端不會提交PORT命令並允許服務器來回連它的數據端口,而是提交PASV命令。這樣做的結果是服務器會開啟一個任意的非特權端口(P >=1024),並發送PORT P命令給客戶端。然后客戶端發起從本地端口N+1到服務器的端口P的連接用來傳送數據。
對於服務器端的防火牆來說,必須允許下面的通訊才能支持被動方式的FTP:
- FTP服務器命令(21)端口接受客戶端任意端口(客戶端初始連接)
- FTP服務器命令(21)端口到客戶端端口(>1023)(服務器響應客戶端命令)
- FTP服務器數據端口(>1023)接受客戶端端口(>1023)(客戶端初始化數據連接到服務器指定的任意端口)
- FTP服務器數據端口(>1023)到客戶端端口(>1023)(服務器發送ACK響應和數據到客戶端的數據端口)
在第1步中,客戶端的命令端口與服務器的命令端口建立連接,並發送命令“PASV”。然后在第2步中,服務器返回命令"PORT 2024",告訴客戶端(服務器)用哪個端口偵聽數據連接。在第3步中,客戶端初始化一個從自己的數據端口到服務器端指定的數據端口的數據連接。最后服務器在第4 步中給客戶端的數據端口返回一個"ACK"響應。
被動方式的FTP解決了客戶端的許多問題,但同時給服務器端帶來了更多的問題。最大的問題是需要允許從任意遠程終端到服務器高位端口的連接。幸運的是,許多FTP守護程序,包括流行的WU-FTPD允許管理員指定FTP服務器使用的端口范圍。詳細內容參看附錄1。
第二個問題是客戶端有的支持被動模式,有的不支持被動模式,必須考慮如何能支持這些客戶端,以及為他們提供解決辦法。例如,Solaris提供的FTP命令行工具就不支持被動模式,需要第三方的FTP客戶端,比如ncftp。
隨着WWW的廣泛流行,許多人習慣用web瀏覽器作為FTP客戶端。大多數瀏覽器只在訪問ftp://這樣的URL時才支持被動模式。這到底是好還是壞取決於服務器和防火牆的配置。
下面是主動與被動FTP優缺點的簡要總結:
主動FTP對FTP服務器的管理有利,但對客戶端的管理不利。因為FTP服務器企圖與客戶端的高位隨機端口建立連接,而這個端口很有可能被客戶端的防火牆阻塞掉。被動FTP對FTP客戶端的管理有利,但對服務器端的管理不利。因為客戶端要與服務器端建立兩個連接,其中一個連到一個高位隨機端口,而這個端口很有可能被服務器端的防火牆阻塞掉。
幸運的是,有折衷的辦法。既然FTP服務器的管理員需要他們的服務器有最多的客戶連接,那么必須得支持被動FTP。我們可以通過為FTP服務器指定一個有限的端口范圍來減小服務器高位端口的暴露。這樣,不在這個范圍的任何端口會被服務器的防火牆阻塞。雖然這沒有消除所有針對服務器的危險,但它大大減少了危險。。
軟連接與硬連接也有問到。比如問區別阿,當時我打了一個比方,軟連接就像windows下的快鍵方式。刪除軟鏈接並不影響被指向的文件,但若被指向的原文件被刪除,則相關軟連接被稱為死鏈接,就像windows文件被刪除了,那它的快鍵方式也沒廢了。
硬鏈接文件就相當於文件的另外一個入口。文件是存在磁盤中的block塊的,通過索引結點指向block塊來進行硬鏈接。文件至少會有一個硬鏈接,就是它本身。如果一個文件的所有硬鏈接文件都被沒有,那意味着該文件被刪除了。
so, 當時有問到這么一個問題,一個目錄占用了很多空間。如何把它刪除?? 要刪除的話肯定要先備份,但是目錄太大,備份也需占用很多的磁盤空間。所以備份不明智的。正確的做法是先給這個目錄創建一個額外的硬鏈接,再刪除該目錄。如果一段時間后,系統正常,刪除的內容也沒有對一些業務產生影響。這時才可以刪除之前創建的硬鏈接,此時該目錄才真正被刪除。
這次是去面試運維實習生的。學Linux有一個多月了,中間除去二個星期去做項目。很多Linux的知識沒有常常用,so, 一問到也不知道怎么回答,尷尬~_~
很多事情,不試一下,都不知道自己不行,哈哈哈。最后來個段子:

