面試官問我Linux下常見網絡命令

2020-12-19 酷扯兒

本文轉載自【微信公眾號: 五角錢的程式設計師 ,ID:xianglin965】

來自專輯

美團面試面經真題

第一時間關注技術乾貨!

一起學習、成長、溫情的熱愛生活

前言

今天繼續來講面試,已經出了將近十個美團java一面真題系列文章了,今天來講一講Linux命令相關內容,在全球超級計算機TOP500強作業系統排行榜中,Linux的佔比最近十幾年長期保持在85%以上,且一直呈現快速上升趨勢。根據2016年的排行榜,

Linux的佔比已經高達98.80%。其實在各種大、中小型企業的伺服器應用領域,Linux系統的市場份額也越來越接近這個比例,這足以說明Linux的表現是多麼出色。

所以面試的時候卻經常會被問到,我們根據面經來進行補短板,查漏補缺。下面開始今天的乾貨內容吧,走起,

1.ping命令

ping命令用來測試主機之間網絡的連通性。執行ping指令會使用ICMP傳輸協議,發出要求回應的信息,若遠端主機的網絡功能沒有問題,就會回應該信息,因而得知該主機運作正常。

用法

(1)命令格式

ping ( 選項)目的地址

目的地址指的是被測計算機的IP 地址、主機名或者是域名。ping 命令包含12 個參數,所有參數都可以通過執行ping來查看

(2)實例

ping www.baidu.com

註:

Linux下的ping命令和Windows下的ping命令不同

,需要Ctrl+C來終止

(3)選項

-d:使用Socket的SO_DEBUG功能;-c<完成次數>:設置完成要求回應的次數;-f:極限檢測;-i<間隔秒數>:指定收發信息的間隔時間;-L<網絡界面>:使用指定的網絡界面送出數據包;-l<前置載入>:設置在送出要求信息之前,先行發出的數據包;-n:只輸出數值;-p<範本樣式>:設置填滿數據包的範本樣式;-q:不顯示指令執行過程,開頭和結尾的相關信息除外;-r:忽略普通的Routing Table,直接將數據包送到遠端主機上;-R:記錄路由過程;-s<數據包大小>:設置數據包的大小;-v:詳細顯示指令的執行過程。-t<存活數值>:設置存活數值TTL的大小

說一下其中的

-c、 -i

參數其中 –c count 次數,也就是ping的次數;-i interval 間隔 ,每次ping之間的時間空格

ping www.baidu.com -c 6-i 0.6

2、telnet

telnet命令用於登錄遠程主機,對遠程主機進行管理。telnet因為採用明文傳送報文,安全性不好,很多

Linux伺服器都不開放telnet服務,而改用更安全的ssh方式了。

3、netstat

netstat命令用來列印Linux中網絡系統的狀態信息,可讓你得知整個Linux系統的網絡情況。

用法:

(1)命令格式:

netstat(選項)

(2)選項

-a或–all:顯示所有連線中的Socket;-A<網絡類型>或–<網絡類型>:列出該網絡類型連線中的相關地址;-c或–continuous:持續列出網絡狀態;-C或–cache:顯示路由器配置的快取信息;-e或–extend:顯示網絡其他相關信息;-F或–fib:顯示FIB;-g或–groups:顯示多重廣播功能群組組員名單;-h或–help:在線幫助;-i或–interfaces:顯示網絡界面信息表單;-l或–listening:顯示監控中的伺服器的Socket;-M或–masquerade:顯示偽裝的網絡連線;-n或–numeric:直接使用ip地址,而不通過域名伺服器;-N或–netlink或–symbolic:顯示網絡硬體外圍設備的符號連接名稱;-o或–timers:顯示計時器;-p或–programs:顯示正在使用Socket的程序識別碼和程序名稱;-r或–route:顯示Routing Table;-s或–statistice:顯示網絡工作信息統計表;-t或–tcp:顯示TCP傳輸協議的連線狀況;-u或–udp:顯示UDP傳輸協議的連線狀況;-v或–verbose:顯示指令執行過程;-V或–version:顯示版本信息;-w或–raw:顯示RAW傳輸協議的連線狀況;-x或–unix:此參數的效果和指定」-A unix」參數相同;–ip或–inet:此參數的效果和指定」-A inet」參數相同

(3)實例

netstat -a //列出所有埠netstat -at//列出所有tcp埠netstat -au//列出所有udp埠

