1. 程式人生 > >面試中問到的linux命令

面試中問到的linux命令

cat命令

用途:
連線檔案或標準輸入並列印。
這個命令常用來顯示檔案內容,或者將幾個檔案連線起來顯示,或者從標準輸入讀取內容並顯示,它常與重定向符號配合使用。

命令格式:

cat [選項] [檔案]

命令功能:

cat主要有三大功能:

  • 一次顯示整個檔案:cat filename
  • 從鍵盤建立一個檔案:cat > filename只能建立新檔案,不能編輯已有檔案。
  • 將幾個檔案合併為一個檔案:cat file1 file2 > file

命令引數:

簡寫 含義 解釋
-A --show-all 等價於-vET
-b --number-nonblank
對非空輸出行編號
-e 等價於-vE
-E --show-ends 在每行結束處顯示$
-n --number 對輸出的所有行編號,由1開始對所有輸出的行數編號
-s --squeeze-blank 有連續兩行以上的空白行,就代換為一行的空白行
-t -vT等價
-T, --show-tabs 將跳格字元顯示為^I
-u (被忽略)
-v, --show-nonprinting 使用^M-引用,除了LFDTAB之外

awk命令

簡介:

awk

是一個強大的文字分析工具,相對於grep的查詢,sed的編輯,awk在其對資料分析並生成報告時,顯得尤為強大。簡單來說awk就是把檔案逐行的讀入,以空格為預設分隔符將每行切片,切開的部分再進行各種分析處理。

awk有3個不同版本: awknawkgawk,未作特別說明,一般指gawkgawkAWKGNU 版本。

使用方法:

awk '{pattern + action}' {filenames}

其中pattern表示 AWK 在資料中查詢的內容,而 action 是在找到匹配內容時所執行的一系列命令。花括號{}不需要在程式中始終出現,但它們用於根據特定的模式對一系列指令進行分組。 pattern

就是要表示的正則表示式,用斜槓括起來。

基本功能:

awk語言的最基本功能是在檔案或者字串中基於指定規則瀏覽和抽取資訊,awk抽取資訊後,才能進行其他文字操作。完整的awk指令碼通常用來格式化文字檔案中的資訊。

通常,awk是以檔案的一行為處理單位的。awk每接收檔案的一行,然後執行相應的命令,來處理文字。

sed命令

簡介:

sed 是一種線上編輯器,它一次處理一行內容。處理時,把當前處理的行儲存在臨時緩衝區中,稱為“模式空間”(pattern space);

接著用sed命令處理緩衝區中的內容,處理完成後,把緩衝區的內容送往螢幕。接著處理下一行,這樣不斷重複,直到檔案末尾。

檔案內容並沒有 改變,除非你使用重定向儲存輸出。

基本功能:
Sed主要用來自動編輯一個或多個檔案;簡化對檔案的反覆操作;編寫轉換程式等。

nl命令

nl命令在linux系統中用來計算檔案中行號

nl 可以將輸出的檔案內容自動的加上行號!其預設的結果與 cat -n有點不太一樣, nl 可以將行號做比較多的顯示設計,包括位數與是否自動補齊 0 等等的功能。

rm命令

簡介:

rm是常用的命令,該命令的功能為刪除一個目錄中的一個或多個檔案或目錄,它也可以將某個目錄及其下的所有檔案及子目錄均刪除。對於連結檔案,只是刪除了連結,原有檔案均保持不變。
rm是一個危險的命令,使用的時候要特別當心,尤其對於新手,否則整個系統就會毀在這個命令(比如在/(根目錄)下執行rm * -rf)。所以,我們在執行rm之前最好先確認一下在哪個目錄,到底要刪除什麼東西,操作時保持高度清醒的頭腦。
命令格式:

rm [選項] 檔案… 

命令功能:

刪除一個目錄中的一個或多個檔案或目錄,如果沒有使用- r選項,則rm不會刪除目錄。如果使用 rm 來刪除檔案,通常仍可以將該檔案恢復原狀。

命令引數:

簡寫 含義 解釋
-f --force 忽略不存在的檔案,從不給出提示。
-i --interactive 進行互動式刪除
-r -R, --recursive 指示rm將引數中列出的全部目錄和子目錄均遞迴地刪除。
-v --verbose 詳細顯示進行的步驟
--help 顯示此幫助資訊並退出
--version 輸出版本資訊並退出

grep命令

grep(global search regular expression(RE) and print out the line,全面搜尋正則表示式並把行打印出來)是一種強大的文字搜尋工具,它能使用正則表示式搜尋文字,並把匹配的行打印出來。

  • 在檔案中搜索一個單詞
grep match_pattern file_name 
grep "match_pattern" file_name
  • 輸出除之外的所有行 -v 選項:
grep -v "match_pattern" file_name

