Linux 運維必備 150 個命令彙總

夢共裡醉發表於2023-02-13

本文章盤點了 Linux 運維必備 150 個命令,可配合Linuxcool網站使用。定位你需要使用的命令,然後去這個網站查詢詳細用法即可。

地址:

Linux 運維必備 150 個命令彙總

線上查詢及幫助命令

man:全拼manual,用來檢視系統中自帶的各種參考手冊。

help:用於顯示shell內部命令的幫助資訊。

檔案和目錄操作命令

ls:全拼list,列出目錄的內容及其內容屬性資訊。

cd:全拼change directory,切換當前工作目錄至dirName(目錄引數)。其中dirName表示法可為絕對路徑或相對路徑。若目錄名稱省略,則變換至使用者的home目錄。另外,“~”也表示為home目錄的意思,“.”是表示目前所在的目錄,“..”則表示目前目錄位置的上一層目錄。

cp:全拼copy,複製檔案或目錄。

find:用來在指定目錄及目錄下查詢檔案。

mkdir:全拼make directories,建立目錄。

mv:全拼move,移動或重新命名檔案。

pwd:全拼print working directory,顯示當前工作目錄的絕對路徑。

rename:可用字串替換的方式批次改變檔名。

rm:全拼remove,刪除一個或多個檔案或目錄。必須格外小心地使用該命令。

rmdir:全拼remove empty directories,刪除空目錄。

touch:修改檔案或者目錄的時間屬性,包括存取時間和更改時間。若檔案不存在,系統會建立一個新的檔案。

tree:以樹狀圖列出目錄的內容。它會列出指定目錄下的所有檔案,包括子目錄裡的檔案。

basename:顯示檔名。用於去掉檔名的目錄和字尾。

dirname:顯示給定路徑的目錄部分。

chattr:全拼change file attributes,改變檔案的擴充套件屬性。

lsattr:全拼list file attributes,顯示檔案擴充套件屬性。

file:用來識別檔案型別。

md5sum:用於生成和校驗檔案的md5值。它會逐位對檔案的內容進行校驗,它常用於檢查檔案的完整性。

檢視檔案及內容處理命令

cat:全拼concatenate,用於連線多個檔案並且列印到螢幕輸出或重定向到指定檔案中,可檢視檔案內容。

tac:cat的反向拼寫,因此命令的功能為反向顯示檔案內容。檔案內容的最後一行先顯示,第一行最後顯示。

more:一頁一頁的形式顯示檔案內容,更方便使用者逐頁閱讀,而最基本的指令就是按空白鍵(space)就往下一頁顯示,按 b 鍵就會往回(back)一頁顯示,而且還有搜尋字串的功能(與 vi 相似),使用中的說明檔案,按 h 。

less:less 可以隨意瀏覽檔案,而 more 僅能向前移動,卻不能向後移動,而且 less 在檢視之前不會載入整個檔案。

head:顯示檔案的開頭的內容。在預設情況下,head命令顯示檔案的頭10行內容。

tail:檢視檔案尾部內容,有一個常用的引數 -f 常用於查閱正在改變的檔案。可以看到最新的檔案內容。

cut:將檔案的每一行按指定分隔符分割並輸出。

split:分割檔案為不同的小片段。

paste:用於合併檔案的列。paste指令會把每個檔案以列對列的方式,一列列地加以合併。

sort:將文字檔案內容加以排序,sort可針對文字檔案的內容,以行為單位來排序。

uniq:全拼uniqique,用於檢查及刪除文字檔案中重複出現的行列。

wc:統計檔案的行數、單詞數或位元組數等。

iconv:轉換檔案的編碼格式。

dos2unix:是將Windows DOS格式檔案轉換為Unix、Linux格式的實用命令。Windows格式檔案的換行符為\\r\\n ,而Unix&Linux檔案的換行符為\\n.。dos2unix命令其實就是將檔案中的\\r\\n 轉換為\\n。

diff:全拼difference,diff以逐行的方式比較檔案的差異。

vimdiff:命令列視覺化檔案比較工具,常用於文字檔案。

