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,也就是列舉系統中已經被打開的檔。
發送和接收郵件。
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,也就是列舉系統中已經被打開的檔。
發送和接收郵件。
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
啟動、停止、重新開機和關閉系統服務,還可以顯示所有系統服務的當前狀態。