統計檔案或者文字中包含匹配字串的行數 -c 選項:

grep -c "text" file_name

輸出包含匹配字串的行數 -n 選項:

grep "text" -n file_name 
cat file_name | grep "text" -n

tcpdump命令

tcpdump命令是一款sniffer工具,它可以列印所有經過網路介面的資料包的頭資訊,也可以使用-w選項將資料包儲存到檔案中,方便以後分析。

  • 直接啟動tcpdump將監視第一個網路介面上所有流過的資料包
tcpdump
  • 指定ip,例如截獲所有210.27.48.1 的主機收到的和發出的所有的資料包
tcpdump host 210.27.48.1
  • 截獲主機210.27.48.1 和主機210.27.48.2210.27.48.3的通訊
tcpdump host 210.27.48.1 and \ (210.27.48.2 or 210.27.48.3 \)
  • 獲取主機210.27.48.1接收或發出的telnet包,使用如下命令
tcpdump tcp port 23 host 210.27.48.1

strace命令

strace命令是一個集診斷、除錯、統計與一體的工具,我們可以使用strace對應用的系統呼叫和訊號傳遞的跟蹤結果來對應用進行分析,以達到解決問題或者是瞭解應用工作過程的目的。當然strace與專業的除錯工具比如說gdb之類的是沒法相比的,因為它不是一個專業的偵錯程式。

strace的最簡單的用法就是執行一個指定的命令,在指定的命令結束之後它也就退出了。在命令執行的過程中,strace會記錄和解析命令程序的所有系統呼叫以及這個程序所接收到的所有的訊號值。

chmod命令

chmod命令用來變更檔案或目錄的許可權。在UNIX系統家族裡,檔案或目錄許可權的控制分別以讀取、寫入、執行3種一般許可權來區分,另有3種特殊許可權可供運用。使用者可以使用chmod指令去變更檔案與目錄的許可權,設定方式採用文字或數字代號皆可。符號連線的許可權無法變更,如果使用者對符號連線修改許可權,其改變會作用在被連線的原始檔案。

diff命令

diff命令在最簡單的情況下,比較給定的兩個檔案的不同。如果使用“-”代替“檔案”引數,則要比較的內容將來自標準輸入。diff命令是以逐行的方式,比較文字檔案的異同處。如果該命令指定進行目錄的比較,則將會比較該目錄中具有相同檔名的檔案,而不會對其子目錄檔案進行任何比較操作。

more命令

more命令是一個基於vi編輯器文字過濾器,它以全螢幕的方式按頁顯示文字檔案的內容,支援vi中的關鍵字定位操作。more名單中內建了若干快捷鍵,常用的有H(獲得幫助資訊),Enter(向下翻滾一行),空格(向下滾動一屏),Q(退出命令)。

less命令

less命令的作用與more十分相似,都可以用來瀏覽文字檔案的內容,不同的是less命令允許使用者向前或向後瀏覽檔案,而more命令只能向前瀏覽。用less命令顯示檔案時,用PageUp鍵向上翻頁,用PageDown鍵向下翻頁。要退出less程式,應按Q鍵。

paste命令

paste命令用於將多個檔案按照列佇列進行合併。

head命令

head命令用於顯示檔案的開頭的內容。在預設情況下,head命令顯示檔案的頭10行內容。

tail命令

tail命令用於輸入檔案中的尾部內容。tail命令預設在螢幕上顯示指定檔案的末尾10行。如果給定的檔案不止一個,則在顯示的每個檔案前面加一個檔名標題。如果沒有指定檔案或者檔名為“-”,則讀取標準輸入。

注意:如果表示位元組或行數的N值之前有一個”+”號,則從檔案開頭的第N項開始顯示,而不是顯示檔案的最後N項。N值後面可以有後綴:b表示512,k表示1024,m表示1 048576(1M)。

uniq命令

uniq命令用於報告或忽略檔案中的重複行,一般與sort命令結合使用。

sort命令

sort命令是在Linux裡非常有用,它將檔案進行排序,並將排序結果標準輸出。sort命令既可以從特定的檔案,也可以從stdin中獲取輸入。

who命令

who命令是顯示目前登入系統的使用者資訊。執行who命令可得知目前有那些使用者登入系統,單獨執行who命令會列出登入帳號,使用的終端機,登入時間以及從何處登入或正在使用哪個X顯示器。

netstat命令

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

ipcs命令

ipcs命令用於報告Linux中程序間通訊設施的狀態,顯示的資訊包括訊息列表、共享記憶體和訊號量的資訊。

ipcrm命令

ipcrm命令移除一個訊息物件。或者共享記憶體段,或者一個訊號集,同時會將與ipc物件相關鏈的資料也一起移除。當然,只有超級管理員,或者ipc物件的建立者才有這項權利啦