面試中問到的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- 引用,除了LFD 和TAB 之外 |
awk命令
簡介:
awk
grep
的查詢,sed
的編輯,awk
在其對資料分析並生成報告時,顯得尤為強大。簡單來說awk
就是把檔案逐行的讀入,以空格為預設分隔符將每行切片,切開的部分再進行各種分析處理。
awk
有3個不同版本: awk
、nawk
和gawk
,未作特別說明,一般指gawk
,gawk
是 AWK 的 GNU 版本。
使用方法:
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.2 或210.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物件的建立者才有這項權利啦