華文網

Linux 運維人員最常用 150 個命令匯總,難題不在有

命令

功能說明

線上查詢及幫助命令 (2 個)

man

查看命令幫助,命令的詞典,更複雜的還有 info,但不常用。

help

查看 Linux 內置命令的幫助,比如 cd 命令。

檔和目錄操作命令 (18 個)

ls

全拼 list,功能是列出目錄的內容及其內容屬性資訊。

cd

全拼 change directory,功能是從當前工作目錄切換到指定的工作目錄。

cp

全拼 copy,其功能為複製檔或目錄。

find

查找的意思,用於查找目錄及目錄下的檔。

mkdir

全拼 make directories,其功能是創建目錄。

mv

全拼 move,其功能是移動或重命名檔。

pwd

全拼 print working directory,其功能是顯示當前工作目錄的絕對路徑。

rename

用於重命名文件。

rm

全拼 remove,其功能是刪除一個或多個檔或目錄。

rmdir

全拼 remove empty directories,功能是刪除空目錄。

touch

創建新的空檔,改變已有檔的時間戳記屬性。

tree

功能是以樹形結構顯示目錄下的內容。

basename

顯示檔案名或目錄名。

dirname

顯示檔或目錄路徑。

chattr

改變檔的擴展屬性。

lsattr

查看檔擴展屬性。

file

顯示檔的類型。

md5sum

計算和校驗文件的 MD5 值。

查看檔及內容處理命令(21 個)

cat

全拼 concatenate,功能是用於連接多個檔並且列印到螢幕輸出或重定向到指定檔中。

tac

tac 是 cat 的反向拼寫,因此命令的功能為反向顯示檔內容。

more

分頁顯示檔內容。

less

分頁顯示檔內容,more 命令的相反用法。

head

顯示檔內容的頭部。

tail

顯示檔內容的尾部。

cut

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

split

分割檔為不同的小片段。

paste

按行合併檔內容。

sort

對檔的文本內容排序。

uniq

去除重複行。oldboy

wc

統計檔的行數、單詞數或位元組數。

iconv

轉換檔的編碼格式。

dos2unix

將 DOS 格式檔轉換成 UNIX 格式。

diff

全拼 difference,比較文件的差異,常用於文字檔。

vimdiff

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

rev

反向輸出檔內容。

grep/egrep

過濾字串,三劍客老三。

join

按兩個檔的相同欄位合併。

tr

替換或刪除字元。

vi/vim

命令列文字編輯器。

檔案壓縮及解壓縮命令(4 個)

tar

打包壓縮。oldboy

unzip

解壓文件。

gzip

gzip 壓縮工具。

zip

壓縮工具。

資訊顯示命令(11 個)

uname

顯示作業系統相關資訊的命令。

hostname

顯示或者設置當前系統的主機名稱。

dmesg

顯示開機資訊,用於診斷系統故障。

uptime

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

stat

顯示檔或檔案系統的狀態。

du

計算磁碟空間使用情況。

df

報告檔案系統磁碟空間的使用情況。

top

即時顯示系統資源使用情況。

free

查看系統記憶體。

date

顯示與設置系統時間。

cal

查看日曆等時間資訊。

搜索文件命令(4 個)

which

查找二進位命令,按環境變數 PATH 路徑查找。

find

從磁片遍歷查找檔或目錄。

whereis

查找二進位命令,按環境變數 PATH 路徑查找。

locate

從資料庫 (/var/lib/mlocate/mlocate.db) 查找命令,使用 updatedb 更新庫。

用戶管理命令(10 個)

useradd

添加用戶。

usermod

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

userdel

刪除用戶。

groupadd

添加用戶組。

passwd

修改使用者密碼。

chage

修改使用者密碼有效期限。

id

查看用戶的 uid,gid 及歸屬的用戶組。

su

切換用戶身份。

visudo

編輯 / etc/sudoers 文件的專屬命令。

sudo

以另外一個用戶身份(默認 root 用戶)執行事先在 sudoers 檔允許的命令。

基礎網路操作命令(11 個)

telnet

使用 TELNET 協定遠端登入。

ssh

使用 SSH 加密協定遠端登入。

scp

全拼 secure copy,用於不同主機之間複製檔。

wget

命令列下載檔案。

ping

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

route

顯示和設置 linux 系統的路由表。

ifconfig

查看、配置、啟用或禁用網路介面的命令。

ifup

啟動網卡。

ifdown

關閉網卡。

netstat

查看網路狀態。

ss

