Linux 基礎-新手必備命令 概述 常見執行 Linux 命令的格式是這樣的: 命令名稱 [命令參數] [命令對象] 註意,命令名稱、命令參數、命令對象之間請用空格鍵分隔。 命令對象一般是指要處理的文件、目錄、用戶等資源,而命令參數可以用長格式(完整的選項名稱),也可以用短格式(單個字母的縮寫), ...
Linux 基礎-新手必備命令
概述
常見執行 Linux
命令的格式是這樣的:
命令名稱 [命令參數] [命令對象]
註意,命令名稱、命令參數、命令對象之間請用空格鍵分隔。
命令對象一般是指要處理的文件、目錄、用戶等資源,而命令參數可以用長格式(完整的選項名稱),也可以用短格式(單個字母的縮寫),兩者分別用 --
與 -
作為首碼。
系統工作
echo
:用於在shell
編程中列印shell
變數的值,或者直接輸出指定的字元串。date
:顯示或設置系統時間與日期。reboot
:重新啟動正在運行的 Linux 操作系統。poweroff
:關閉電腦操作系統並且切斷系統電源。wget
:用來從指定的URL
下載文件。wget 非常穩定,它在帶寬很窄的情況下和不穩定網路中有很強的適應性,如果是由於網路的原因下載失敗,wget 會不斷的嘗試,直到整個文件下載完畢。ps
:將某個時間點的進程運作情況擷取下來,可以搭配kill
指令隨時中斷、刪除不必要的程式。ps
命令可以查看進程運行的狀態、進程是否結束、進程有沒有僵死、哪些進程占用了過多的資源等等情況。使用ps -l
則僅列出與你的操作環境 (bash
) 有關的進程而已;使用ps aux
觀察系統所有進程。top
:動態觀察進程的變化。pstree
:pstree -A
列出目前系統上面所有的進程樹的相關性。pidof
:查找指定名稱的進程的進程號id
號。kill
:刪除執行中的程式或工作,後面必須要加上PID
(或者是job number
),用法:killall -signal 指令名稱/PID
。kill
可將指定的信息送至程式,預設的信息為SIGTERM(15)
,可將指定程式終止,若仍無法終止該程式,可使用SIGKILL(9)
信息嘗試強制刪除程式。程式或工作的編號可利用ps
指令或job
指令查看。
系統狀態檢測
ifconfig
:於配置和顯示 Linux 內核中網路介面的網路參數。uname
:列印當前系統相關信息(內核版本號、硬體架構、主機名稱和操作系統類型等),-a
或--all
:顯示全部的信息。uptime
:列印系統總共運行了多長時間和系統的平均負載。uptime 命令可以顯示的信息顯示依次為:現在時間、系統已經運行了多長時間、目前有多少登陸用戶、系統在過去的1分鐘、5分鐘和15分鐘內的平均負載。free
:顯示當前系統未使用的和已使用的記憶體數目,還可以顯示被內核使用的記憶體緩衝區,-m
:以MB為單位顯示記憶體使用情況。who
:顯示目前登錄系統的用戶信息。執行who
命令可得知目前有那些用戶登入系統,單獨執行 who命令會列出登入帳號,使用的終端機,登入時間以及從何處登入或正在使用哪個 X 顯示器。last
:顯示用戶最近登錄信息。單獨執行 last 命令,它會讀取/var/log/wtmp
的文件,並把該給文件的內容記錄的登入系統的用戶名單全部顯示出來。history
:顯示指定數目的指令命令,讀取歷史命令文件中的目錄到歷史命令緩衝區和將歷史命令緩衝區中的目錄寫入命令文件。sosreport
命令:收集並打包診斷和支持數據
文件與目錄管理
pwd
命令:以絕對路徑的方式顯示用戶當前工作目錄。cd
命令:切換工作目錄至dirname
。 其中 dirName 表示法可為絕對路徑或相對路徑。~
也表示為home directory
的意思,.
則是表示目前所在的目錄,..
則表示目前目錄位置的上一層目錄。cp, rm, mv
:複製、刪除與移動文件或目錄 。ls
:顯示文件的文件/目錄的名字與相關屬性。-l
參數:長數據串列出,包含文件的屬性與許可權等等數據 (常用)。touch
:有兩個功能:一是用於把已存在文件的時間標簽更新為系統當前的時間(預設方式),它們的數據將原封不動地保留下來;二是用來創建新的空文件。file
:用來探測給定文件的類型。file 命令對文件的檢查分為文件系統、魔法幻數檢查和語言檢查 3 個過程
文件內容查閱與編輯
文件內容查閱命令如下:
cat
:由第一行開始顯示文件內容tac
:從最後一行開始顯示,可以看出 tac 是 cat 的倒著寫!nl
:顯示的時候,順道輸出行號!more
:一頁一頁的顯示文件內容less
:與 more 類似,但是比 more 更好的是,他可以往前翻頁!head
:只看頭幾行tail
:只看尾巴幾行od
:以二進位的方式讀取文件內容!
文件內容查閱命令總結:
- 直接查閱一個文件的內容可以使用
cat/tac/nl
這幾個命令; - 需要翻頁檢視文件內容使用
more/less
命令; - 取出文件前面幾行 (
head
) 或取出後面幾行 (tail
)文字的功能使用head
和tail
命令,註意head
與tail
都是以『行』為單位來進行數據擷取的;
文本內容編輯命令如下:
tr
:可以用來刪除一段訊息當中的文字,或者是進行文字訊息的替換。wc
:可以幫我們計算輸出的訊息的整體數據。stat
:用於顯示文件的狀態信息。stat
命令的輸出信息比ls
命令的輸出信息要更詳細cut
:可以將一段訊息的某一段給他『切』出來,處理的訊息是以『行』為單位。diff
:在最簡單的情況下,比較給定的兩個文件的不同。如果使用“-”
代替“文件”參數,則要比較的內容將來自標準輸入。diff
命令是以逐行的方式,比較文本文件的異同處。如果該命令指定進行目錄的比較,則將會比較該目錄中具有相同文件名的文件,而不會對其子目錄文件進行任何比較操作。
打包壓縮與搜索
tar
:利用tar
命令可以把一大堆的文件和目錄全部打包成一個文件,這對於備份文件或將幾個文件組合成為一個文件以便於網路傳輸是非常有用的。註意打包是指將一大堆文件或目錄變成一個總的文件;壓縮則是將一個大的文件通過一些壓縮演算法變成一個小文件。為什麼要區分這兩個概念呢?這源於 Linux 中很多壓縮程式只能針對一個文件進行壓縮,這樣當你想要壓縮一大堆文件時,你得先將這一大堆文件先打成一個包(tar
命令),然後再用壓縮程式進行壓縮(gzip bzip2
命令)。grep
:(global search regular expression(RE) and print out the line,全面搜索正則表達式並把行列印出來)一種強大的文本搜索工具,能夠使用正則表達式搜索文本,並把匹配的行列印出來。grep
它是分析一行信息, 若當中有我們所需要的信息,就將該行拿出來。用法:grep [-acinv] [--color=auto] '搜尋字元串' filename
。which
:查找命令的完整文件名。用法:which [-a] command
,a
: 將所有由PATH
目錄中可以找到的指令均列出,而不止第一個被找到的指令名稱。find
命令是根據『PATH』
這個環境變數所規範的路徑,去搜尋命令的完整文件名。find
:用來在指定目錄下查找文件。任何位於參數之前的字元串都將被視為欲查找的目錄名。如果使用該命令時,不設置任何參數,則find
命令將在當前目錄下查找子目錄與文件。並且將查找到的子目錄和文件全部進行顯示。用法舉例:在/home
目錄及其子目錄下查找以.txt
結尾的文件名find /home -name "*.txt"
。whereis/locate
:whereis
只找系統中某些特定目錄底下的文件而已, locate則是利用資料庫來搜尋文件名,兩者速度更快, 但沒有實際搜尋硬碟內的文件系統狀態。
常見命令圖解
這個思維導圖記錄了常見命令,有利於索引,來源Linux基礎命令(01)【Linux基礎命令、ip查看、目錄結構、網路映射配置】
參考資料
- 新手linux命令必須掌握命令
- 鳥哥的Linux私房菜 基礎篇 第四版
- Linux基礎命令(01)【Linux基礎命令、ip查看、目錄結構、網路映射配置】