- find
如何查找幾分鐘前修改的文件
find ./ -cmin 5
2. 如何顯示進程樹
ps axjf
3. 如何顯示線程樹
ps -eLf
或者
top -Hp pid 看指定進程的線程情況
4. 如何查看進程的地址映射
pmap -x pid
5. 跟蹤進程系統調用
strace -p pid -f -tt -o output.txt
6. 查看進程打開了哪些文件(socket)
lsof -p pid
查看端口被哪個進程佔用了
lsof -i :80
查看文件被哪個進程打開了
lsof 文件名
7. 查看內核內存使用情況
slabtop
8.對比文件不同 可讀性比diff好
vim -d file1 file2
9. 兩個文件內容安行並排顯示
sdiff file1 file2
10. server之間文件傳輸
在發送端執行比如吧test.txt文件傳到對端
tar -cvzf - test.txt |nc -l 30096
在需要接受的server上
nc ip(發送端ip) 30096 |tar -xvzf -
當然rsync scp sftp 也都是可以的只是沒有nc方便
11. 文件切割
split -l 1000 test.txt
12. 表示1000行每個子文件
13. tail 文件時用-F 參數可以保證log日誌切換時自動重試
14. 查看進程函數性能熱點,可以定位哪些函數調用耗cpu,耗內存等
perf top -p pid
15. 如何讓一個命令隔一定的時間執行一次
watch -n 'ls -l'
16. 如何在當前命令行輸入時使用vi 操作方法
先執行set -o vi
然後在輸入命令時可以按esc 然後就可 hjkl,進行移動,x刪除等vi的操作方式。估計0這個 鍵會經常用到(回到行首),你還會用HOME鍵麼,考慮不要方向鍵的時候到了。加到.bash之後以後就自由了
17. 查看文件md5
md5sum test.txt
18. 查看系統網絡端口使用情況
netstat -anp 這個有點慢(在鏈接比較多的情況下)
ss -an 速度刷刷的,注意如果帶-p參數的話也會比較慢
19. 查看各個cpu 最後執行的的進程的方法:
top 然後選擇f,進去之後找到cpu 選項,空格選中然後再按ESC退出,就可以看到多出一 列cpu,方便定位各個cpu最後執行的進程
20. 查看線程的調用堆棧:
pstack tid(線程id通過top -Hp 可以看到,另外如果是pstack pid 那麼會將該進程下的所有線程的堆棧都打印出來。
或者是cat /proc/tid/stack
21 如何利用linux sar 的文件查看最近一個月的網卡流量?
答案就是利用/var/log/sa/sa* 這些文件來查看歷史的網卡流量。文件saxx 後面的xx是具體的日期,比如sa01,對應的就是某個月的1號,具體是哪個月,直接ll看下文件的創建時間就可以確定了。然後通過下面的命令就可以看到該文件中記錄1號這一天的網卡入包數、出包數、字節數,注意該文件是的統計數據是10分鐘一個點。
$sar -n DEV -f /var/log/sa/sa01
閱讀更多 後臺開發深度探索 的文章