監控:
百度站長工具
smokeping 開源監控,網絡監控
真實機器命令監控
ipmitool 可以監控硬件信息 但是需要yum 安裝 openlmpi ipmtool
查看系統模塊 lsmod| grep ipmi
megacli 工具查看raid 磁盤陣列狀態 (需要單獨安裝)
lscpu 查看系統cpu 信息
cpu | %sys% 內核狀態:進程做進程用的時候調用 |
%us% 用戶狀態:用戶做進程時調用 | |
60%-70%的比例是I/O的瓶頸 |
sysstat 監控性能
mpstat 監控cpu mpstat 1 每次顯示一行一秒一次
內存
iostat 磁盤監控 讀寫每個進程的讀寫
網卡流量監控(root權限)
iftop -n 查看來源ip 監控網絡流量 -n 參數以數字形式顯示
ping -c 1 -c 參數統計次數
iptraf 與iftop 類似 但是需要單獨安裝可以直接查看系統進程具體佔用帶寬的情況
linux
“!” 反選 type -f -name exec rm -rf {}\;
rmkdir 刪除目錄
sed -p 打印 -d 刪除 -i 替換 -n 行數 $以什麼爲結尾 ^以什麼開頭
tree 查看目錄樹結構
seq -s 自定義分割符 與awk -F 一致
-w 在打印之前補0
取行數
20-30
head -30 test.txt | tail -11
sed '20,30p' test.txt
awk 取行 $NR '{print $NR}' NR 是行的意思
awk '{if (if NR<31 && NR>19) print $1"\n"}' test.txt
grep -B 匹配當前多少行
-C 匹配之前後多少行
-A 匹配之後多少行
-o 只匹配匹配的 不顯示其他
-i 不區分大小寫
-s不打印其他的
-E 可以過濾多個字符串
系統內置變量$PS1
echo $PS1
[\u@\h \w]\$
export PS1="[\u@\h \w \t]\$" 會出現時間分秒同時root 也會出現$而不是#
linux 默認運行級別
/etc/inittab
runlevel 查看當前運行級
正則:
特殊字符
. 單個任意字符 * 重複前面多個字符 .* 匹配任意字符 \ 轉義 ^以什麼什麼開頭$以什麼什麼結尾^$ 空行
sed -r 後面參數不需要轉義
-i 改變匹配的內容
-n 不打印其他
-p 打印
awk { “\n"} 回車換行
ssh
permitRootlogin no 禁止root通過ssh 登錄
設置ssh 內網只有內網纔可以鏈接
vimdiff 高量更直觀
visudo =vi /etc/sudoers
locate which type find 可以查看命令文件
awk -F '[ , ]' 多分割符;cut -d 與awk -F 都是分割符
Inode 比block 小如果寫入文件小,那麼inode 的值就容易被沾滿 -df -i
dumpe2fs 查看inode 信息
alias grep='grep --color=auot' grep 就會有顏色顯示
export 全局賦值
正則
[abc] 匹配字符集內任意一個字符[a-z] [A-Z] [0-9]
[^abc] 匹配不包含^後的任意字符內容括號中的[^bac] 取反
a[n,m] 重複n到m次 前一個重複的字符,如果egrep /sed -r /grep -E 可以去掉\
\{n,\} 至少重複n次 前一個重複的字符
\{n\} 重複n次之前一個重複的字符
\{,m}\ 最多重複m次
/sbin/ifconfig bond0 |grep "inet addr" |awk -F[:" "] '{print $13}'
/sbin/ifconfig eth0 |sed -rn 's#.*.:(.*)B.*#\1#p' |sed -n '1p'
/sbin/ifconfig eth0 |sed -r 's#(.*addr:)##g'|sed -r 's#(Bcast.*$)##g' |sed -n '2p'
/sbin/ifconfig eth0|sed -n 's/.*addr://;s/Bcast.*//p'
真實服務器中存在
paste 跟文件名字和講多個文件的內容駐行打印到一個文件中
parted 格式化超過2T的文件需要先改進格式
rename 批量改名字
renmae 要改的文件名字 改成什麼 對誰操作
rename "aaa" " " *.jpg
find ./ type f -name "*finished*" | sed -r 's#(^.*)_finished(.*$)# mv & \1\2#g'|bash
ls *.jpg |awk -F "_finished" '{print "mv $0 " "$1$2}'|bash
rename "_finished" " " *.jpg
lvs 四層代理
osi 七層和iso 五層
物理層、數據鏈路層、網絡層、傳輸層、表示層、會話層、應用層
DNS
dig 域名
blkid 查看磁盤UID
已知端口查看進程名:
lsof -i :端口
lsof -i del
ss -p 參數顯示進程名字
netstat -p 參數顯示進程名字
linux
traceroute 域名 檢查解析各個節點有沒有修通
windows
tracert 路由跟蹤
nmap 10.0.0.25 -p 80 檢查遠端服務器端口是否開通
不通:服務、防火牆
抓包:tcpdump
tcpdump -n icmp -i ech0
nmap 掃描
網站訪問慢:
1、用戶一個還是全部
a.ping 域名是否通或telnet 80 端口,如果ping 通不丟包http 服務器的問題,(服務冗機了,服務器過載了)對丟包機房帶寬不穩定各個線路不穩定
b.tracert -d 域名可以看線路通,客戶端到服務器之間的各個線路
c.telnet 80 檢查服務器,web 服務有沒有開啓及防護牆有沒有擋住/curl/wget
d.資源是否過載,cpu、i/o 負載數、連接數
e.服務器帶寬購買滿了,通過流量監控服務查看
f.內連接外鏈接
g.運營商問題、數據庫問題、存儲問題、web問題
useradd -D 改變默認屬性 -u uid -e 過期時間
passwd --stdin 不提示交互式
chage 修改密碼過期屬性
sudo -l 查看當前用戶由什麼權限,如果在visduo 沒有編輯用戶權限,則會報錯
hwclock 查看本地時間
當linux 系統文件大於2T 時 需要使用parted 格式化文件
當前環境變成
-bash-4.1$ 時將/etc/skel/ 下面有新的環境複製到家目錄即可
查看一個網段ip 是否通
for i in `seq 1 255`; do ping 192.168.3.$i -c -1 1 >/dev/null && 192.168.3.$i;live ||echo 192.128.3.$i;dead;done
別名網卡