1. 程式人生 > >【Linux常用命令①】程式設計師必須掌握的Linux命令

【Linux常用命令①】程式設計師必須掌握的Linux命令

[TOC] 在文章最前面給大家推薦一個查詢Linux命令的網站,如果man命令裡面的英文文件看不懂,可以去這個網站裡面查詢。[點選這裡](https://man.linuxde.net/) 下面介紹的命令為了避免篇幅太多,也不會展示全部引數,大家也可以去這個網站程序詳細的查詢。 ### man:幫助命令 ​ 示例:`man ps` ​ 這條指令會顯示出關於ps命令的詳細說明。下圖是man命令中常用的案件以及說明。 ​ ![](https://img2020.cnblogs.com/blog/1383122/202009/1383122-20200920121542912-438589939.png) ### echo:輸出 ​ 示例1:`echo Hello Linux` ​ 這條指令會打印出Hello Linux。 ​ 示例2:`echo $SHELL` ​ $的作用是獲取變數的值,這條指令會打印出變數SHELL的值。 ### date:時間 ​ 格式為:date [選項] [指定輸出格式] ​ 示例1:`date` ​ 以預設格式輸出當前系統時間。 ​ 示例2:`date "+%Y-%m-%d %H:%M:%S"` ​ 以指定格式輸出當前系統時間,如:2020-09-20 12:15:38 ​ 下圖為date命令中的引數以及作用 ​ ![](https://img2020.cnblogs.com/blog/1383122/202009/1383122-20200920121511216-1265336595.png) ### reboot:重啟 ​ 這條指令用於重啟系統,預設只能由root使用者來重啟。 ### poweroff:關閉系統 ​ 這條指令用於關閉系統,預設只能由root使用者來關閉。 ### wget:下載 ​ wege命令用於在終端中下載網路檔案,格式為:wget [引數] 下載地址 ​ 示例:`wget http://localhost/test.txt` ​ 下圖為wget命令的引數以及作用 ![](https://img2020.cnblogs.com/blog/1383122/202009/1383122-20200920122041647-148202267.png) ### ps:檢視程序狀態 ​ ps命令用於檢視系統中的程序狀態。 ​ 示例:`ps -a` ​ 以上指令會顯示所有程序。下圖為ps命令的引數以及作用。 ![](https://img2020.cnblogs.com/blog/1383122/202009/1383122-20200921184352063-891959487.png) ### top:工作管理員 ​ top命令可以動態的監視程序活動以及系統的負債資訊,相當於Windows系統中的工作管理員。 ​ top命令使用起來非常簡單,不需要額外引數,但是需要看懂裡面的資訊。以下圖為例,簡單的介紹下各行各列代表的意思。 ​ ![](https://img2020.cnblogs.com/blog/1383122/202009/1383122-20200920122533924-1284806481.png) ​ 第一行:系統時間、執行時間、登陸的終端數、系統負載(三個值分別代表1分鐘、5分鐘、15分鐘內的平均值,數值越小說明負載越低)。 ​ 第二行:程序總數、執行中的程序數、睡眠中的程序數、停止的程序數、僵死的程序數。 ​ 第三行:第一個代表使用者佔用資源百分比、第二個系統核心佔用資源百分比。 ​ 第四行和第五行分別代表實體記憶體的資訊和虛擬記憶體的資訊。 ### pidof:查詢某個指定程序的PID值 ​ 這個命令使用格式為:pidof [引數] [服務名稱] ​ 示例:`pidof sshd` ​ 這條指令會顯示出sshd這個程序的PID。 ### kill:終止某個程序 ​ 使用格式為:kill [引數] [程序PID] ​ 示例:`kill 666` ​ 終止PID為666的程序。 ### killall:終止某個服務的所有程序 ​ 一般來說,複雜的程式會有多個程序同時提供服務,這個時候想結束這個程式的所有程序如果使用kill一個個結束就有點麻煩了,這個時候就可以用上killall ​ 示例:`killall httpd` ### ifconfig:檢視網路配置以及資訊 ​ 這個命令可以用來檢視本機的網絡卡名稱、IP地址、MAC地址等網路資訊。 ### uanme:檢視系統核心與版本資訊 ​ 示例:`uname -a` ​ 這條指令會顯示出核心名稱、主機名、發行版本、系統時間等資訊。 ### uptime:檢視系統負載資訊 ​ 這個命令可以顯示當前系統的時間、已執行時間、啟動的終端數、平均負載值(1分鐘、5分鐘、15分鐘)。 ### free:檢視記憶體資訊 ​ 示例:`free -h` ​ 這條指令會顯示記憶體實時的使用量資訊。 ### who:當前登入使用者的資訊 ​ 這個命令可以顯示出所有正在登陸本機的使用者名稱以及他們開啟的終端資訊。 ### last:檢視系統登入記錄 ​ 這個命令可以檢視本機的登入記錄。 ### history:顯示執行過的命令 ​ 顯示出命令記錄後,我們可以使用“!行號數字”來重複執行一次某條命令。 ### sosreport:收集系統資訊並輸出診斷文件 ### pwd:顯示當前使用者所處的工作目錄 ### cd:切換工作路徑 ​ 這個命令應該是我們最常用的一個命令了,除了直接使用絕對路徑來進行切換,還可以使用一些快捷方式來切換。 ​ 示例1:`cd -` 返回之前的目錄 ​ 示例2:`cd ~` 切換到家目錄 ​ 示例3:`cd ..` 返回上級目錄 ### ls:顯示目錄中檔案的資訊 ​ 使用格式為:ls [引數] [檔案] ​ 示例:`ls -al` ​ -a代表顯示全部檔案,包括隱藏檔案。-l代表顯示詳情。 ### cat:檢視純文字檔案(內容較少) ​ 示例:`cat -n readme.txt` ​ -n可以顯示行號 ### more:檢視純文字檔案(內容較多) ​ 示例:`more readme.txt` ### head:檢視文字前N行 ​ 示例:`head -n 20 readme.txt` ​ -n 20代表前20行。 ### tail:檢視文字後N行 ​ 示例:`tail -n 20 -f readme.txt` ​ -n 20代表後20行。-f可以持續重新整理這個檔案,也就是說這個文字發生改變的話,我們能及時看到。 ### tr:替換文字中的字元 ​ 使用格式:tr [原始字元] [目標字元] ​ 示例:`cat readme.txt | tr [a-z] [A-Z]` ​ 這條指令中使用到了管道符‘|’,它的作用是把前面一條指令的輸出當作後面一條指令的輸入。所以整體的意思就是把readme.txt的小寫字母換成大寫字母。 ### wc: 統計文字資訊 ​ wc命令可以統計指定文字的行數、字數、位元組數,格式為:wc [引數] [指定文字] ​ 其引數如下圖 ![](https://img2020.cnblogs.com/blog/1383122/202009/1383122-20200921175952717-1420925018.png) ​ 示例:`wc -l readme.txt` ### stat:檢視檔案儲存資訊 ​ 示例:`stat readme.txt` ### cut:顯示行中的指定部分 ​ 示例:`cut -d: -f1 readme.txt` ​ 以冒號為間隔查詢第一行 ### diff:比較多個文字的差異 ​ 示例:`diff -q -c readme1.txt readme2.txt` ​ 顯示出readme1和readme2差異之處。 ### touch:建立空白檔案 ​ 這個命令用於建立空白檔案或設定檔案的時間。格式為:touch [引數] [檔案] ​ 如果是建立檔案,就很簡單,直接touch [檔名] ​ 如果是修改檔案時間,則需要用到以下引數 ![](https://img2020.cnblogs.com/blog/1383122/202009/1383122-20200921181952219-1048381911.png) ​ 示例:`touch -d "2020-09-20 20:20:20" readme.txt` ### mkdir:建立空白目錄 ​ 示例:`mkdir -p newDir/myDir` ​ -p用於遞迴建立目錄。 ### cp:複製目錄或檔案 ​ 下圖為常用命令 ![](https://img2020.cnblogs.com/blog/1383122/202009/1383122-20200921182208971-278603968.png) ​ 示例:`cp readme1.txt /etc/readmeCopy.txt` ### mv:剪下或重新命名檔案 ​ 如果剪下後的目錄不變,就是重新命名。 ​ 示例:`mv readme.txt newName.txt` ### rm:刪除檔案或目錄 ​ 示例:`rm readme.txt` ### dd:按照指定大小和個數複製檔案 ​ 下圖為常用引數 ![](https://img2020.cnblogs.com/blog/1383122/202009/1383122-20200921182703452-1343639284.png) ​ 示例:`dd if=/dev/zero of=newFile count=1 bs=560M` ​ 這條命令的作用應該很清楚,其中塊的大小設定為560M,個數為1。 ### file:檢視檔案型別 ​ 示例:`file readme.txt` ### tar:解壓縮檔案 ​ 常用引數如下圖。 ![](https://img2020.cnblogs.com/blog/1383122/202009/1383122-20200921183059880-63047704.png) ​ 示例:`tar -czvf etc.tar.gz /etc` ​ 把目錄壓縮為etc.tar.gz。其中這四個引數這個縮寫,但是需要注意-f必須放在最後一位。 ### grep:在文字進行關鍵詞搜尋 ​ 這個命令也是會經常使用到的,常用引數如下圖。 ![](https://img2020.cnblogs.com/blog/1383122/202009/1383122-20200921183409428-1026728465.png) ​ 示例:`grep word readme.txt` ​ 在readme.txt中搜索word這個單詞。如果我們把grep換成grepE,則搜尋的單詞可以寫成正則表示式。 ### find:按照指定條件查詢檔案 ​ 常用引數如下圖。 ![](https://img2020.cnblogs.com/blog/1383122/202009/1383122-20200921183750052-2065102791.png) ​ 示例:`find /etc -name "host*" -print` ​ 顯示/etc目錄下host開頭的檔案。 > 文中圖片摘自《Linux就該這