編程學習網 > 服務器 > Linux > 常用命令
2015
04-26

常用命令

1.基礎命令

操作 命令 說明
查看文件的內容 cat -n access.log -n顯示行號
分頁顯示文件 more access.log Enter下一行,空格下一頁,F下一屏,B上一屏
分頁顯示文件 less access.log 輸入 /字符串 可查找并高亮
顯示文件尾 tail -n2 -f access.log -n2顯示最后2行,-f繼續監聽不退出
內容排序 sort -k 2 -t ' ' -n access.log -k指定排序列,-t指定列分隔符,-n按數字順序
字符統計 wc -l access.log -l統計行數,-c字符數,-L最長行長度,-w單詞數
查看重復出現的行 sort testfile | uniq -c -d uniq去重,-c統計重復次數,-d只顯示重復的
字符串查找 grep 'G.*T' access.log 查找G開頭T結尾的字符串
文件查找 find /home/java -name access.log 遞歸/home/java的子目錄找名為access.log
表達式求值 expr 10 \* 3 計算10*3,其中\*表示轉義*不解讀為通配符
表達式求值 expr length "this is a test" 計算長度
歸檔文件 tar -cf aaa.tar f1 f2 -c創建,-f指定包名
歸檔文件 tar -xf aaa.tar -x解壓
URL訪問 curl www.google.com 不帶參返回響應體,-i返回帶響應頭,-I僅返回響應頭
查看CPU的load uptime  
查看CPU使用率 top | grep Cpu 按1查看每個核,按shift+H按線程查看
查看CPU使用率 top -p 2864 查看指定進程
磁盤剩余空間 df -h  
磁盤剩余空間 du -d 1 -h /home/java 分析目錄的磁盤使用。-d設置遞歸深度
網絡traffic sar -n DEV 1 1 DEV查看各個網卡,1秒抽樣,1總共取一次
磁盤I/O iostat -d -k  
內存使用 free -m 通常是看“-/+ buffers/cache”對應的used和free
內存使用 vmstat 查看swap I/O

 

2.sed編輯器

操作 命令 說明
文本替換 sed 's/xxx/yahoo/' access.log | head -10 不會修改原文件
輸出指定的行 sed -n '2,6p' access.log 輸出2-6行
刪除行 sed '/qq/d' access.log /d排除含關鍵字qq的行
整行替換 sed -e '/google/c\hello' access.log | head -10 /c替換的是整個匹配的行
多個命令合并 sed -n '1,5p;1,5=' access.log 邊打印行邊打印行號

 

3.awk程序

操作 命令
篩選行,打印指定列 awk '/google/{print $0,$6}' access.log | head -10
按條件打印 awk 'length($0)>40{print $3}' access.log | head -10
格式化輸出 awk '{line= sprintf("method:%s,response:%s", $3, $7); print line}' access.log | head -10

 

4.實用例子

操作 命令 說明
查看請求訪問量    
訪問量前10的IP cat access.log | cut -f1 -d " " | sort | uniq -c |sort -k 1 -n -r | head -10 cut部分表示取第1列即IP列,取第4列則為URL的訪問量
查看最耗時的頁面 cat access.log | sort -k 2 -n -r | head -10 按第2列響應時間逆序排序
統計404請求的占比    
總請求數 export total_line= `wc -l access.log | cut -f1 -d " "`  
404請求數 export not_found_line= `awk '$6=='404'{print $6}' access.log | wc -l`  
占比 expr $not_found_line \* 100 / $total_line &&或;可合并為一行。

掃碼二維碼 獲取免費視頻學習資料

Python編程學習

查 看2022高級編程視頻教程免費獲取