20個(gè)Linux命令的日志與性能優(yōu)化技巧分享
作為一名測(cè)試工程師,你是否常常在服務(wù)器上翻日志、調(diào)試腳本,卻被繁瑣的操作拖慢腳步?想象一下,一個(gè)深夜上線測(cè)試,系統(tǒng)突然卡頓,你需要快速定位進(jìn)程、分析日志、復(fù)制文件——手動(dòng)敲命令效率低下,時(shí)間一分一秒流逝。記得我第一次在生產(chǎn)環(huán)境中用grep命令過濾錯(cuò)誤日志時(shí),只需一行就從海量數(shù)據(jù)中提取關(guān)鍵信息,瞬間節(jié)省了小時(shí)級(jí)的工作量。從那天起,我意識(shí)到Linux命令是測(cè)試者的“超級(jí)武器”。本文聚焦20個(gè)必備命令和技巧:從grep和find的搜索神器,到tail/head的日志查看、ps/kill的進(jìn)程管理、cp/mv/rm的文件操作、chmod/chown的權(quán)限控制、scp/rsync的文件傳輸、top/htop的監(jiān)控、df/du的磁盤檢查、netstat/ss的網(wǎng)絡(luò)診斷、awk/sed的文本處理、sort/uniq的數(shù)據(jù)整理,再到日志分析組合、性能測(cè)試命令、環(huán)境部署工具、命令別名設(shè)置、歷史命令優(yōu)化、腳本調(diào)試技巧,以及安全操作提醒。這些命令能讓你的效率翻倍,幫助你從“手動(dòng)勞工”變身“自動(dòng)化高手”。
那么,這些Linux命令如何真正提升測(cè)試效率?grep能快速定位Bug日志嗎?find如何高效搜索文件?tail/head在實(shí)時(shí)監(jiān)控中的作用是什么?ps/kill如何管理頑固進(jìn)程?文件操作命令如cp/mv/rm、權(quán)限如chmod/chown,又如何避免權(quán)限陷阱?傳輸工具scp/rsync在部署中的優(yōu)勢(shì)在哪里?監(jiān)控命令top/htop、df/du如何診斷性能瓶頸?網(wǎng)絡(luò)工具netstat/ss、文本處理器awk/sed/sort/uniq如何處理數(shù)據(jù)?此外,日志分析組合、性能測(cè)試命令、環(huán)境部署技巧、別名設(shè)置、歷史優(yōu)化、腳本調(diào)試和安全提醒,又能帶來哪些實(shí)戰(zhàn)價(jià)值?這些問題直指測(cè)試核心痛點(diǎn):效率低下源于工具不熟。接下來,我們通過觀點(diǎn)和案例,逐一拆解這些命令,幫助你構(gòu)建高效工作流。
觀點(diǎn)與案例結(jié)合
這些Linux命令的核心觀點(diǎn)在于:它們不是孤立的工具,而是可組合的“效率鏈條”,測(cè)試工程師通過它們實(shí)現(xiàn)自動(dòng)化診斷、數(shù)據(jù)處理和環(huán)境管理。掌握后,能將手動(dòng)任務(wù)轉(zhuǎn)化為腳本化操作,減少錯(cuò)誤。以下分組講解,結(jié)合實(shí)戰(zhàn)案例和代碼示例(假設(shè)在Bash環(huán)境中)。
這些 20 個(gè) Linux 命令分為日志分析、文件管理、進(jìn)程管理、性能監(jiān)控和腳本優(yōu)化五大類,覆蓋測(cè)試全流程。以下通過一個(gè)電商系統(tǒng)測(cè)試案例(如監(jiān)控訂單日志、管理測(cè)試進(jìn)程),結(jié)合代碼示例,展示每個(gè)命令的用法和優(yōu)勢(shì)。
第一梯隊(duì):日常必備“五虎將”
1. grep:文本搜索神器
觀點(diǎn):grep 通過正則表達(dá)式快速過濾日志,幫助定位 Bug,提升調(diào)試效率 40%。
案例:電商系統(tǒng)日志中搜索訂單錯(cuò)誤。
命令示例:
# 搜索包含"error"的日志行 grep "error" app.log # 忽略大小寫搜索 grep -i "timeout" app.log # 顯示匹配行及前后3行 grep -A3 -B3 "exception" app.log # 遞歸搜索目錄下所有文件 grep -r "login" /var/log/ grep "error" /var/log/ecommerce/orders.log # 輸出:2025-09-18 10:00:00 error: Order ID 123 failed payment
結(jié)果:快速找到 1000 行日志中的錯(cuò)誤行,調(diào)試時(shí)間縮短 30%。
高級(jí)用法:grep -r "error" /var/log/ 遞歸搜索目錄。
2. find:文件查找利器
觀點(diǎn):find 根據(jù)名稱、時(shí)間、大小查找文件,適合測(cè)試環(huán)境清理。
案例:查找電商測(cè)試目錄下的舊日志文件。
命令示例:
# 查找當(dāng)前目錄下所有.log文件
find . -name "*.log"
# 查找大于100MB的文件
find /var/log -size +100M
# 查找7天內(nèi)修改過的文件
find . -mtime -7
# 找到文件并執(zhí)行操作(刪除30天前的日志)
find /tmp -name "*.log" -mtime +30 -delete
find /var/log/ecommerce -name "*.log" -mtime +7 -exec rm {} \;結(jié)果:自動(dòng)刪除 7 天前日志,釋放 20% 磁盤空間。
3. tail & head:實(shí)時(shí)/頭部查看文件
觀點(diǎn):tail 實(shí)時(shí)監(jiān)控日志尾部,head 查看頭部,結(jié)合用于日志分析。
案例:監(jiān)控電商訂單日志尾部。
命令示例:
# 實(shí)時(shí)查看日志更新(最常用?。? tail -f app.log # 查看最后100行 tail -100 app.log # 查看前20行 head -20 app.log # 組合使用:實(shí)時(shí)查看并過濾關(guān)鍵字 tail -f app.log | grep "ERROR" tail -f /var/log/ecommerce/orders.log # 實(shí)時(shí)監(jiān)控 head -n 10 /var/log/ecommerce/orders.log # 查看前 10 行
結(jié)果:實(shí)時(shí)捕捉新錯(cuò)誤,頭部檢查日志格式。
4. ps & kill:進(jìn)程管理
觀點(diǎn):ps 查看進(jìn)程,kill 終止異常進(jìn)程,避免測(cè)試卡頓。
案例:殺死電商測(cè)試腳本卡死進(jìn)程。
命令示例:
# 查看所有Java進(jìn)程 ps -ef | grep java # 查看進(jìn)程詳細(xì)信息 ps aux # 強(qiáng)制終止進(jìn)程 kill -9 1234 # 終止所有Java進(jìn)程 pkill -9 java ps aux | grep test_script # 查看進(jìn)程 kill -9 <PID> # 強(qiáng)制終止
結(jié)果:快速釋放資源,測(cè)試恢復(fù)正常。
5. cp & mv & rm:文件復(fù)制/移動(dòng)/刪除(文件操作三劍客)
觀點(diǎn):這些命令高效管理測(cè)試文件,結(jié)合 -r 處理目錄。
案例:備份電商測(cè)試數(shù)據(jù)。
命令示例:
# 復(fù)制文件(保留權(quán)限) cp -p source.log backup/ # 移動(dòng)文件(重命名) mv old.log new.log # 刪除文件(謹(jǐn)慎使用!) rm -f app.log # 刪除目錄及內(nèi)容(更謹(jǐn)慎?。? rm -rf logs/ cp -r /test/data /backup/data # 復(fù)制目錄 mv old.log new.log # 重命名/移動(dòng) rm -rf /temp/files # 刪除目錄
結(jié)果:數(shù)據(jù)備份完成,空間優(yōu)化 15%。
第二梯隊(duì):進(jìn)階高手“七武器”
6. chmod & chown:權(quán)限管理
觀點(diǎn):chmod 修改權(quán)限,chown 更改所有者,確保測(cè)試環(huán)境安全。
案例:設(shè)置電商日志文件權(quán)限。
命令示例:
# 給腳本添加執(zhí)行權(quán)限 chmod +x test_script.sh # 修改文件所有者 chown tester:testers app.log # 遞歸修改目錄權(quán)限 chmod -R 755 test_dir/ chmod 644 /var/log/ecommerce/orders.log # 所有者讀寫,其他讀 chown user:group /var/log/ecommerce/orders.log
結(jié)果:防止 unauthorized 訪問。
7. scp & rsync:文件傳輸
觀點(diǎn):scp 安全復(fù)制,rsync 同步增量傳輸,適合遠(yuǎn)程測(cè)試環(huán)境。
案例:傳輸電商測(cè)試腳本到服務(wù)器。
命令示例:
# 復(fù)制文件到遠(yuǎn)程服務(wù)器 scp app.log user@server:/tmp/ # 從遠(yuǎn)程服務(wù)器下載文件 scp user@server:/logs/app.log . # 同步目錄(增量同步) rsync -av ./logs/ user@server:/backup/logs/ scp test_script.py user@server:/path/to/dir rsync -avz /local/dir user@server:/remote/dir
結(jié)果:增量同步節(jié)省 50% 時(shí)間。
8. top & htop:系統(tǒng)監(jiān)控
觀點(diǎn):top 實(shí)時(shí)監(jiān)控 CPU/內(nèi)存,htop 交互式視圖,更易用。
案例:監(jiān)控電商測(cè)試進(jìn)程資源。
命令示例:
# 查看系統(tǒng)資源使用情況 top # 更友好的監(jiān)控工具(需安裝) htop # 按內(nèi)存使用排序 top -o %MEM # 按CPU使用排序 top -o %CPU top # 或 htop(需安裝)
結(jié)果:發(fā)現(xiàn)高 CPU 進(jìn)程,優(yōu)化測(cè)試負(fù)載。
9. df & du:磁盤空間檢查
觀點(diǎn):df 查看磁盤空間,du 檢查目錄占用,防止測(cè)試因空間滿中斷。
案例:檢查電商日志目錄占用。
命令示例:
# 查看磁盤使用情況
df -h
# 查看當(dāng)前目錄空間使用
du -sh
# 查看目錄下各文件夾大小
du -h --max-depth=1
# 找到最大的10個(gè)文件
find . -type f -execdu -h {} + | sort -rh | head -10
df -h # 磁盤空間
du -sh /var/log/ecommerce結(jié)果:識(shí)別大文件,清理空間。
10. netstat & ss:網(wǎng)絡(luò)連接檢查
觀點(diǎn):netstat/ss 查看端口連接,診斷網(wǎng)絡(luò)問題
案例:檢查電商 API 端口。
命令示例:
# 查看所有監(jiān)聽端口 netstat -tulpn # 查看TCP連接 netstat -ant # 更快的替代方案 ss -tulpn # 查看8080端口誰在連接 netstat -an | grep :8080 ss -tuln # 或 netstat -tuln
結(jié)果:確認(rèn) 8080 端口監(jiān)聽。
第三梯隊(duì):文本處理“三劍客” (從這里開始,你將超越80%的測(cè)試)
11. awk:數(shù)據(jù)文本處理大師
觀點(diǎn):awk 強(qiáng)大文本處理,適合日志解析。
案例:提取電商日志中的 IP。
命令示例:
# 提取第一列
awk'{print $1}' access.log
# 統(tǒng)計(jì)行數(shù)
awk 'END{print NR}' app.log
# 過濾狀態(tài)碼為500的請(qǐng)求
awk '$9 == 500 {print $0}' access.log
# 分組統(tǒng)計(jì)
awk '{count[$1]++} END {for (ip in count) print ip, count[ip]}' access.log
awk '{print $1}' /var/log/ecommerce/access.log | sort | uniq -c結(jié)果:統(tǒng)計(jì) IP 訪問頻率。
12. sed:流編輯
觀點(diǎn):sed 修改文本流,適合批量替換。
案例:替換日志中的敏感數(shù)據(jù)。
命令示例:
# 替換文本 sed's/foo/bar/g' file.txt # 刪除空行 sed '/^$/d' file.txt # 提取特定行(第10-20行) sed -n '10,20p' app.log # 原地修改文件 sed -i 's/old/new/g' config.conf sed -i 's/sensitive_token/REDACTED/g' /var/log/ecommerce/orders.log
結(jié)果:日志脫敏。
第四梯隊(duì):效率倍增“獨(dú)孤九劍”
13. sort & uniq:排序去重
觀點(diǎn):sort 排序,uniq 去重,結(jié)合用于數(shù)據(jù)清理。
案例:去重電商日志錯(cuò)誤碼。
命令示例:
# 排序文件
sort app.log
# 去重統(tǒng)計(jì)
sort access.log | uniq -c
# 按數(shù)字逆序排序
sort -nr file.txt
# 找出重復(fù)的IP
awk '{print $1}' access.log | sort | uniq -d
grep "error" /var/log/ecommerce/orders.log | awk '{print $NF}' | sort | uniq -c結(jié)果:統(tǒng)計(jì)錯(cuò)誤類型。
14. 日志分析組合
觀點(diǎn):結(jié)合 grep/awk/sed/tail 分析日志。
案例:實(shí)時(shí)監(jiān)控并分析錯(cuò)誤。
命令示例:
統(tǒng)計(jì)錯(cuò)誤出現(xiàn)次數(shù)
grep "ERROR" app.log | wc -l
# 查看最近10個(gè)錯(cuò)誤及其上下文
grep -A2 -B2 "ERROR" app.log | tail -30
# 實(shí)時(shí)監(jiān)控并統(tǒng)計(jì)錯(cuò)誤
tail -f app.log | awk '/ERROR/ {count++} END {print "Errors:", count}'
tail -f /var/log/ecommerce/orders.log | grep "error" | awk '{print $1, $NF}'結(jié)果:實(shí)時(shí)提取錯(cuò)誤時(shí)間和碼。
15. 性能測(cè)試常用命令
觀點(diǎn):ab/stress 測(cè)試負(fù)載。
案例:壓力測(cè)試電商 API。
命令示例:
# 每5秒統(tǒng)計(jì)一次系統(tǒng)負(fù)載 whiletrue; douptime; sleep 5; done # 監(jiān)控內(nèi)存使用 watch -n 1 'free -h' # 測(cè)試磁盤讀寫速度 ddif=/dev/zero of=testfile bs=1G count=1 oflag=direct ab -n 1000 -c 100 https://api.ecommerce.com/orders
結(jié)果:QPS 分析。
16. 環(huán)境部署常用命令
觀點(diǎn):apt/yum 安裝,systemctl 管理服務(wù)。
案例:部署 Redis。
命令示例:
# 解壓文件 tar -xzf app.tar.gz # 壓縮日志文件 tar -czf logs.tar.gz *.log # 查看文件編碼 file -i config.properties # 轉(zhuǎn)換編碼 iconv -f GBK -t UTF-8 file.txt > newfile.txt sudo apt update && sudo apt install redis-server sudo systemctl start redis
結(jié)果:快速部署測(cè)試環(huán)境。
17. 命令別名設(shè)置
觀點(diǎn):alias 簡(jiǎn)化常用命令。
案例:別名日志監(jiān)控。
命令示例:
alias ll='ls -alh' alias grep='grep --color=auto' alias tailf='tail -f' alias psg='ps aux | grep' alias h='history' alias logwatch='tail -f /var/log/ecommerce/orders.log | grep error'
結(jié)果:輸入 logwatch 即監(jiān)控。
18. 歷史命令優(yōu)化
觀點(diǎn):history/ctrl+r 快速?gòu)?fù)用命令。
案例:搜索歷史 grep 命令。
命令示例:
# 忽略重復(fù)命令 export HISTCONTROL=ignoredups # 增加歷史記錄數(shù)量 export HISTSIZE=10000 # 查找歷史命令 Ctrl + R # 然后輸入關(guān)鍵詞 history | grep grep
結(jié)果:快速?gòu)?fù)用,效率提升 20%。
19. 腳本調(diào)試技巧
觀點(diǎn):bash -x 調(diào)試腳本。
案例:調(diào)試電商測(cè)試腳本。
命令示例:
# 調(diào)試模式運(yùn)行腳本 bash -x script.sh # 檢查語法錯(cuò)誤 bash -n script.sh # 詳細(xì)輸出 set -x # 開啟調(diào)試 set +x # 關(guān)閉調(diào)試 bash -x test_script.sh
結(jié)果:逐行追蹤執(zhí)行。
20. 安全操作提醒
觀點(diǎn):使用 sudo 時(shí)謹(jǐn)慎,備份前確認(rèn)。
案例:安全刪除文件。
命令示例:
# 危險(xiǎn)命令提醒
aliasrm='rm -i'
aliascp='cp -i'
aliasmv='mv -i'
# 重要文件備份
cp important.conf{,.bak}
rm -i file.log # 交互確認(rèn)結(jié)果:避免誤刪。
Bonus:安全操作保命清單(打印貼顯示器!)
| 危險(xiǎn)操作 | 正確姿勢(shì) |
|---|---|
| rm -rf / | 永遠(yuǎn)加路徑!rm -rf ./tmp/* |
| chmod 777 | 最小權(quán)限原則!chmod 644 |
| kill -9 | 先 kill -15,等30秒 |
| dd 命令 | 確認(rèn)設(shè)備名!lsblk 先查 |
| `:(){ : | :& };:` |
社會(huì)現(xiàn)象分析
在測(cè)試左移、測(cè)試右移、DevOps理念深入人心的今天,測(cè)試工程師的角色邊界正在變得越來越模糊。我們不再僅僅是業(yè)務(wù)功能的驗(yàn)證者,更是整個(gè)研發(fā)流程質(zhì)量的守護(hù)者。深入到“后臺(tái)”去,具備一定的服務(wù)器操作和問題排查能力,已經(jīng)不是加分項(xiàng),而是核心競(jìng)爭(zhēng)力。一個(gè)懂Linux的測(cè)試,能更早地發(fā)現(xiàn)環(huán)境問題、更精準(zhǔn)地定位缺陷、更順暢地與開發(fā)和運(yùn)維溝通,這正是現(xiàn)代企業(yè)對(duì)“高級(jí)”測(cè)試工程師的期望。
在 2025 年,測(cè)試工程師對(duì) Linux 命令依賴加深,85% 日常使用這些工具(JetBrains Survey)。 高并發(fā)測(cè)試需求推動(dòng)命令優(yōu)化,豆瓣崩潰事件凸顯日志分析重要性。AI 工具如 DeepSeek 輔助命令生成,提升 30% 效率。社區(qū)趨勢(shì):Linux 命令培訓(xùn)課程增長(zhǎng) 25%,強(qiáng)調(diào)安全和優(yōu)化。
總結(jié)與升華
掌握Linux命令,其核心價(jià)值在于賦予了測(cè)試工程師一種獨(dú)立解決問題的能力和底氣。當(dāng)你不再需要事事依賴他人,能夠自己動(dòng)手排查問題時(shí),你對(duì)產(chǎn)品的理解深度、定位問題的效率,以及在團(tuán)隊(duì)中的技術(shù)影響力,都將發(fā)生質(zhì)的飛躍。這不僅僅是技能的提升,更是思維模式的轉(zhuǎn)變——從一個(gè)被動(dòng)的執(zhí)行者,轉(zhuǎn)變?yōu)橐粋€(gè)主動(dòng)的質(zhì)量探索者。
這 20 個(gè) Linux 命令從日志分析到安全操作,覆蓋測(cè)試全鏈路。通過電商案例,你學(xué)會(huì)了實(shí)戰(zhàn)應(yīng)用,提升效率翻倍。掌握這些命令,你將從測(cè)試新手變身效率高手,讓工作更輕松、結(jié)果更可靠。命令是測(cè)試的利劍,熟練運(yùn)用它們,你將成為領(lǐng)域的“效率王者”!
“20 個(gè) Linux 命令:測(cè)試工程師的效率倍增器,從繁瑣到飛速,一鍵掌握!”
到此這篇關(guān)于20個(gè)Linux命令的日志與性能優(yōu)化技巧分享的文章就介紹到這了,更多相關(guān)Linux命令內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Apache2.2以上版本與Tomcat整合配置及負(fù)載均衡實(shí)現(xiàn)
今天技術(shù)總監(jiān)叫實(shí)現(xiàn)Apache和Tomacat整合,結(jié)果找了很多的資料,發(fā)現(xiàn)最方便的還是本文啊.apache2.2以上版本,無需使用jk_mod來集成tomcat,直接使用ajp,很方便,感興趣的朋友可以了解下啊2013-01-01
linux下查看yum/rpm/dpkg某軟件是否已安裝的方法
這篇文章主要介紹了在linux下查看yum/rpm/dpkg某軟件是否已安裝的方法,文中給出了詳細(xì)的示例代碼,對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來一起看看吧。2017-03-03
解決Centos7 安裝騰達(dá)U12無線網(wǎng)卡驅(qū)動(dòng)問題
這篇文章主要介紹了Centos7 安裝騰達(dá)U12無線網(wǎng)卡驅(qū)動(dòng),本文給出了解決過程,通過兩種方法給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-10-10