rev:全拼reverse,rev命令將檔案中的每行內容以字元為單位反序輸出,即第一個字元最後輸出,最後一個字元最先輸出,依次類推。

grep/egrep:全拼(Extend)Global standard Research Expression Print out the line,是一種文字搜尋工具,可以透過使用指定的萬用字元/正規表示式來實現文字搜尋功能。

join:用於將兩個檔案中,指定欄位內容相同的行連線起來。找出兩個檔案中,指定欄位內容相同的行,並加以合併,再標準輸出。

tr:拼translate,tr命令用於轉換或刪除檔案中的字元。tr 指令從標準輸入裝置讀取資料,經過字串轉譯後,將結果輸出到標準輸出裝置。

vi/vim:vi編輯器是所有Unix及Linux系統下標準的編輯器,它的強大不遜色於任何最新的文字編輯器。Vim是從 vi 發展出來的一個文字編輯器。程式碼補完、編譯及錯誤跳轉等方便程式設計的功能特別豐富,在程式設計師中被廣泛使用。

檔案壓縮及解壓縮命令

tar:tar命令是用來建立,還原備份檔案的工具程式,它可以加入,解開備份檔案內的檔案。

unzip:unzip命令用於解壓縮zip檔案。

gzip:gzip命令用於壓縮檔案。gzip是個使用廣泛的壓縮程式,檔案經它壓縮過後,其名稱後面會多出".gz"的副檔名。

zip:zip命令可以用來將檔案壓縮成為常用的zip格式。

資訊顯示命令

uname:全拼Unix name,用於顯示系統資訊。

hostname:hostname命令用於顯示和設定系統的主機名稱。環境變數HOSTNAME也儲存了當前的主機名。在使用hostname命令設定主機名後,系統並不會永久儲存新的主機名,重新啟動機器之後還是原來的主機名。如果需要永久修改主機名,需要同時修改/etc/hosts和/etc/sysconfig/network的相關內容。

dmesg:全拼diagnostic message,用於顯示開機資訊,診斷系統故障。kernel會將開機資訊儲存在ring buffer中。若是開機時來不及檢視資訊,可利用dmesg來檢視。開機資訊亦儲存在/var/log目錄中,名稱為dmesg的檔案裡。

uptime:顯示系統執行時間及負載。

stat:全拼status,用於顯示檔案和檔案系統狀態屬性。

du:全拼disk usage,顯示指定的目錄或檔案所佔用的磁碟空間。

df:全拼disk free,用於顯示目前在Linux系統上的檔案系統的磁碟使用情況統計。

top:top命令是Linux下常用的效能分析工具,能夠實時顯示系統中各個程式的資源佔用狀況,類似於Windows的工作管理員。top是一個動態顯示過程,即可以透過使用者按鍵來不斷重新整理當前狀態。如果在前臺執行該命令,它將獨佔前臺,直到使用者終止該程式為止。比較準確的說,top命令提供了實時的對系統處理器的狀態監視。

free:free命令顯示Linux系統中空閒的、已用的實體記憶體及swap記憶體,及被核心使用的buffer。在Linux系統監控的工具中,free命令是最經常使用的命令之一。

date:date命令可以用來顯示或設定系統的日期與時間,在顯示方面,使用者可以設定欲顯示的格式。

cal:全拼calendar,cal命令用來顯示公曆日曆。

搜尋檔案命令

which:which命令用於查詢檔案。which指令會在環境變數$PATH設定的目錄裡查詢符合條件的檔案。

find:從磁碟遍歷查詢檔案或目錄。

whereis:該指令會在特定目錄環境變數PATH路徑查詢符合條件的檔案。這些檔案應屬於原始程式碼、二進位制檔案,或是幫助檔案。

locate:locate命令用於查詢符合條件的文件,他會去儲存文件和目錄名稱的資料庫內,查詢合乎範本樣式條件的文件或目錄。一般情況我們只需要輸入 locate your_file_name 即可查詢指定檔案。locate與find 不同: find 是去硬碟找,locate 只在資料庫中找。locate的速度比find快,它並不是真的查詢,而是查資料庫。