在這裡顯示所有的TCP埠

netstat -l//只顯示監聽埠netstat -lt//只列出所有監聽 tcp 埠netstat -lu//只列出所有監聽 udp 埠

和上面的圖相比,可以看到只顯示出了監聽狀態的TCP埠

4、ifconfig

ifconfig命令被用於配置和顯示Linux內核中網絡接口的網絡參數。用ifconfig命令配置的網卡信息,在網卡重啟後機器重啟後,配置就不存在。要想將上述的配置信息永遠的存的電腦裡,那就要修改網卡的配置文件了。

用法:(1)命令格式

ifconfig(參數)

(2)實例

inet 用來表示網卡的IP位址,此網卡的IP位址是:192.168.1.106廣播地址Bcast:192.168.1.255掩碼地址Mask:255.255.255.0

lo是表示主機的迴環地址

,這個一般是用來測試一個網絡程序,但又不想讓區域網或外網的用戶能夠查看,只能在此臺主機上運行和查看所用的網絡接口。

(3)參數

add<地址>:設置網絡設備IPv6的ip地址del<地址>:刪除網絡設備IPv6的IP位址down:關閉指定的網絡設備io_addr< I/O地址>:設置網絡設備的I/O地址irq< IRQ地址>:設置網絡設備的IRQ;media<網絡媒介類型>:設置網絡設備的媒介類型;mem_start<內存地址>:設置網絡設備在主內存所佔用的起始地址;metric<數目>:指定在計算數據包的轉送次數時,所要加上的數目;mtu<字節>:設置網絡設備的MTU;netmask<子網掩碼>:設置網絡設備的子網掩碼;tunnel<地址>:建立IPv4與IPv6之間的隧道通信地址;up:啟動指定的網絡設備;-broadcast<地址>:將要送往指定地址的數據包當成廣播數據包來處理;-pointopoint<地址>:與指定地址的網絡設備建立直接連線,此模式具有保密功能;-promisc:關閉或啟動指定網絡設備的promiscuous模式;IP位址:指定網絡設備的IP位址;網絡設備:指定網絡設備的名稱。

5、route

route命令用來

顯示並設置Linux內核中的網絡路由表

,route命令設置的路由主要是靜態路由。要注意的是,直接在命令行下執行route命令來添加路由,不會永久保存,當網卡重啟或者機器重啟之後,該路由就失效了;可以在

*/etc/rc.local

中添加route命令來保證該路由設置永久有效。

用法:(1)命令格式

route(選項)(參數)

(2)選項

-A:設置地址類型;-C:列印將Linux核心的路由緩存;-v:詳細信息模式;-n:不執行DNS反向查找,直接顯示數字形式的IP位址;-e:netstat格式顯示路由表;-net:到一個網絡的路由表;-host:到一個主機的路由表。

(3)參數

Add:增加指定的路由記錄Del:刪除指定的路由記錄Target:目的網絡或目的主機gw:設置默認網關mss:設置TCP的最大區塊長度(MSS),單位為MBwindow:指定通過路由表的TCP連接的TCP窗口大小dev:路由記錄所表示的網絡接口

(4)實例

顯示當前路由,從圖中可以看出加了選項-n的變化

刪除和添加設置默認網關(這裡就不演示了)

6、arp

arp命令用於操作主機arp緩衝區,可以顯示arp緩衝區的所有條目、刪除指定條目或增加靜態IP位址與MAC地址的對應關係

用法:(1)命令格式

arp(選項)(參數)

(2)選項

-a<主機>:顯示arp緩衝區的所有條目-H<地址類型>:指定arp指令使用的地址類型-d<主機>:從arp緩衝區中刪除指定主機的arp條目-D:使用指定接口的硬體地址-e:以Linux的顯示風格顯示arp緩衝區中的條目-i<接口>:指定要操作arp緩衝區的網絡接口-s<主機><硬體地址>:設置指定主機的IP位址與MAC地址的靜態映射-n:以數字方式顯示arp緩衝區中的條目-v:顯示詳細的arp緩衝區條目,包括緩衝區條目的統計信息-f<文件>:設置主機的IP位址與MAC地址的靜態映射

(3)參數

主機:查詢arp緩衝區中指定主機的arp條目。

(4)實例

arp -aarp -v

7、traceroute

traceroute命令用於追蹤數據包在網絡上傳輸時的全部路徑

