這幾天一直看到有粉絲向我要Linux的學習教程,這不今天就給大家找到了。需要的同學看文末擷取方式哦。
熟練的掌握和使用下面這些命令會提高大家測試工作的效率。
1. 命令: Find
搜尋指定目錄下的檔案,從開始於父目錄,然後搜尋子目錄。
注意: -name‘選項是搜尋大小寫敏感。可以使用-iname‘選項,這樣在搜尋中可以忽略大小寫。(*是萬用字元,可以搜尋所有的檔案;‘.sh‘你可以使用檔案名稱或者檔案名稱的一部分來制定輸出結果)
注意:以上命令尋找根目錄下和所有檔案夾以及載入的裝置的子目錄下的所有包含‘tar.gz’的檔案。
’find’命令的更詳細資料請參考35 Find Command Examples in Linux
2. 命令: grep
‘grep‘命令搜尋指定檔案中包含給定字串或者單詞的行。舉例搜尋‘/etc/passwd‘檔案中的‘tecmint’
使用’-i’選項將忽略大小寫。
使用’-r’選項遞迴搜尋所有自目錄下包含字串 “127.0.0.1“.的行。
注意:您還可以使用以下選項:
-w 搜尋單詞 (egrep -w ‘word1|word2‘ /path/to/file).
-c 用於統計滿足要求的行 (i.e., total number of times the pattern matched) (grep -c ‘word‘ /path/to/file).
–color 彩色輸出 (grep –color server /etc/passwd).
3. 命令: man
‘man‘是系統協助頁。Man提供命令所有選項及用法的線上文檔。幾乎所有的命令都有它們的協助頁,例如:
上面是man命令的系統協助頁,類似的有cat和ls的協助頁。
注意:系統協助頁是為了命令的使用和學習而設計的。
4. 命令: ps
ps命令給出正在啟動並執行某個進程的狀態,每個進程有特定的id成為PID。
使用‘-A‘選項可以列出所有的進程及其PID。
注意:當你要知道有哪些進程在運行或者需要知道想殺死的進程PID時ps命令很管用。你可以把它與‘grep‘合用來查詢指定的輸出結果,例如:
ps命令與grep命令用管道線分割可以得到我們想要的結果。
5. 命令: kill
也 許你從命令的名字已經猜出是做什麼的了,kill是用來殺死已經無關緊要或者沒有響應的進程.它是一個非常有用的命令,而不是非常非常有用.你可能很熟悉 Windows下要殺死進程可能需要頻繁重啟機器因為一個在啟動並執行進程大部分情況下不能夠殺死,即使殺死了進程也需要重新啟動作業系統才會生效.但在 linux環境下,事情不是這樣的.你可以殺死一個進程並且重啟它而不是重啟整個作業系統.
殺死一個進程需要知道進程的PID.
假設你想殺死已經沒有響應的‘apache2‘進程,運行如下命令:
搜尋‘apache2‘進程,找到PID並殺掉它.例如:在本例中‘apache2‘進程的PID是1285..
注意:每次你重新運行一個進程或者啟動系統,每個進程都會產生一個新的PID.你可以使用ps命令獲得當前運行進程的PID.
另一個殺死進程的方法是:
注意:kill需要PID作為參數,pkill可以選擇應用的方式,比如指定進程的所有者等.
6. 命令: whereis
whereis的作用是用來定位命令的二進位檔案\資源\或者協助頁.舉例來說,獲得ls和kill命令的二進位檔案/資源以及協助頁:
注意:當需要知道二進位檔案儲存位置時有用.
7. 命令: service
‘service‘命令控制服務的啟動、停止和重啟,它讓你能夠不重啟整個系統就可以讓配置生效以開啟、停止或者重啟某個服務。
在Ubuntu上啟動apache2 server:
重啟apache2 server:
停止apache2 server:
注意:要想使用service命令,進程的指令碼必須放在‘/etc/init.d‘,並且路徑必須在指定的位置。
如果要運行“service apache2 start”實際上實在執行“service /etc/init.d/apache2 start”.
8. 命令: alias
alias是一個系統自建的shell命令,允許你為名字比較長的或者經常使用的命令指定別名。
我經常用‘ls -l‘命令,它有五個字元(包括空格)。於是我為它建立了一個別名‘l’。
試試它是否能用:
去掉’l’別名,要使用unalias命令:
再試試:
開個玩笑,把一個重要命令的別名指定為另一個重要命令:
想想多麼有趣,現在如果你的朋友敲入‘cd’命令,當他看到的是目錄檔案清單而不是改變目錄;當他試圖用’su‘命令時,他會進入目前的目錄。你可以隨後去掉別名,向他解釋以上情況。
9.命令: df
報告系統的磁碟使用方式。在跟蹤磁碟使用方式方面對於普通使用者和系統管理員都很有用。 ‘df‘ 通過檢查目錄大小工作,但這一數值僅當檔案關閉時才得到更新。
‘df’命令的更多例子請參閱 12 df Command Examples in Linux.
10. 命令: du
估計檔案的空間佔用。 逐層統計檔案(例如以遞迴方式)並輸出摘要。
注意: ‘df‘ 只顯示檔案系統的使用統計,但‘du‘統計目錄內容。‘du‘命令的更詳細資料請參閱10 du (Disk Usage) Commands.
11. 命令: rm
‘rm’ 標準移除命令。 rm 可以用來刪除檔案和目錄。
直接刪除目錄時會報錯:
‘rm’ 不能直接刪除目錄,需要加上相應的’-rf’參數才可以。
警告: “rm -rf” 命令是一個破壞性的命令,假如你不小心刪除一個錯誤的目錄。一旦你使用’rm -rf’ 刪除一個目錄,在目錄中所有的檔案包括目錄本身會被永久的刪除,所以使用這個命令要非常小心。
12. 命令: echo
echo 的功能正如其名,就是基於標準輸出列印一段文本。它和shell無關,shell也不讀取通過echo命令列印出的內容。然而在一種互動式指令碼中,echo通過終端將資訊傳遞給使用者。它是在指令碼語言,互動式指令碼語言中經常用到的命令。
建立一小段互動式指令碼
1. 在案頭上建立一個檔案,命名為 ‘interactive_shell.sh‘ (記住必須帶 ‘.sh‘副檔名)。
2. 複製粘貼如下指令碼代碼,確保和下面的一致。
接下來,設定執行許可權並運行指令碼。
注意: ‘#!/bin/bash‘ 告訴shell這是一個指令碼,並且在指令碼首行寫上這句話是個好習慣。. ‘read‘ 讀取給定的輸出。
13. 命令: passwd
這是一個很重要的命令,在終端中用來改變自己密碼很有用。顯然的,因為安全的原因,你需要知道當前的密碼。
14. 命令: lpr
這個命令用來在命令列上將指定的檔案在指定的印表機上列印。
注意: “lpq“命令讓你查看印表機的狀態(是開啟狀態還是關閉狀態)和等待列印中的工作(檔案)的狀態。
15. 命令: cmp
比較兩個任意類型的檔案並將結果輸出至標準輸出。如果兩個檔案相同, ‘cmp‘預設返回0;如果不同,將顯示不同的位元組數和第一處不同的位置。