1、查看系統負載命令
w命令:主要查看cpu負載
load average:一分鍾內負載 五分鍾內負載 十五分鍾內負載
負載跟cpu核心數有關,查看cpu核心數:
# cat /proc/cpuinfo | grep 'processor' | wc -l
uptime也可以顯示cpu負載
2、vmstat命令
# vmstat 1 5
1代表每一秒顯示一次,5代表顯示五次
r列:表示一秒內運行的進程
b列:被阻塞的進程
swpd列:有多少數據被交換,單位是kb
free列:剩余內存
buff列:緩沖
cache列:緩存
si列:swap in進入到內存的數據
so列:swap out從內存中讀出來的
bi列:讀磁盤,普通服務器硬盤持續超過1000說明服務器壓力讀取頻繁
bo列:寫磁盤
in列:終端的次數
cs列:上下文切換
us列:用戶態的進程占用cpu的百分比
sy列:內核態的進程占用cpu的百分比、
id列:空閑
wa列:等待
st列:被偷走的
3、top命令
PID:在/proc目錄下
USER:以哪個用戶運行的進程
FR:值范圍0到39,進程優先級,值越小優先級越高
NI:值范圍-20到19,進程優先級
VIRT:進程使用虛擬內存總量=SWAP+RES
RES:進程使用的、未被換出的物理內存
SHR:貢獻內存
S:進程狀態D=不可中斷的睡眠狀態R=運行S=睡眠T=跟蹤/停止Z=僵屍進程
%CPU:cpu使用率
%MEM:內存使用率
TIME+:使用cpu的時間
COMMAND:進程名稱
4、sar命令(查看網卡流量)
# sar -n DEV 1 10
每秒中顯示一次,顯示十次,網卡流量統計
sa的歷史記錄記錄在/var/log/sa該目錄下
使用# sar -n DEV -f sa27查看27號的歷史記錄
# sar -q查看負載
# sar -b查看磁盤
5、free命令
# free -m按兆字節顯示內存使用情況,默認是k
total:內存總量
used:內存使用情況
free:內存剩余情況
buffers:在內存中將要寫入磁盤的數據
cached:將磁盤中的數據放入內存
6、ps命令
# ps aux:BSD風格的使用方法
USER:以哪個用戶啟動的進程
PID:進程id
%CPU:cpu使用百分比
%MEM:內存使用百分比
VSZ:虛擬內存大小
RSS:真正內存的大小
TTY:終端
STAT:進程狀態S:休眠;s主進程;<優先級高;N優先級低;+前台運行的進程;R正在運行的進程;L被鎖的進程;l多線程進程;Z僵屍進程;X已死的進程;T暫停的進程
START:啟動時間
TIME:占用cpu的時間
COMMAND:進程的名字
7、netstat命令
# netstat -lnp查看服務器監聽了那些端口
# netstat -an | grep 92.168.83.50:3402 | grep -ic estab查看連接數
8、tcpdump和tshark工具
# tcpdump -nn -i eth0 -c 5
抓取eth0網卡上的五個數據包
# tcpdump -nn tcp and port 22 -c 5
# tcpdump -nn -s0 tcp and port 22 -c 10 -w test.cap
tshark工具需要安裝wireshark二進制包包
# tshark -n -t a -R http.request -T fields -e "frame.time" -e "ip.src" -e "http.host" -e "http.request.method" -e "http.request.uri"
9、selinux
查看selinux狀態:# getenforce
臨時關閉selinux:# setenforce 0
永久關閉:# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
如果沒有getenforce和setenforce命令安裝libselinux-utils包
10、netfilter --> iptables防火牆
table表-->chain鏈
# iptables -t filter -nvL //查看filter表的規則
# iptables -t nat -nvL //查看nat表的規則
# iptables -t mangle -nvL //查看mangle表的規則
# iptables -t filter -A INPUT -p tcp --dport 80 -s 192.168.1.135 -j REJECT
-t:指定要操作的表名
-A:追加一條規則
-I:插入一條規則
-D:刪除一條規則
-P:設置默認規則
-p:指定協議
--dport:指定端口號
-s:指定來源ip
-j:指定處理方式;REJECT:拒絕;DROP:丟棄;ACCEPT:接受
# iptables -F //清空防火牆規則
# service iptables save //將寫好的防火牆規則永久保存
# iptables-save > /tmp/iptbales備份防火牆規則
# iptables-restore < iptables //恢復防火牆規則
INPUT DROP;192.168.1.1/24 22 ACCEPT;all 80 ACCEPT ;all 21 ACCEPT;
#/bin/bash
iptables="/sbin/iptables"
$iptables -F
$iptables -P INPUT DROP
$iptables -P OUTPUT ACCEPT
$iptables -P FORWARD ACCEPT
$iptables -A INPUT -s 192.168.1.1/24 -p tcp --dport 22 -j ACCEPT
$iptables -A INPUT -p tcp --dport 80 -j ACCEPT
$iptables -A INPUT -p tcp --dport 21 -j ACCEPT
$iptables -A INPUT -p tcp --dport 22 -j DROP其余網段不允許連接22端口
11、cron計划任務
# crontab -l
-l:查看任務計划
-e:編輯任務計划
-r:刪除任務計划
第一個段*:分鍾
第二個段*:小時
第三個段*:日
第四個段*:月
第五個段*:周
12、系統服務
# ntsysv命令屬於ntsysv包,沒有命令可以安裝,通過類似圖形界面的方式控制開機啟動的服務
# chkconfig --list也可以通過這個命令查看哪些服務是開機自啟動的
# chkconfig vsftpd on/off可以使某些服務在開機時打開或者關閉
# chkconfig --level 23456 vsftpd on指定某些服務在啟動級別時的打開或者關閉狀態
# chkconifg --add 123將123的服務添加到開機啟動項中,但123必須在/etc/init.d目錄下,並且是可執行的文件
13、linux日志
核心的系統日志存放在/var/log/目錄下
日志格式及保存方式存放在/etc/logrotate.conf和/etc/logrotate.d/目錄下
查看用戶登錄歷史的日志/var/log/wtmp該日志不能直接查看,可以用last查看
查看無效登錄的歷史/var/log/btmp該日志不能直接查看,可以用lastb查看
/var/log/maillog與郵件有關的日志
/var/log/secure與驗證有關的日志,例如ftp登錄的情況
/var/log/dmesg系統啟動過程中一些硬件相關的日志
14、xargs和exec的使用
# find . -name passwd -exec cp {} {}.bak \;
# find . -name passwd | xargs -i cp {} {}.bak
兩條命令執行的結果相同
# ls *.bak | xargs rm -rf也可以這樣刪除文件哦,很爽。。。
15、screen命令
nohup sleep 100 &丟入后台退出終端不被中斷,並記錄日志
screen命令輸入screen包
使用方法:
# screen
輸入命令比如top
然后按ctrl+a+d退出
# screen -ls查看后台程序
# screen -r id查看后台程序
按ctrl+d或者esc退出screen
16、curl命令
# curl www.baidu.com 查看百度的文本頁面
# curl -I www.baidu.com查看百度的狀態信息等
# curl -x61.135.169.125:80 -I www.baidu.com指定代理服務器
# curl -x61.135.169.125:80 -Iv www.baidu.com查看瀏覽百度是的訪問過程
# curl -u fanjinbao:fanjinbao www.fanjinbao.com訪問用戶名密碼的頁面
# curl -O http://www.baidu.com/img/bdlogo.png直接下載bdlogo.png的圖片
# curl -o fanjinbao.png http://www.baidu.com/img/bdlogo.png下載並重命名為fanjinbao.png