,它默認發送的數據包大小是40位元組通過traceroute我們可以知道

信息從你的計算機到網際網路另一端的主機是走的什麼路徑

。當然每次數據包由某一同樣的出發點(source)到達某一同樣的目的地(destination)走的路徑可能會不一樣,但基本上來說大部分時候所走的路由是相同的。traceroute通過發送小的數據包到目的設備直到其返回,來測量其需要多長時間。一條路徑上的每個設備traceroute要測3次。輸出結果中包括每次測試的時間(ms)和設備的名稱(如有的話)及其ip地址

用法:(1)命令格式

traceroute(選項)(參數)

(2)選項

-d:使用Socket層級的排錯功能-f<存活時間>:設置第一個檢測數據包的存活數值TTL的大小-F:設置勿離斷位-g<網關>:設置來源路由網關,最多可設置8個-i<網絡界面>:使用指定的網絡界面送出數據包-l:使用ICMP回應取代UDP資料信息-m<存活數值>:設置檢測數據包的最大存活數值TTL的大小-n:直接使用IP位址而非主機名-p<通信埠>:設置UDP傳輸協議的通信埠-r:忽略普通的Routing Table,直接將數據包送到遠端主機上-s<來源地址>:設置本地主機送出數據包的TOS數值-v:詳細顯示指令的執行過程-w<超時秒數>:設置等待遠端主機回報的時間-x:開啟或關閉數據包的正確性檢驗

(3)參數

主機:指定目的主機IP位址或主機名

(4)實例

traceroute www.baidu.com

從圖中可以看出記錄按序列號從1開始,

每個紀錄就是一跳 ,每跳表示一個網關,

我們看到每行有三個時間,單位是ms,其實就是-q的默認參數。探測數據包向每個網關發送三個數據包後,網關響應後返回的時間;在後面一部分我們會看到有一些行是以星號表示的。出現這樣的情況,可能是防火牆封掉了ICMP的返回信息,所以我們得不到什麼相關的數據包返回數據。

8、host

host命令是常用的分析域名查詢工具,可以檢測域名系統工作是否正常

用法:(1)命令格式

host(選項)(參數)

(2)選項

-a:顯示詳細的DNS信息-c<類型>:指定查詢類型,默認值為「IN」-C:查詢指定主機的完整SOA記錄-r:在查詢域名時,不使用遞歸的查詢方式-t<類型>:指定查詢第域名信息類型-v:顯示指令執行的詳細信息-a:顯示詳細的DNS信息;-w:如果域名伺服器沒有給出應答信息,則一直等待,直到域名伺服器給出應答-W<時間>:指定域名查詢的最長時間,如果在指定時間內域名伺服器沒有給出應答信息,則退出指令-4:使用IPv4-6:使用IPv6

(3)參數

主機:要查詢的主機信息

9、tcpdump

tcpdump命令是一款抓取數據包的工具,它可以列印所有經過網絡接口的數據包的頭信息,也可以使用-w選項將數據包保存到文件中,方便以後分析。

用法:

(1)命令格式

tcpdump(選項)

(2)選項

-a:嘗試將網絡和廣播地址轉換成名稱;-c<數據包數目>:收到指定的數據包數目後,就停止進行傾倒操作;-d:把編譯過的數據包編碼轉換成可閱讀的格式,並傾倒到標準輸出;-dd:把編譯過的數據包編碼轉換成C語言的格式,並傾倒到標準輸出;-ddd:把編譯過的數據包編碼轉換成十進位數字的格式,並傾倒到標準輸出;-e:在每列傾倒資料上顯示連接層級的文件頭;-f:用數字顯示網際網絡地址;-F<表達文件>:指定內含表達方式的文件;-i<網絡界面>:使用指定的網絡截面送出數據包;-l:使用標準輸出列的緩衝區;-n:不把主機的網絡地址轉換成名字;-N:不列出域名;-O:不將數據包編碼最佳化;-p:不讓網絡界面進入混雜模式;-q :快速輸出,僅列出少數的傳輸協議信息;-r<數據包文件>:從指定的文件讀取數據包數據;-s<數據包大小>:設置每個數據包的大小;-S:用絕對而非相對數值列出TCP關聯數;-t:在每列傾倒資料上不顯示時間戳記;-tt:在每列傾倒資料上顯示未經格式化的時間戳記;-T<數據包類型>:強制將表達方式所指定的數據包轉譯成設置的數據包類型;-v:詳細顯示指令執行過程;-vv:更詳細顯示指令執行過程;-x:用十六進位字碼列出數據包資料;-w<數據包文件>:把數據包數據寫入指定的文件。

