shell和查找文件的一些操作
shell的操作
編輯命令
Ctrl + a :移到命令行首
Ctrl + e :移到命令行尾
Ctrl + f :按字符前移(右向)
Ctrl + b :按字符后移(左向)
Alt + f :按單詞前移(右向)
Alt + b :按單詞后移(左向)
Ctrl + xx:在命令行首和光標(biāo)之間移動
Ctrl + u :從光標(biāo)處刪除至命令行首
Ctrl + k :從光標(biāo)處刪除至命令行尾
Ctrl + w :從光標(biāo)處刪除至字首(單個單詞刪除)
Alt + d :從光標(biāo)處刪除至字尾
Ctrl + d :刪除光標(biāo)處的字符
Ctrl + h :刪除光標(biāo)前的字符
Ctrl + y :粘貼至光標(biāo)后
Alt + c :從光標(biāo)處更改為首字母大寫的單詞
Alt + u :從光標(biāo)處更改為全部大寫的單詞
Alt + l :從光標(biāo)處更改為全部小寫的單詞
Ctrl + t :交換光標(biāo)處和之前的字符
Alt + t :交換光標(biāo)處和之前的單詞
Alt + Backspace:與 Ctrl + w 相同類似,分隔符有些差別
Esc+B 退后一個單詞
esc + f 前進(jìn)一個單詞
重新執(zhí)行命令
Ctrl + r:逆向搜索命令歷史
Ctrl + g:從歷史搜索模式退出
Ctrl + p:歷史中的上一條命令
Ctrl + n:歷史中的下一條命令
Alt + .:使用上一條命令的最后一個參數(shù)
控制命令
Ctrl + l:清屏
Ctrl + o:執(zhí)行當(dāng)前命令,并選擇上一條命令
Ctrl + s:阻止屏幕輸出
Ctrl + q:允許屏幕輸出
Ctrl + c:終止命令
Ctrl + z:掛起命令
查找文件操作
快速kill服務(wù)進(jìn)程
ps axu | grep "crontab.php --controller=cky" | awk '{print $2}' | xargs sudo kill -9
同上 ps axu | grep "new_packing_tool_api/crontab.php" | awk '{print $2}' | xargs sudo kill -9
ps axu | grep "crontab.php --controller=UploadMlrTask" | awk '{print $2}'
ps -ef | grep cky | grep -v grep | awk {'print $2}' | xargs kill -9
grep 查找含有某字符串的所有文件
grep -rn "hello,world!"
* : 表示當(dāng)前目錄所有文件,也可以是某個文件名
-r 是遞歸查找
-n 是顯示行號
-R 查找所有文件包含子目錄
-i 忽略大小寫
指定文件
grep -rn "110" 1.log
grep 如何顯示一個文件的某幾行:
cat cron | tail -n +100 | tail -n 200
對/etc/passwd 查看所有的用戶
cat /etc/passwd | awk -F ':' '{print $1}'
//awk -F指定域分隔符為':',將記錄按指定的域分隔符劃分域,填充域,?$0則表示所有域,$1表示第一個域,?$n表示第n個域。
對 /var/log/secure 進(jìn)行分析
1、定位有多少IP在爆破主機的root帳號:
grep "Failed password for root" /var/log/secure | awk -F " " '{print $11}' | wc -l
1、定位有多少IP在爆破主機的root帳號:
grep "Failed password for root" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more
定位有哪些IP在爆破:
grep "Failed password" /var/log/secure|grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"|uniq -c
爆破用戶名字典是什么?
grep "Failed password" /var/log/secure|perl -e 'while($_=<>){ /for(.*?) from/; print "$1\n";}'|uniq -c|sort -nr
2、登錄成功的IP有哪些:
grep "Accepted " /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more
登錄成功的日期、用戶名、IP:
grep "Accepted " /var/log/secure | awk '{print $1,$2,$3,$9,$11}'
其他
grep Y01015 /opt/log/python/api_info.log | tail -n 2 | sdk_email # 拿包里的accesstoken什么的調(diào)試
grep Y0201 /opt/log/nginx/access.log | tail -n 2 # 看請求nginx參數(shù),可以拿模擬登錄
grep /opt/log/python/p_api_info.log | tail -n 2 # 先看請求有沒有到
grep 20220309xxxx25 http_request.log | tail -n 2 # 查看發(fā)貨是否成功,如果不成功,應(yīng)該是回調(diào)地址沒配

浙公網(wǎng)安備 33010602011771號