運(yùn)維人員經(jīng)常用的軟件
操作系統(tǒng):centos, Ubuntu, Redhat, SUSE,F(xiàn)reebsd,macOS
網(wǎng)站服務(wù):Nginx, Apache, php, Tomcat, lighttpd, resin
數(shù) 據(jù) 庫:MySQL, Mysql-proxy, MariaDB,PostgreSQL
DB中間件:MyCat, amoeba, MySQL-proxy
代理相關(guān):lvs, keepalived, haproxy, nginx, apache, heartbeat
網(wǎng)站緩存:squid, nginx, varnish
NoSQL庫:redis, memcached, memcachedb, TokyoTyrant, MongoDB, Cassandra, CouchDB
存儲(chǔ)相關(guān):Nfs, Moosefs(mfs), Hadoop, glusterfs, lustre, FastDFS
版本管理:svn, git
監(jiān)控報(bào)警:nagIOS, cacti, zabbix, munin, hyperic, mrtg, graphite
域名解析:bind, powerDNS, dnsmasq
同步軟件:rsync, inotify, sersync, drbd, csync2, union, lsyncd, scp
批量管理:ssh+rsync+sersync, Saltstack, expect, puppet, ansible, cfengine
虛 擬 化:kvm, xen
云 計(jì) 算:openstack, Docker, cloudstack
內(nèi)網(wǎng)軟件:iptables, firewalld, zebra, iftraf, ntop, tc, iftop
郵件軟件:qmail, posfix, sendmail
遠(yuǎn)程撥號(hào):openvpn, pptp, openswan, ipip
統(tǒng)一認(rèn)證:openldap(可結(jié)合微軟活動(dòng)目錄)
隊(duì)列工具:ActiveMQ, RabbitMQ, Metaq, MemcacheQ, Zeromq
打包發(fā)布:mvn, ants, jenkins, svn
測(cè)試軟件:ab, smokeping, siege, JMeter, Webbench, LoadRunner, http_load, tcpcopy(都是)
帶寬測(cè)試:smokeping,iozone
磁盤測(cè)試:iozone
性能測(cè)試:dd, ApacheBench, WebBench
IOPS測(cè)試:fio
日志相關(guān):syslog, rsyslog, Awstats, flume logstash scribe kafka, storm,ELK(Elasticsearch+Logstash+Kibana)
DB 代理:mysql-proxy, amoeba(更多還是程序?qū)崿F(xiàn)讀寫分離)
搜索軟件:Sphinx, Xapian(大公司會(huì)自己開發(fā)類似百度的小規(guī)模內(nèi)部搜索引擎)
安全登錄:jumpserver開源堡壘機(jī)Python
提示:
1)以上所有軟件都是老男孩用過或測(cè)試過的。
2)紅色字體為最近幾年用的比較多,可信任使用的,也是近年來linux運(yùn)維的大眾。
3)有了功能分類和軟件名,大家有需求,可以按功能找軟件直接G就知道了。
4)學(xué)習(xí)要有舍有得,什么都抓必然短時(shí)間都不會(huì)精,希望大家能抓重點(diǎn),抓精髓,大眾軟件先熟練了,這是基礎(chǔ)加提高,在研究小眾軟件,這是高手之路,最后在研究偏門的,世外高手之路,當(dāng)然前提是先掌握前面的大眾和小眾。
5)當(dāng)然還有一些沒有大眾開源的有一些也很棒,如審計(jì)堡壘機(jī)程序。
Linux運(yùn)維人員最常用 150 個(gè)命令
命令
功能說明
線上查詢及幫助命令 (2 個(gè))
man
查看命令幫助,命令的詞典,更復(fù)雜的還有 info,但不常用。
help
查看 Linux 內(nèi)置命令的幫助,比如 cd 命令。
文件和目錄操作命令 (18 個(gè))
ls
全拼 list,功能是列出目錄的內(nèi)容及其內(nèi)容屬性信息。
cd
全拼 change directory,功能是從當(dāng)前工作目錄切換到指定的工作目錄。
cp
全拼 copy,其功能為復(fù)制文件或目錄。
find
查找的意思,用于查找目錄及目錄下的文件。
mkdir
全拼 make directories,其功能是創(chuàng)建目錄。
mv
全拼 move,其功能是移動(dòng)或重命名文件。
pwd
全拼 print working directory,其功能是顯示當(dāng)前工作目錄的絕對(duì)路徑。
rename
用于重命名文件。
rm
全拼 remove,其功能是刪除一個(gè)或多個(gè)文件或目錄。
rmdir
全拼 remove empty directories,功能是刪除空目錄。
touch
創(chuàng)建新的空文件,改變已有文件的時(shí)間戳屬性。
tree
功能是以樹形結(jié)構(gòu)顯示目錄下的內(nèi)容。
basename
顯示文件名或目錄名。
dirname
顯示文件或目錄路徑。
chattr
改變文件的擴(kuò)展屬性。
lsattr
查看文件擴(kuò)展屬性。
file
顯示文件的類型。
md5sum
計(jì)算和校驗(yàn)文件的 MD5 值。
查看文件及內(nèi)容處理命令(21 個(gè))
cat
全拼 concatenate,功能是用于連接多個(gè)文件并且打印到屏幕輸出或重定向到指定文件中。
tac
tac 是 cat 的反向拼寫,因此命令的功能為反向顯示文件內(nèi)容。
more
分頁顯示文件內(nèi)容。
less
分頁顯示文件內(nèi)容,more 命令的相反用法。
head
顯示文件內(nèi)容的頭部。
tail
顯示文件內(nèi)容的尾部。
cut
將文件的每一行按指定分隔符分割并輸出。
split
分割文件為不同的小片段。
paste
按行合并文件內(nèi)容。
sort
對(duì)文件的文本內(nèi)容排序。
uniq
去除重復(fù)行。oldboy
wc
統(tǒng)計(jì)文件的行數(shù)、單詞數(shù)或字節(jié)數(shù)。
iconv
轉(zhuǎn)換文件的編碼格式。
dos2unix
將 DOS 格式文件轉(zhuǎn)換成 UNIX 格式。
diff
全拼 difference,比較文件的差異,常用于文本文件。
vimdiff
命令行可視化文件比較工具,常用于文本文件。
rev
反向輸出文件內(nèi)容。
grep/egrep
過濾字符串,三劍客老三。
join
按兩個(gè)文件的相同字段合并。
tr
替換或刪除字符。
vi/vim
命令行文本編輯器。
文件壓縮及解壓縮命令(4 個(gè))
tar
打包壓縮。oldboy
unzip
解壓文件。
gzip
gzip 壓縮工具。
zip
壓縮工具。
信息顯示命令(11 個(gè))
uname
顯示操作系統(tǒng)相關(guān)信息的命令。
hostname
顯示或者設(shè)置當(dāng)前系統(tǒng)的主機(jī)名。
dmesg
顯示開機(jī)信息,用于診斷系統(tǒng)故障。
uptime
顯示系統(tǒng)運(yùn)行時(shí)間及負(fù)載。
stat
顯示文件或文件系統(tǒng)的狀態(tài)。
du
計(jì)算磁盤空間使用情況。
df
報(bào)告文件系統(tǒng)磁盤空間的使用情況。
top
實(shí)時(shí)顯示系統(tǒng)資源使用情況。
free
查看系統(tǒng)內(nèi)存。
date
顯示與設(shè)置系統(tǒng)時(shí)間。
cal
查看日歷等時(shí)間信息。
搜索文件命令(4 個(gè))
which
查找二進(jìn)制命令,按環(huán)境變量 PATH 路徑查找。
find
從磁盤遍歷查找文件或目錄。
whereis
查找二進(jìn)制命令,按環(huán)境變量 PATH 路徑查找。
locate
從數(shù)據(jù)庫 (/var/lib/mlocate/mlocate.db) 查找命令,使用 updatedb 更新庫。
用戶管理命令(10 個(gè))
useradd
添加用戶。
usermod
修改系統(tǒng)已經(jīng)存在的用戶屬性。
userdel
刪除用戶。
groupadd
添加用戶組。
passwd
修改用戶密碼。
chage
修改用戶密碼有效期限。
id
查看用戶的 uid,gid 及歸屬的用戶組。
su
切換用戶身份。
visudo
編輯 / etc/sudoers 文件的專屬命令。
sudo
以另外一個(gè)用戶身份(默認(rèn) root 用戶)執(zhí)行事先在 sudoers 文件允許的命令。
基礎(chǔ)網(wǎng)絡(luò)操作命令(11 個(gè))
telnet
使用 TELNET 協(xié)議遠(yuǎn)程登錄。
ssh
使用 SSH 加密協(xié)議遠(yuǎn)程登錄。
scp
全拼 secure copy,用于不同主機(jī)之間復(fù)制文件。
wget
命令行下載文件。
ping
測(cè)試主機(jī)之間網(wǎng)絡(luò)的連通性。
route
顯示和設(shè)置 linux 系統(tǒng)的路由表。
ifconfig
查看、配置、啟用或禁用網(wǎng)絡(luò)接口的命令。
ifup
啟動(dòng)網(wǎng)卡。
ifdown
關(guān)閉網(wǎng)卡。
netstat
查看網(wǎng)絡(luò)狀態(tài)。
ss
查看網(wǎng)絡(luò)狀態(tài)。
深入網(wǎng)絡(luò)操作命令(9 個(gè))
nmap
網(wǎng)絡(luò)掃描命令。
lsof
全名 list open files,也就是列舉系統(tǒng)中已經(jīng)被打開的文件。
發(fā)送和接收郵件。
mutt
郵件管理命令。
nslookup
交互式查詢互聯(lián)網(wǎng) DNS 服務(wù)器的命令。
dig
查找 DNS 解析過程。
host
查詢 DNS 的命令。
traceroute
追蹤數(shù)據(jù)傳輸路由狀況。
tcpdump
命令行的抓包工具。
有關(guān)磁盤與文件系統(tǒng)的命令(16 個(gè))
mount
掛載文件系統(tǒng)。
umount
卸載文件系統(tǒng)。
fsck
檢查并修復(fù) Linux 文件系統(tǒng)。
dd
轉(zhuǎn)換或復(fù)制文件。
dumpe2fs
導(dǎo)出 ext2/ext3/ext4 文件系統(tǒng)信息。
dump
ext2/3/4 文件系統(tǒng)備份工具。
fdisk
磁盤分區(qū)命令,適用于 2TB 以下磁盤分區(qū)。
parted
磁盤分區(qū)命令,沒有磁盤大小限制,常用于 2TB 以下磁盤分區(qū)。
mkfs
格式化創(chuàng)建 Linux 文件系統(tǒng)。
partprobe
更新內(nèi)核的硬盤分區(qū)表信息。
e2fsck
檢查 ext2/ext3/ext4 類型文件系統(tǒng)。
mkswap
創(chuàng)建 Linux 交換分區(qū)。
swapon
啟用交換分區(qū)。
swapoff
關(guān)閉交換分區(qū)。
sync
將內(nèi)存緩沖區(qū)內(nèi)的數(shù)據(jù)寫入磁盤。
resize2fs
調(diào)整 ext2/ext3/ext4 文件系統(tǒng)大小。
系統(tǒng)權(quán)限及用戶授權(quán)相關(guān)命令(4 個(gè))
chmod
改變文件或目錄權(quán)限。
chown
改變文件或目錄的屬主和屬組。
chgrp
更改文件用戶組。
umask
顯示或設(shè)置權(quán)限掩碼。
查看系統(tǒng)用戶登陸信息的命令(7 個(gè))
whoami
顯示當(dāng)前有效的用戶名稱,相當(dāng)于執(zhí)行 id -un 命令。
who
顯示目前登錄系統(tǒng)的用戶信息。
w
顯示已經(jīng)登陸系統(tǒng)的用戶列表,并顯示用戶正在執(zhí)行的指令。
last
顯示登入系統(tǒng)的用戶。
lastlog
顯示系統(tǒng)中所有用戶最近一次登錄信息。
users
顯示當(dāng)前登錄系統(tǒng)的所有用戶的用戶列表。
finger
查找并顯示用戶信息。
內(nèi)置命令及其它(19 個(gè))
echo
打印變量,或直接輸出指定的字符串
printf
將結(jié)果格式化輸出到標(biāo)準(zhǔn)輸出。
rpm
管理 rpm 包的命令。
yum
自動(dòng)化簡(jiǎn)單化地管理 rpm 包的命令。
watch
周期性的執(zhí)行給定的命令,并將命令的輸出以全屏方式顯示。
alias
設(shè)置系統(tǒng)別名。
unalias
取消系統(tǒng)別名。
date
查看或設(shè)置系統(tǒng)時(shí)間。
clear
清除屏幕,簡(jiǎn)稱清屏。
history
查看命令執(zhí)行的歷史紀(jì)錄。
eject
彈出光驅(qū)。
time
計(jì)算命令執(zhí)行時(shí)間。
nc
功能強(qiáng)大的網(wǎng)絡(luò)工具。
xargs
將標(biāo)準(zhǔn)輸入轉(zhuǎn)換成命令行參數(shù)。
exec
調(diào)用并執(zhí)行指令的命令。
export
設(shè)置或者顯示環(huán)境變量。
unset
刪除變量或函數(shù)。
type
用于判斷另外一個(gè)命令是否是內(nèi)置命令。
bc
命令行科學(xué)計(jì)算器
系統(tǒng)管理與性能監(jiān)視命令 (9 個(gè))
chkconfig
管理 Linux 系統(tǒng)開機(jī)啟動(dòng)項(xiàng)。
vmstat
虛擬內(nèi)存統(tǒng)計(jì)。
mpstat
顯示各個(gè)可用 CPU 的狀態(tài)統(tǒng)計(jì)。
iostat
統(tǒng)計(jì)系統(tǒng) IO。
sar
全面地獲取系統(tǒng)的 CPU、運(yùn)行隊(duì)列、磁盤 I/O、分頁(交換區(qū))、內(nèi)存、 CPU 中斷和網(wǎng)絡(luò)等性能數(shù)據(jù)。
ipcs
用于報(bào)告 Linux 中進(jìn)程間通信設(shè)施的狀態(tài),顯示的信息包括消息列表、共享內(nèi)存和信號(hào)量的信息。
ipcrm
用來刪除一個(gè)或更多的消息隊(duì)列、信號(hào)量集或者共享內(nèi)存標(biāo)識(shí)。
strace
用于診斷、調(diào)試 Linux 用戶空間跟蹤器。我們用它來監(jiān)控用戶空間進(jìn)程和內(nèi)核的交互,比如系統(tǒng)調(diào)用、信號(hào)傳遞、進(jìn)程狀態(tài)變更等。
ltrace
命令會(huì)跟蹤進(jìn)程的庫函數(shù)調(diào)用, 它會(huì)顯現(xiàn)出哪個(gè)庫函數(shù)被調(diào)用。
關(guān)機(jī) / 重啟 / 注銷和查看系統(tǒng)信息的命令(6 個(gè))
shutdown
關(guān)機(jī)。
halt
關(guān)機(jī)。
poweroff
關(guān)閉電源。
logout
退出當(dāng)前登錄的 Shell。
exit
退出當(dāng)前登錄的 Shell。
Ctrl+d
退出當(dāng)前登錄的 Shell 的快捷鍵。
進(jìn)程管理相關(guān)命令(15 個(gè))
bg
將一個(gè)在后臺(tái)暫停的命令,變成繼續(xù)執(zhí)行 (在后臺(tái)執(zhí)行)。
fg
將后臺(tái)中的命令調(diào)至前臺(tái)繼續(xù)運(yùn)行。
jobs
查看當(dāng)前有多少在后臺(tái)運(yùn)行的命令。
kill
終止進(jìn)程。
killall
通過進(jìn)程名終止進(jìn)程。
pkill
通過進(jìn)程名終止進(jìn)程。
crontab
定時(shí)任務(wù)命令。
ps
顯示進(jìn)程的快照。
pstree
樹形顯示進(jìn)程。
nice/renice
調(diào)整程序運(yùn)行的優(yōu)先級(jí)。
nohup
忽略掛起信號(hào)運(yùn)行指定的命令。
pgrep
查找匹配條件的進(jìn)程。
runlevel
查看系統(tǒng)當(dāng)前運(yùn)行級(jí)別。
init
切換運(yùn)行級(jí)別。
service
啟動(dòng)、停止、重新啟動(dòng)和關(guān)閉系統(tǒng)服務(wù),還可以顯示所有系統(tǒng)服務(wù)的當(dāng)前狀態(tài)。