查看網路狀態。

深入網路操作命令(9 個)

nmap

網路掃描命令。

lsof

全名 list open files,也就是列舉系統中已經被打開的檔。

mail

發送和接收郵件。

mutt

郵件管理命令。

nslookup

互動式查詢互聯網 DNS 伺服器的命令。

dig

查找 DNS 解析過程。

host

查詢 DNS 的命令。

traceroute

追蹤資料傳輸路由狀況。

tcpdump

命令列的抓包工具。

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

mount

掛載檔案系統。

umount

卸載檔案系統。

fsck

檢查並修復 Linux 檔案系統。

dd

轉換或複製檔。

dumpe2fs

匯出 ext2/ext3/ext4 檔案系統信息。

dump

ext2/3/4 檔案系統備份工具。

fdisk

磁碟分割命令,適用於 2TB 以下磁碟分割。

parted

磁碟分割命令,沒有磁片大小限制,常用於 2TB 以下磁碟分割。

mkfs

格式化創建 Linux 檔案系統。

partprobe

更新內核的硬碟分區表資訊。

e2fsck

檢查 ext2/ext3/ext4 類型檔案系統。

mkswap

創建 Linux 交換分區。

swapon

啟用交換分區。

swapoff

關閉交換分區。

sync

將記憶體緩衝區內的資料寫入磁片。

resize2fs

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

系統許可權及使用者授權相關命令(4 個)

chmod

改變檔或目錄許可權。

chown

改變檔或目錄的屬主和屬組。

chgrp

更改檔用戶組。

umask

顯示或設置許可權遮罩。

查看系統使用者登陸資訊的命令(7 個)

whoami

顯示當前有效的用戶名稱,相當於執行 id -un 命令。

who

顯示目前登錄系統的使用者資訊。

w

顯示已經登陸系統的使用者清單,並顯示使用者正在執行的指令。

last

顯示登入系統的使用者。

lastlog

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

users

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

finger

查找並顯示使用者資訊。

內置命令及其它(19 個)

echo

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

printf

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

rpm

管理 rpm 包的命令。

yum

自動化簡單化地管理 rpm 包的命令。

watch

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

alias

設置系統別名。

unalias

取消系統別名。

date

查看或設置系統時間。

clear

清除螢幕,簡稱清屏。

history

查看命令執行的歷史紀錄。

eject

彈出光碟機。

time

計算命令執行時間。

nc

功能強大的網路工具。

xargs

將標準輸入轉換成命令列參數。

exec

調用並執行指令的命令。

export

設置或者顯示環境變數。

unset

刪除變數或函數。

type

用於判斷另外一個命令是否是內置命令。

bc

命令列科學計算器

系統管理與性能監視命令 (9 個)

chkconfig

管理 Linux 系統開機啟動項。

vmstat

虛擬記憶體統計。

mpstat

顯示各個可用 CPU 的狀態統計。

iostat

統計系統 IO。

sar

全面地獲取系統的 CPU、運行佇列、磁片 I/O、分頁(交換區)、記憶體、 CPU 中斷和網路等性能資料。

ipcs

用於報告 Linux 中進程間通信設施的狀態,顯示的資訊包括消息清單、共用記憶體和信號量的資訊。

ipcrm

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

strace

用於診斷、調試 Linux 用戶空間跟蹤器。我們用它來監控使用者空間進程和內核的交互,比如系統調用、信號傳遞、進程狀態變更等。

ltrace

命令會跟蹤進程的庫函式呼叫, 它會顯現出哪個庫函數被調用。

關機 / 重啟 / 登出和查看系統資訊的命令(6 個)

shutdown

關機。

halt

關機。

poweroff

關閉電源。

logout

退出當前登錄的 Shell。

exit

退出當前登錄的 Shell。

Ctrl+d

退出當前登錄的 Shell 的快速鍵。

進程管理相關命令(15 個)

bg

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

fg

將後臺中的命令調至前臺繼續運行。

jobs

查看當前有多少在後臺運行的命令。

kill

終止進程。

killall

通過進程名終止進程。

pkill

通過進程名終止進程。

crontab

定時任務命令。

ps

顯示進程的快照。

pstree

樹形顯示進程。

nice/renice

調整程式運行的優先順序。

nohup

忽略掛起信號運行指定的命令。

pgrep

查找匹配條件的進程。

runlevel

查看系統當前運行級別。

init

切換運行級別。

service

啟動、停止、重新開機和關閉系統服務,還可以顯示所有系統服務的當前狀態。

