1,統計日誌下各類狀態碼的個數,統計個數並倒序,只統計500等:bash
統計httpd狀態碼個數並返回前5種的數量:服務器
awk -F " " '{print $9}' access_log-20170115 |sort -r |uniq -c |head -n 10
這裏的問題是,sort和uniq其實均可以去重,可是uniq要求要連續,因此這裏用sort排倒序,用uniq統計數量, head取top n,排序,統計+topcurl
2,尋找某目錄下文件並{操做:刪,移}:tcp
有個坑,find 後要加"\;",並且必須加,中間還不能有空格,不然會missing arg:url
找出全部1天內有變更的文件(被黑後常見用法):日誌
find / -mtime -1 > motify.log
移動當前目錄下大於30m的文件到臨時目錄:code
find . -size +30M -exec mv {} /tmp/ \;
3,如何禁止一個用戶登陸(系統被黑了如何鎖定root並給root一個新的名字),或者,如何同時給600臺服務器同時修改用戶名密碼。排序
/etc/passwd 文件查看能獲取/bin/bash的用戶有哪些,一旦這些修改就不能登陸;若是同時修改大量系統的用戶名密碼,能夠用ansible遠程執行passwd/usrdel 命令,更簡單的一個方式,本地執行後將passwd和shadow文件拷貝到全部目標服務器dns
4,查看端口的佔用進程進程
1,lsof -i port 2,netstat -anpl |grep port |awk
5,查詢當前系統tcp鏈接數(awk的用法)
awk -F: "./ " "/^...$/ BEGIN {} {} END {}"
這裏-F是每行的切割條件,/^...$/表示的是正則匹配只取這些行,begin表示第一行顯示的,end表示最後一行顯示的,中間的{}表示要循環顯示的
netstat -an |awk '/^tcp / {print $1}'|sort -r |uniq - c netstat -an |grep tcp //爲何不用grep,這裏只對部分字段計數
1,查看下載文件的 head
curl -XHEAD -v http://www.baidu.com
查看下載速度
bind_part = "--bind-dns-address=%(bind_ip)s --bind-address=%(bind_ip)s" % {"bind_ip": bind_ip} wgetnew --bind-dns-address=%(bind_ip)s --bind-address=%(bind_ip)s --header="Host: %s" -t 3 -T 120 --limit-rate=%(rate)s -O %(tempfile_path)s '%(source_url)s'
注意參數:
bind-dns-address 獲取dns 時使用的ip ,這也是帶運營商的
bind-address 出口 ip (用於多ip 能夠指定走運營商的線路)
header
-t 重試次數
-T 超時時間
--limit-rate 限速