本文轉載自【微信公眾號: 五角錢的程式設計師 ,ID:xianglin965】

相關焦點

  • Linux面試必須會的基本命令-下
    前面和大家介紹了一些Linux的基本命令,今天將這部分更完,這部分Linux的內容筆者面試前沒有準備過,所以簡歷中都沒有寫關於Linux的東西,想著這樣就不會被問了
  • Linux下使用tar命令
    範例:範例一:將整個 /etc 目錄下的文件全部打包成為 /tmp/etc.tar[root@linux ~][root@linux ~][root@linux ~]特別注意:在參數範例四:在 /tmp 底下,我只想要將 /tmp/etc.tar.gz 內的 etc/passwd 解開而已[root@linux ~][root@linux tmp]我可以透過 tar -ztvf 來查閱 tarfile 內的文件名稱,如果只要一個文件,就可以透過這個方式來下達,注意, etc.tar.gz 內的根目錄
  • 面試題linux命令之awk
    無論是在測試還是開發崗位的面試招聘中,都會被提問到:是否了解linux系統,經常使用linux命令有哪些,接著可能會出一道題目,找出下列文本中的哪些值
  • 阿里面試官問我Java線程和作業系統線程什麼關係
    這個問題是安琪拉之前面試被問到的一個問題,正好順著上一篇文章介紹完線程調用時的用戶態和內核態的切換,後續把Java 並發的都一起講了。面試官:聽前一個面試官說你Java並發這塊掌握的不錯,我們深入的交流一下;我:  看了看面試官頭部稀疏的結締組織,已然覺得這場面試不簡單,不過好在事前把安琪拉的博客看了個遍,有所準備,我回答說:咳咳,掌握的還算可以。
  • 一道面試題,我把阿里面試官唬住了
    這個問題是安琪拉之前面試被問到的一個問題,正好順著上一篇文章介紹完線程調用時的用戶態和內核態的切換,後續把 Java 並發的都一起講了。面試官:聽前一個面試官說你 Java 並發這塊掌握的不錯,我們深入的交流一下;我:  看了看面試官頭部稀疏的結締組織,已然覺得這場面試不簡單,不過好在事前把安琪拉的博客看了個遍,有所準備,我回答說:咳咳,掌握的還算可以。
  • 扎心了,程式設計師面試時因對Linux命令不熟悉,被婉拒了
    每晚10點,捕獲技術思考和創業資源洞察後臺一位讀者分享了他的一次面試經歷,張工是一名java程式設計師,到某網際網路公司面試,由於對Linux命令不是很熟悉,最後被婉拒了。1、刪除文件夾和文件的命令linux 刪除文件夾和文件的命令-r 就是向下遞歸,不管有多少級目錄,一併刪除-f 就是直接強行刪除,不作任何提示的意思刪除文件夾實例:
  • 2020年Java面試整理最全:29核心知識+350家面試真題+面試神技
    >3.linux查看文件的命令答:(有點慌了,linux不是很會,而且簡歷上也沒寫linux)用過的就是cat、vi和vim命令。[image.png](http://116.62.53.133:8090/upload/2020/07/image-10887026acd2433cbca93195fb9bf811.png)7.linux如何查看系統狀態答:(並不知道面試官說的是什麼,但是我知道有個查看進程狀態的命令,於是問了面試官是不是查看系統進程,
  • Linux掛載命令mount用法及參數詳解
    #mount -t ntfs -o iocharset=cp936 /dev/sdc1 /mnt/usbhd1 #mount -t vfat -o iocharset=cp936 /dev/sdc5 /mnt/usbhd2linux系統下使用fdisk分區命令和mkfs文件系統創建命令可以將移動硬碟的分區製作成linux系統所特有的ext2、ext3
  • linux命令大全
    雖然,大部分人最熟悉的還是WINDOWS用戶,但是總有各種各樣的原因讓我們選擇linux,不論因為何種原因開始接觸linux,但都希望大家儘快進入到Linux的世界裡,玩轉Linux高手,最終發現linux的可愛之處。本文將linux命令大致分為了10個部分:文件管理、磁碟管理、文檔編輯、文件傳輸、磁碟維護、網絡通訊、系統管理、系統設置、備份壓縮、設備管理。各位看官可將本文收藏,以備將來不時之需。
  • Linux常用命令:Linux more命令使用方法
    more功能類似 cat ,cat命令是整個文件的內容從上到下顯示在屏幕上。 more會以一頁一頁的顯示方便使用者逐頁閱讀,而最基本的指令就是按空白鍵(space)就往下一頁顯示,按 b 鍵就會往回(back)一頁顯示,而且還有搜尋字串的功能 。more命令從前向後讀取文件,因此在啟動時就加載整個文件。
  • 每天一個 Linux 命令(23):Linux 目錄結構
    ,深入了解linux文件目錄結構的標準和每個目錄的詳細功能,對於我們用好linux系統只管重要,下面我們就開始了解一下linux目錄結構的相關知識。當在使用Linux的時候,如果您通過ls –l / 就會發現,在/下包涵很多的目錄,比如etc、usr、var、bin … … 等目錄,而在這些目錄中,我們進去看看,發現也有很多的目錄或文件。
  • 用linux命令瀏覽網頁:用Wget命令來瀏覽網頁
    用linux命令瀏覽網頁:用Wget命令來瀏覽網頁 以下是在liux模式下用linux命令瀏覽網頁的方法,可以用linux命令:lynx,links瀏覽web,linux命令:lftp,wget,curl等上傳/下載軟體。
  • 面試網絡公司大廠都會被問到哪些問題
    提到找工作一定離不開面試,而大廠的面試對於有些人來說很容易,對於有些人來說卻很難,那麼如何才能得心應手地應對大廠面試呢?知己知彼,百戰不殆兵法有雲,知己知彼,才能從容獲勝。我們要想應對大廠的面試,首先應該知道的就是大廠面試會問哪些問題,我們對應準備才能得心應手。
  • 面試官靈魂一問: 為什麼 SQL 語句不要過多的 join?
    我:有的呀面試官:我想查看內存的使用情況該用什麼命令我:free 或者 top面試官:那你說一下用free命令都可以看到啥信息我:那,如下圖所示 可以看到內存以及緩存的使用情況不知道面試官:sync; echo 3 > /proc/sys/vm/drop_caches就可以清理buff/cache了,你說說我在線上執行這條命令做好不好?
  • 在 Linux 下 9 個有用的 touch 命令示例 | Linux 中國
    nfsshare 文件夾,讓我們用下面的命令改變這個文件夾的訪問時間:[root@linuxtechi ~]# touch -m /mnt/nfsshare/[root@linuxtechi ~]# stat /mnt/nfsshare/  File: '/mnt/nfsshare/'  Size: 6
  • Linux下的幫助命令man是如何使用的?
    前言在windows下,當我們不知道某個操作如何操作時,作業系統自帶了一個聯繫手冊,也就相當於我們平時的用戶使用手冊,裡面通過詳盡的步驟指導我們如何操作,以實現我們的目標。在linux中也有一個關於命令如何使用的用戶使用手冊,這份用戶手冊就是通過man命令調起的。那麼man命令是怎麼使用的呢?解釋:這裡的man取的是manual手冊的意思,不要理解成man男人。
  • Linux基礎命令之:實驗內容及小結
    本文引用地址:http://www.eepw.com.cn/article/257155.htm2.4實驗內容2.4.1在Linux下解壓常見軟體
  • Linux下scp命令使用教程
    scp是secure copy的簡寫,用於在Linux下進行遠程拷貝文件的命令,scp傳輸是加密的,可能會稍微影響一下速度其佔用的系統資源非常小。非常適合遠程文件的拷貝。本篇我們就詳細介紹下scp的用法。
  • Linux文件的常用操作命令
    linux文件操作常用指令1、系統命令runlevel # 查看當前的運行級別systemctl status firewalld # 開啟網絡服務功能stop # 關閉restart # 重啟reload # 重載reboot # 重啟halt # 關機poweroff # 關機2、查看文件常用命令cat # 在命令提示符下查看文件內容more # 在命令提示符中分頁查看文件內容
  • Linux常用命令 - sed
    接下來, 我將使用 sed 查找和替換字符串。我還將向您展示如何執行遞歸搜索和替換。查找和替換字符串sedsed 有幾個版本,它們之間有一些函數上的差異。Macos 使用的是 BSD 版本,而且大多數 Linux 發行版默認都預裝了 GNU。下面默認的是 GNU 版本。