不是web程序員,不過有些東西應該是共通,不需要太高級的,把常用的用好組合好就能覆蓋很多場景。
linux下grep sed awk這三個較爲靈活的命令運用熟練絕對有奇效。
Linux下的三個最實用的命令:
top、vmstat、iostat,這三個一定要認真再認真的喫透,對你的編程生涯幫助是百分之百的。
top是一個可查看系統負荷、任務數、CPU佔用情況、內存使用情況、各個進程的情況等。還可幫助找出佔CPU最多的進程、佔內存最多的進程,
vmstat是一個很全面的性能分析工具,可以觀察到系統的進程狀態、內存使用、虛擬內存使用、磁盤的IO、中斷、上下文切換、CPU使用等。
iostat是一個可以查看進程IO請求下發的數量、系統處理IO請求的耗時,進而分析進程與操作系統的交互過程中IO方面是否存在瓶頸。
用得多的命令的話
1.當剛下載好代碼,如何在沒有IDE加載好的情況下在10個G的代碼裏快速找到函數原型?(比如philippica())
find ./ -name "*.h" -type f | xargs grep -n "philippica()"
2. 編譯安裝一個代碼神煩的就是在打印的一坨信息裏找error,當然方法很多了,可以grep直接搜字符串,也可以把standard error直接存到文件裏:
make app >/dev/null 2> philippica.txt
直接忽略standard output信息,並把error重定向輸出到文本,方便調試
3.自己做簡單的壓力測試的時候,需要得到進程的實時數據,來簡單判斷是否漏內存,cpu使用是否異常,top可以非常方便的記錄,比如下面這個命令,可以監控進程philippica的實時數據並記錄到philippica.txt中
top -b | grep --line-bufferd "philippica" > philippica.txt
4. 這個以前打facebook hackercup或者google code jam 用的,懶得敲文件輸入輸出了,直接開重定向,就可以實現從http://large.in中輸入數據,large.out輸出數據。