使用者管理命令

useradd:建立使用者帳號。使用useradd指令所建立的帳號,實際上是儲存在/etc/passwd文字檔案中。

usermod:修改系統已經存在的使用者屬性。

userdel:userdel命令用於刪除使用者帳號。若不加引數,則僅刪除使用者帳號,而不刪除相關檔案。

groupadd:用於建立一個新的使用者工作組。新工作組的資訊將被新增到系統檔案中。

passwd:全拼password,passwd命令用來更改使用者的密碼。

chage:全拼change,chage命令是用來修改帳號和密碼的有效期限。

id:顯示使用者以及所屬群組的實際與有效ID。

su:全拼Switch User,su命令用於變更為其他使用者的身份,除 root 外,需要鍵入該使用者的密碼。

visudo:visudo編輯/etc/sudoers檔案的專屬命令。sudoers檔案的預設許可權是440,即預設無法修改,visudo需要超級使用者許可權,可以在不更改sudoers檔案許可權的情況下,直接修改sudoers檔案。

sudo:sudo命令可以把某些超級使用者許可權分類有針對性授權給指定的普通使用者,並且普通使用者不需要知道root密碼就可以使用得到的授權。也就是說,經由 sudo 所執行的指令就好像是 root 親自執行。這樣使用者就可以透過自己的普通帳戶登入實現利用root的許可權來管理系統了,當然也就不需要有root賬號及密碼了。

基礎網路操作命令

telnet:telnet命令使用TELNET協議遠端登入。執行telnet指令開啟終端機階段作業,並登入遠端主機。

ssh:使用SSH加密協議遠端登入。

scp:全拼secure copy,用於不同主機之間複製檔案。, scp 是 linux 系統下基於 ssh 登陸進行安全的遠端檔案複製命令。

wget: 用來從指定的URL下載檔案。

ping:測試主機之間網路的連通性。

route:顯示和設定linux系統的路由表。

ifconfig:全拼interfaces config,通常需要以root身份登入或使用sudo以便在Linux機器上使用ifconfig工具。ifconfig工具不僅可以被用來簡單地獲取網路介面配置資訊,還可以修改這些配置。

ifup:啟動網路卡。

ifdown:關閉網路卡。

netstat:顯示網路狀態。利用netstat指令可讓你得知整個Linux系統的網路情況。

ss:全拼Socket Statistics,用來獲取socket統計資訊,它可以顯示和netstat類似的內容。ss的優勢在於它能夠顯示更多更詳細的有關TCP和連線狀態的資訊,而且比netstat更快速更高效。

深入網路操作命令

nmap:全拼Network Mapper,是Linux下的網路掃描和嗅探工具包。nmap是在網路安全滲透測試中經常會用到的強大的掃描器。

lsof:全名list open files,列出當前系統開啟檔案的工具。在linux系統環境下,任何事物都可以以檔案形式存在,透過檔案不僅可以訪問常規的資料,還可以訪問網路連線和硬體。

mail:電子郵件傳送和接收工具。

mutt:郵件管理命令。

nslookup:互動式查詢網際網路DNS伺服器的命令。

dig:常用的域名查詢工具,可以用來測試域名系統工作是否正常。

host:常用的分析域名查詢工具,可以用來測試域名系統工作是否正常。

traceroute:顯示資料包到主機間的路徑。traceroute指令讓你追蹤網路資料包的路由途徑,預設資料包大小是40Bytes,使用者可另行設定。

tcpdump:免費的網路分析工具。TcpDump可以將網路中傳送的資料包的“頭”完全截獲下來提供分析。

有關磁碟與檔案系統的命令(16個)

mount:用於掛載Linux系統外的檔案。

umount:用於卸除檔案系統。

fsck:全拼file system check,用來檢查和維護不一致的檔案系統。若系統掉電或磁碟發生問題,可利用fsck命令對檔案系統進行檢查。

parted:磁碟分割槽命令,沒有磁碟大小限制。針對大於2TB的硬碟,需要採用GPT分割槽,使用parted命令進行操作 。

