linux 工作中常用命令集結地

  1. 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


分享到:


相關文章: