工做中經常使用的Linux命令介紹與實踐

 

前言php

作後端開發的同窗,通常都會接觸到服務器,而咱們如今的系統用的比較多的服務器系統就是linux了,平時多多少少也會接觸到一些linux下的shell命令。咱們來介紹下linux一些經常使用的命令和使用場景。css

 

pwd,請告訴我,當前在哪一個目錄?mysql

pwd命令以絕對路徑的方式顯示用戶當前工做目錄。命令將當前目錄的全路徑名稱(從根目錄)寫入標準輸出。所有目錄使用/分隔。第一個/表示根目錄,最後一個目錄是當前目錄。執行pwd命令可馬上得知您目前所在的工做目錄的絕對路徑名稱。linux

實例nginx

[root@localhost ~]# pwd/root

 

whoami,告訴我,當前是哪一個用戶登陸的正則表達式

whoami命令用於打印當前有效的用戶名稱sql

實例shell

[root@localhost ~]# whoamiroot

場景express

平時咱們寫一些shell腳本,想指定某些用戶才能執行到,通常會先用whoami命令查出當前用戶,判斷是否爲合法用戶執行腳本。編程

 

ls 看看當前目錄下有啥

ls命令用來顯示目標列表,在Linux中是使用率較高的命令。ls命令的輸出信息能夠進行彩色加亮顯示,以分區不一樣類型的文件。

語法

ls(選項)(參數)

參數通常是目錄:指定要顯示列表的目錄,也能夠是具體的文件。

經常使用搭配

ls -a:顯示全部檔案及目錄(ls內定將檔案名或目錄名稱爲「.」的視爲影藏,不會列出);ls -A:顯示除影藏文件「.」和「..」之外的全部文件列表;ls -C:多列顯示輸出結果。這是默認選項;ls -l:與「-C」選項功能相反,全部輸出信息用單列格式輸出,不輸出爲多列;

實例

[root@localhost ~]# ls -a.bash_logout .bashrc install.log .mysql_history satools .tcshrc .vimrc[root@localhost ~]# ls -1anaconda-ks.cfginstall.loginstall.log.syslogsatools

 

man,呼叫 help~

man,取 manual 之意。一般也稱 man page。

man命令是Linux下的幫助指令,經過man指令能夠查看Linux中的指令幫助、配置文件幫助和編程幫助等信息。

實例

咱們輸入man ls,它會在最左上角顯示「LS(1)」,在這裏,「LS」表示手冊名稱,而「(1)」表示該手冊位於第一節章,一樣,咱們輸man ifconfig它會在最左上角顯示「IFCONFIG(8)」。也能夠這樣輸入命令:「man [章節號] 手冊名稱」。

(manpage 其實就是整個 Linux/BSD/Mac 系統中 shell命令、系統API、Driver 等等各類文檔的大集合。若是 shell命令 和 系統API 有重名咋辦。這就涉及到不一樣的 section 了。上面的章節號就是不一樣的section)

# 用 j, k 或者 上/下箭頭,上下翻滾頁面內容$ man write

 

cat,看看文件中有啥內容

cat命令鏈接文件並打印到標準輸出設備上,cat常常用來顯示文件的內容

注意:當文件較大時,文本在屏幕上迅速閃過(滾屏),用戶每每看不清所顯示的內容。所以,通常用more等命令分屏顯示。爲了控制滾屏,能夠按Ctrl+S鍵,中止滾屏;按Ctrl+Q鍵能夠恢復滾屏。按Ctrl+C(中斷)鍵能夠終止該命令的執行,而且返回Shell提示符狀態。

實例

$ cat con.txtaaabbb

經常使用搭配

-n或-number:有1開始對全部輸出的行數編號;-b或--number-nonblank:和-n類似,只不過對於空白行不編號;cat -n con.txt cat -b con.txt

 

tail命令用於輸入文件中的尾部內容。

實例

tail -f con.txt 實時監控con.txt的變化,當有新內容寫入到con.txt時,會立刻輸出到終端上。tail -n 100 con.txt 表示輸出con.txt最後100行數據拓展head -n 100 con.txt 表示輸出con.txt前100行數據

場景

這是最最最經常使用的命令之一。通常咱們監控日記輸出須要用到這個命令,實時監控日誌變化,有助於咱們分析程序bug。好比有個文件叫 foo.txt,有個程序會不停地給 foo.txt 中寫 log,tail -f 能夠一直看到最新的 log

 

ps, 看進程列表

ps命令用於報告當前系統的進程狀態。能夠搭配kill指令隨時中斷、刪除沒必要要的程序。

ps命令是最基本同時也是很是強大的進程查看命令,使用該命令能夠肯定有哪些進程正在運行和運行的狀態、進程是否結束、進程有沒有僵死、哪些進程佔用了過多的資源等等,總之大部分信息都是能夠經過執行該命令獲得的。

實例場景

這個命令參數不少,建議查看手冊使用,或者記憶幾種經常使用的參數來使用。常常是配合grep來查看某個進程是否在運行。

ps -aux | grep 'php' 表示查看php名字的進程

 

grep

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

實例

在文件中搜索一個單詞,命令會返回一個包含「match_pattern」的文本行:

grep match_pattern file_namegrep "match_pattern" file_name

在多個文件中查找:

grep "match_pattern" file_1 file_2 file_3 ...

輸出除以外的全部行 -v 選項:

grep -v "match_pattern" file_name

標記匹配顏色 --color=auto 選項:

grep "match_pattern" file_name --color=auto

 

find,找文件呀、找文件

實例

# 目錄結構# ./bar.c# ./foo/foo.c$ find . -name "*.c"./foo/foo.c./bar.c

 

還有其餘經常使用的

kill,幹掉某個進程top, 監控當前CPU佔用狀況du, 查看文件大小df, 查看磁盤空餘大小ifconfig, 看看本機IPrm, 刪文件、目錄mkdir, 建立目錄cd, 跳轉目錄

最後

上面就列了一些經常使用的命令,可是還有不少很實用的命令咱們沒有介紹到,這個仍是須要平時多去練習和積累。

相關文章
相關標籤/搜索