mkfs:全拼make filesystem,格式化建立Linux檔案系統。常見的檔案系統有ext2,ext3, ext4 , vfat等。

partprobe:從kernel重新讀取分割槽資訊。

e2fsck:檢查ext2/ext3/ext4型別檔案系統。

mkswap:用於設定交換區(swap area)。mkswap可將磁碟分割槽或檔案設為Linux的交換區。

swapon:啟用交換分割槽。

swapoff:關閉交換分割槽。

sync:在 linux/unix 系統中,在檔案或資料處理過程中一般先放到記憶體緩衝區中,等到適當的時候再寫入磁碟,以提高系統的執行效率。sync 命令則可用來強制將記憶體緩衝區中的資料立即寫入磁碟。

resize2fs:調整ext2/ext3/ext4檔案系統大小。

系統許可權及使用者授權相關命令

chmod:全拼Change mode,Linux/Unix 的檔案呼叫許可權分為三級 : 檔案擁有者、群組、其他。chmod命令可以控制檔案如何被他人所呼叫。

chown:全拼Change owner,Linux/Unix 是多人多工作業系統,所有的檔案皆有擁有者。chown將指定檔案的擁有者改為指定的使用者或組 。

chgrp:全拼Change group,用於變更檔案或目錄的所屬群組。

umask:顯示或設定許可權掩碼。在linux系統中,我們建立一個新的檔案或者目錄的時候,這些新的檔案或目錄都會有預設的訪問許可權,umask命令與檔案和目錄的預設訪問許可權有關。若使用者建立一個檔案,則檔案的預設訪問許可權為 -rw-rw-rw- ,建立目錄的預設許可權 drwxrwxrwx ,而umask值則表明了需要從預設許可權中去掉哪些許可權來成為最終的預設許可權值。

檢視系統使用者登陸資訊的命令

whoami:顯示當前有效的使用者名稱稱。

who:顯示目前登入系統的使用者資訊。

w:顯示已經登陸系統的使用者列表,並顯示使用者正在執行的指令。

l ast:用於顯示使用者最近登入資訊。

lastlog:顯示系統中所有使用者最近一次登入資訊。

users :顯示當前登入系統的所有使用者的使用者列表。

finger:顯示本地主機現在所有的使用者的登陸資訊。

內建命令及其它

echo:列印變數,或直接輸出指定的字串。

printf:將結果格式化輸出到標準輸出。

rpm:管理rpm包的命令。rpm(redhat package manager) 原本是 Red Hat Linux 發行版專門用來管理 Linux 各項套件的程式,由於它遵循 GPL 規則且功能強大方便,因而廣受歡迎。逐漸受到其他發行版的採用。RPM 套件管理方式的出現,讓 Linux 易於安裝,升級,間接提升了 Linux 的適用度。

yum:yum( Yellow dog Updater, Modified)是一個在Fedora和RedHat以及SUSE中的Shell前端軟體包管理器。基於RPM包管理,能夠從指定的伺服器自動下載RPM包並且安裝,可以自動處理依賴性關係,並且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝。yum提供了查詢、安裝、刪除某一個、一組甚至全部軟體包的命令。

watch:週期性的執行給定的命令,並將命令的輸出以全屏方式顯示。

alias:用於設定指令的別名。若僅輸入alias,則可列出目前所有的別名設定。alias的效力僅及於該次登入的操作。若要每次登入是即自動設好別名,可在/etc/profile(全域性生效)或.bashrc(當前使用者生效)中設定指令的別名。別名的作用:1)透過給危險命令加一些保護引數,防止人為誤操作。2)把很多複雜的字串或命令變成一個簡單的字串或命令。

unalias:用於刪除別名。

date:用來顯示或設定系統的日期與時間,在顯示方面,使用者可以設定欲顯示的格式。

clear :清除螢幕。

history:顯示歷史記錄和執行過的指令命令。

eject:彈出光碟機。

time :用於測量一個命令的執行時間。

nc:一個功能強大的網路工具,透過它不僅可以探測埠,還能作為客戶端連線服務。

