當(dāng)前位置 主頁 > 技術(shù)大全 >
無論是系統(tǒng)管理員、開發(fā)人員還是測(cè)試工程師,掌握Linux測(cè)試常用命令都是必備技能之一
這些命令不僅能夠幫助我們快速診斷系統(tǒng)問題,還能在系統(tǒng)調(diào)優(yōu)中發(fā)揮關(guān)鍵作用
本文將詳細(xì)介紹一系列Linux測(cè)試常用命令,并通過實(shí)例展示其強(qiáng)大功能
一、系統(tǒng)狀態(tài)監(jiān)控 1. top 命令 `top` 命令是Linux系統(tǒng)中最常用的實(shí)時(shí)監(jiān)控工具之一,能夠動(dòng)態(tài)顯示系統(tǒng)的CPU、內(nèi)存使用情況,以及各個(gè)進(jìn)程的詳細(xì)信息
top 執(zhí)行后,你會(huì)看到一個(gè)實(shí)時(shí)更新的界面,顯示了系統(tǒng)整體的CPU和內(nèi)存使用情況,以及各個(gè)進(jìn)程的詳細(xì)狀態(tài)
通過按`q` 鍵可以退出`top` 界面
實(shí)例: top -b -n 1 | grep apache2 這條命令會(huì)在批處理模式下運(yùn)行`top`,只輸出一次結(jié)果,并篩選出包含 apache2 的進(jìn)程信息,非常適合用于腳本化監(jiān)控
2. htop 命令 `htop`是 `top` 命令的增強(qiáng)版,提供了更友好的界面和更多的交互功能,但通常需要手動(dòng)安裝
sudo apt-get install htop Debian/Ubuntu sudo yum install htop CentOS/RHEL htop 實(shí)例: 在 `htop`界面中,你可以使用箭頭鍵導(dǎo)航,按 `F9` 鍵可以殺死進(jìn)程,按 `F10` 鍵退出
3. vmstat 命令 `vmstat`(Virtual Memory Statistics)命令用于報(bào)告關(guān)于進(jìn)程、內(nèi)存、分頁、塊IO、陷阱和CPU活動(dòng)的信息
vmstat 1 5 這條命令會(huì)每秒更新一次系統(tǒng)狀態(tài),共更新五次
實(shí)例: vmstat -s 這條命令會(huì)輸出系統(tǒng)的匯總統(tǒng)計(jì)信息,包括內(nèi)存、分頁、塊IO等
二、網(wǎng)絡(luò)測(cè)試 1. ping 命令 `ping` 命令用于測(cè)試主機(jī)之間網(wǎng)絡(luò)的連通性
ping www.google.com 實(shí)例: ping -c 4 www.google.com 這條命令會(huì)向`www.google.com`發(fā)送四個(gè)ICMP ECHO_REQUEST報(bào)文,并顯示結(jié)果
2. traceroute 命令 `traceroute` 命令用于顯示數(shù)據(jù)包到達(dá)目標(biāo)主機(jī)所經(jīng)過的路徑(路由)
traceroute www.google.com 實(shí)例: traceroute -I www.google.com 使用 `-I` 選項(xiàng)指定使用ICMP協(xié)議進(jìn)行路由跟蹤,而不是默認(rèn)的UDP
3. ifconfig 和 ip 命令 `ifconfig` 命令用于配置和顯示網(wǎng)絡(luò)接口的狀態(tài)(注意:在一些現(xiàn)代Linux發(fā)行版中,`ifconfig`已被 `ip` 命令取代)
ifconfig 實(shí)例: ip a 這條命令會(huì)顯示所有網(wǎng)絡(luò)接口的信息,包括IP地址、MAC地址等
4. netstat 和 ss 命令 `netstat` 命令用于顯示網(wǎng)絡(luò)連接、路由表、接口統(tǒng)計(jì)信息等
netstat -tuln 實(shí)例: ss -tuln `ss` 命令是 `netstat` 的現(xiàn)代替代品,功能更強(qiáng)大,性能更好
這條命令會(huì)顯示系統(tǒng)中所有監(jiān)聽中的TCP和UDP端口
三、磁盤與文件系統(tǒng)測(cè)試 1. df 命令 `df` 命令用于顯示磁盤分區(qū)的使用情況
df -h 實(shí)例: df -hT 這條命令會(huì)顯示每個(gè)文件系統(tǒng)的類型以及使用情況
2. du 命令 `du` 命令用于估算文件和目錄的磁盤使用情況
du -sh /home/user 實(shí)例: du -ah /home/user | sort -rh | head -n 10 這條命令會(huì)列出`/home/user`目錄下占用空間最大的前10個(gè)文件或目錄
3. iostat 命令 `iostat` 命令用于報(bào)告CPU統(tǒng)計(jì)信息和所有塊設(shè)備(如磁盤、分區(qū))的I/O統(tǒng)計(jì)信息
iostat -x 1 5 實(shí)例: iostat -d -x -k 1 10 這條命令會(huì)每秒更新一次磁盤I/O統(tǒng)計(jì)信息,共更新十次,并以KB為單位顯示
四、性能測(cè)試與調(diào)優(yōu) 1. time 命令 `time` 命令用于測(cè)量一個(gè)命令的執(zhí)行時(shí)間
time ls -lR / 實(shí)例: /usr/bin/time -v ls -lR / 使用 `/usr/bin/time` 可以獲得更詳細(xì)的執(zhí)行時(shí)間統(tǒng)計(jì),包括用戶時(shí)間、系統(tǒng)時(shí)間、最大駐留集大小等
2. stress 命令 `stress` 命令用于在系統(tǒng)上生成負(fù)載,用于測(cè)試系統(tǒng)的性能
sudo apt-get install stress Debian/Ubuntu sudo yum install stress# CentOS/RHEL stress --cpu 4 --io 2 --vm 2 --vm-bytes 1G --timeout 60s 實(shí)例: 這條命令會(huì)啟動(dòng)四個(gè)CPU密集型任務(wù),兩個(gè)I/O密集型任務(wù),兩個(gè)內(nèi)存密集型任務(wù)(每個(gè)任務(wù)占用1GB內(nèi)存),持續(xù)60秒
3. perf 命令 `perf` 是一個(gè)強(qiáng)大的Linux性能分析工具,能夠用于CPU性能分析、內(nèi)存性能分析、鎖分析等多個(gè)方面
sudo perf record -g ls sudo perf report 實(shí)例: sudo perf top 這條命令會(huì)實(shí)時(shí)顯示系統(tǒng)中性能開銷最高的函數(shù)
五、日志與調(diào)試 1. dmesg 命令 `dmesg` 命令用于顯示內(nèi)核環(huán)緩沖區(qū)中的信息,通常用于調(diào)試和查看系統(tǒng)啟動(dòng)過程中的信息
dmesg | grep -i error 實(shí)例: dmesg -T | less 使用 `-T` 選項(xiàng)可以將時(shí)間戳轉(zhuǎn)換為人類可讀的形式,然后通過`less` 命令分頁查看
2. journalctl 命令 `journalctl` 命令用于查看和管理systemd日志
journalctl -xe 實(shí)例: journalctl -u apache2.service 這條命令會(huì)顯示 `apache2`服務(wù)的日志信息
3.