深入網路操作命令(9 個)

nmap

網路掃描命令。

lsof

全名 list open files,也就是列舉系統中已經被打開的檔。

mail

發送和接收郵件。

mutt

郵件管理命令。

nslookup

互動式查詢互聯網 DNS 伺服器的命令。

dig

查找 DNS 解析過程。

host

查詢 DNS 的命令。

traceroute

追蹤資料傳輸路由狀況。

tcpdump

命令列的抓包工具。

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

mount

掛載檔案系統。

umount

卸載檔案系統。

fsck

檢查並修復 Linux 檔案系統。

dd

轉換或複製檔。

dumpe2fs

匯出 ext2/ext3/ext4 檔案系統信息。

dump

ext2/3/4 檔案系統備份工具。

fdisk

磁碟分割命令,適用於 2TB 以下磁碟分割。

parted

磁碟分割命令,沒有磁片大小限制,常用於 2TB 以下磁碟分割。

mkfs

格式化創建 Linux 檔案系統。

partprobe

更新內核的硬碟分區表資訊。

e2fsck

檢查 ext2/ext3/ext4 類型檔案系統。

mkswap

創建 Linux 交換分區。

swapon

啟用交換分區。

swapoff

關閉交換分區。

sync

將記憶體緩衝區內的資料寫入磁片。

resize2fs

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

系統許可權及使用者授權相關命令(4 個)

chmod

改變檔或目錄許可權。

chown

改變檔或目錄的屬主和屬組。

chgrp

更改檔用戶組。

umask

顯示或設置許可權遮罩。

查看系統使用者登陸資訊的命令(7 個)

whoami

顯示當前有效的用戶名稱,相當於執行 id -un 命令。

who

顯示目前登錄系統的使用者資訊。

w

顯示已經登陸系統的使用者清單,並顯示使用者正在執行的指令。

last

顯示登入系統的使用者。

lastlog

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

users

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

finger

查找並顯示使用者資訊。

內置命令及其它(19 個)

echo

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

printf

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

rpm

管理 rpm 包的命令。

yum

自動化簡單化地管理 rpm 包的命令。

watch

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

alias

設置系統別名。

unalias

取消系統別名。

date

查看或設置系統時間。

clear

清除螢幕,簡稱清屏。

history

查看命令執行的歷史紀錄。

eject

彈出光碟機。

time

計算命令執行時間。

nc

功能強大的網路工具。

xargs

將標準輸入轉換成命令列參數。

exec

調用並執行指令的命令。

export

設置或者顯示環境變數。

unset

刪除變數或函數。

type

用於判斷另外一個命令是否是內置命令。

bc

命令列科學計算器

系統管理與性能監視命令 (9 個)

chkconfig

管理 Linux 系統開機啟動項。

vmstat

虛擬記憶體統計。

mpstat

顯示各個可用 CPU 的狀態統計。

iostat

統計系統 IO。

sar

全面地獲取系統的 CPU、運行佇列、磁片 I/O、分頁(交換區)、記憶體、 CPU 中斷和網路等性能資料。

ipcs

用於報告 Linux 中進程間通信設施的狀態,顯示的資訊包括消息清單、共用記憶體和信號量的資訊。

ipcrm

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

strace

用於診斷、調試 Linux 用戶空間跟蹤器。我們用它來監控使用者空間進程和內核的交互,比如系統調用、信號傳遞、進程狀態變更等。

ltrace

命令會跟蹤進程的庫函式呼叫, 它會顯現出哪個庫函數被調用。

關機 / 重啟 / 登出和查看系統資訊的命令(6 個)

shutdown

關機。

halt

關機。

poweroff

關閉電源。

logout

退出當前登錄的 Shell。

exit

退出當前登錄的 Shell。

Ctrl+d

退出當前登錄的 Shell 的快速鍵。

進程管理相關命令(15 個)

bg

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

fg

將後臺中的命令調至前臺繼續運行。

jobs

查看當前有多少在後臺運行的命令。

kill

終止進程。

killall

通過進程名終止進程。

pkill

通過進程名終止進程。

crontab

定時任務命令。

ps

顯示進程的快照。

pstree

樹形顯示進程。

nice/renice

調整程式運行的優先順序。

nohup

忽略掛起信號運行指定的命令。

pgrep

查找匹配條件的進程。

runlevel

查看系統當前運行級別。

init

切換運行級別。

service

啟動、停止、重新開機和關閉系統服務,還可以顯示所有系統服務的當前狀態。