xargs:全拼extended arguments,給命令傳遞引數的一個過濾器,也是組合多個命令的一個工具。

exec:用於呼叫並執行指令的命令。exec命令通常用在shell指令碼程式中,可以呼叫其他的命令。如果在當前終端中使用命令,則當指定的命令執行完畢後會立即退出終端。

export:設定或者顯示環境變數。

unset:刪除變數或函式。

type:用來顯示指定命令的型別,判斷給出的指令是內部指令還是外部指令。

bc:任意精度計算器語言,通常在linux下當計算器用。

系統管理與效能監視命令

chkconfig:用於檢查,設定系統的各種服務。這是Red Hat公司遵循GPL規則所開發的程式,它可查詢作業系統在每一個執行等級中會執行哪些系統服務,其中包括各類常駐服務。

vmstat:全拼Virtual Memory Statistics,用來顯示Linux系統虛擬記憶體狀態,也可以報告關於程式、記憶體、I/O等系統整體執行狀態。

mpstat:全拼Multiprocessor Statistics,實時系統監控工具。其報告與CPU的一些統計資訊,這些資訊存放在/proc/stat檔案中。在多CPU系統裡,其不但能檢視所有CPU的平均狀況資訊,而且能夠檢視特定CPU的資訊。

iostat:用於輸出CPU和磁碟I/O相關的統計資訊。

sar :全拼System Activity Reporter,目前 Linux 上最為全面的系統效能分析工具之一,可以從多方面對系統的活動進行報告。

ipcs:用於報告linux中程式間通訊設施的狀態,顯示的資訊包括訊息列表、共享記憶體和訊號量的資訊。

ipcrm:用來刪除一個或更多的訊息佇列、訊號量集或者共享記憶體標識。

strace:用於診斷、除錯Linux使用者空間跟蹤器。我們用它來監控使用者空間程式和核心的互動,比如系統呼叫、訊號傳遞、程式狀態變更等。

ltrace:用來跟蹤程式呼叫庫函式的情況。

關機/重啟/登出和檢視系統資訊的命令

shutdown :用來進行關機程式,並且在關機以前傳送訊息給所有使用者正在執行的程式,shutdown 也可以用來重開機。

halt:用來關閉正在執行的Linux作業系統。halt命令會先檢測系統的runlevel,若runlevel為0或6,則關閉系統,否則即呼叫shutdown來關閉系統。

poweroff:用來關閉計算機作業系統並且切斷系統電源

logout:退出當前登入的Shell。

exit :退出當前登入的Shell。

Ctrl+d:退出當前登入的Shell的快捷鍵。

程式管理相關命令

bg:將一個在後臺暫停的命令,變成繼續執行。

fg:將後臺中的命令調至前臺繼續執行。

jobs:檢視當前有多少在後臺執行的命令。

kill:用於刪除執行中的程式或工作。

killall:用於終止某個指定名稱的服務所對應的全部程式。

pkill:透過程式名終止程式。

crontab:用來定期執行程式的命令。當安裝完成作業系統之後,預設便會啟動此任務排程命令。

ps:全拼Processes Status,用來列出系統中當前執行的那些程式。ps命令列出的是當前那些程式的快照,就是執行ps命令的那個時刻的那些程式,如果想要動態的顯示程式資訊,就可以使用top命令。

pstree:將所有行程以樹狀圖顯示。

nicerenice:為未執行命令指定執行時排程優先順序的,如果是已執行的命令則需要renice命令。

nohup:全拼no hang up,讓後臺工作在離開操作終端時,也能夠正確地在後臺執行。

pgrep :透過程式的名字來查詢程式的工具,一般是用來判斷程式是否正在執行。

runlevel :檢視系統當前執行級別。

init:用於切換到指定的執行級別。

service:用於管理Linux作業系統中服務的命令。它可以啟動、停止、重新啟動和關閉系統服務,還可以顯示所有系統服務的當前狀態。

END

官方站點:

Linux命令大全:


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31524109/viewspace-2933677/,如需轉載,請註明出處,否則將追究法律責任。

相關文章