Linux中隨手可得的測試、調試、性能檢驗工具
3 151 12
2.diff
逐行比較兩個文件;如果指定的是目錄,則比較目錄下的同名文件。
輸出為:文件1中的行數+格式提示+文件2中的行數,其中格式提示為a、c、d,對應add、change、delete。
diff的退出值有特定含義, 0 表示沒有不同,1 表示找到不同處,2 表示出錯。
常用選項:
-y --side-by-side 以兩列輸出。這時用 |標注二者不同的行,<標注后者比前者少一行,>標注前者比后者少一行。此時還可以加上下面的選項:
-W NUM --width=NUM 輸出最多打印 NUM (默認 130) 列。
--left-column 僅輸出共有行的左側列。
-c -C NUM --context[=NUM] 輸出 NUM (默認 3) 行復制的上下文。兩個文件的全文都會顯示。
-u -U NUM --unified[=NUM] 輸出 NUM (默認 3) 行合并的上下文。兩個文件相同的部分只顯示一次。
-ruN 生成patch文件,格式為diff -ruN file1 file2 >patch.dat,這時使用patch file1 patch.dat就能把file1的內容更新到與file2一致了。
sort、sum、wc同樣可以對文件和輸出按需要進行處理。對于能夠把stdin重定向到文件中的Linux來說,對輸出的處理和對文件的處理是一樣的。
3.sort
按字母序輸出各行。這個命令可以同時處理多個文件。
常用選項:
-u 去除重復行
-r 降序輸出
-n 按數字序排序,(這樣2才不會排到10后面)
-t 按某個分隔符分隔,這時可以用-k指定列數
4.sum
計算文件校驗和以及占用的塊(block)數。校驗和算法和block的大小可以根據選項設定。
5.wc
輸出文件的行數、字(word)數、字節數。如果多于一個文件還將輸出總行數。
常用選項:
-c 輸出字節數
-m 輸出字符數
-l 輸出行數
-w 輸出字(word)數
6.grep
從文本中搜索符合正則表達式的內容并顯示。這里就不提正則表達式是多么的強大了,其規則可以單獨寫成一篇博文,并且很多人已經這么做過了。下面是一些用法啟發,看完之后會讓人覺得,原來這個“搜索”的需求的具體化如此多樣。例子出于《程序設計實踐》:
哪些文件里用到了類Regexp? %grep Regexp *.java
這個類的實現在哪個文件? %grep 'class.*Regexp' *.java
文件中有多少空行? %grep '.' *.c++ |wc
運行時間的統計和測定:time和gprof
如果需要gprof,在gcc時需要增加-pg選項,這時會生成一個gmon.out文件。
代碼查錯:gcc -Wall選項、lint
9.gcc -Wall
其他:strace
來自:http://www.cnblogs.com/wuyuegb2312/archive/2013/06/13/3119163.html