記錄自己在開發Linux程序過程中遇到的一些常見命令
一、ps
1)ps a 顯示現行終端機下的所有程序,包括其他用戶的程序。
2)ps -A 顯示所有程序。
3)ps c 列出程序時,顯示每個程序真正的指令名稱,而不包含路徑,參數或常駐服務的標示。
4)ps -e 此參數的效果和指定"A"參數相同。
5)ps e 列出程序時,顯示每個程序所使用的環境變量。
6)ps f 用ASCII字符顯示樹狀結構,表達程序間的相互關係。
7)ps -H 顯示樹狀結構,表示程序間的相互關係。
8)ps -N 顯示所有的程序,除了執行ps指令終端機下的程序之外。
9)ps s 採用程序信號的格式顯示程序狀況。
10)ps S 列出程序時,包括已中斷的子程序資料。
11)ps -t<終端機編號>
指定終端機編號,並列出屬於該終端機的程序的狀況。
12)ps u
以用戶爲主的格式來顯示程序狀況。
13)ps x
顯示所有程序,不以終端機來區分。
最常用的方法是ps -aux,然後再加一個|grep去查找特定的進程,然後再對特定的進程進行操作,如kill+PID殺死進程。
二、top
top命令是Linux下常用的性能分析工具,能夠實時顯示系統中各個進程的資源佔用狀況。
參數說明:
d:指定每兩次屏幕信息刷新之間的時間間隔。當然用戶可以使用s交互命令來改變之。
p:通過指定監控進程ID來僅僅監控某個進程的狀態。
q:該選項將使top沒有任何延遲的進行刷新。如果調用程序有超級用戶權限,那麼top將以儘可能高的優先級運行。
S:指定累計模式。
s:使top命令在安全模式中運行。這將去除交互命令所帶來的潛在危險。
i:使top不顯示任何閒置或者僵死進程。
c:顯示整個命令行而不只是顯示命令名。
如下命令只監視PID爲2744進程的資源佔用情況:
sukaiwise@ubuntu:~$ top -p 2744
top - 06:25:46 up 16 min, 1 user, load average: 1.00, 1.02, 0.91
Tasks: 1 total, 0 running, 1 sleeping, 0 stopped, 0 zombie
%Cpu(s): 93.6 us, 6.4 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 1007208 total, 64344 free, 512536 used, 430328 buff/cache
KiB Swap: 1046524 total, 891900 free, 154624 used. 277280 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2744 sukaiwi+ 20 0 2492892 87624 36196 S 0.0 8.7 0:01.83 qtcreator
三、vim
可通過 sudo vim 查看和編輯一些當前用戶沒有權限的文件,如系統配置文件。
四、tcpdump
網絡監聽命令,在網絡程序調試時很有用。
格式如:tcpdump -i ens33 -v src host 192.168.40.12 and dst port 2222
代表在網絡設備ens33 監聽源地址是192.168.40.12,目的端口是2222的網絡數據包。條件可通過與或非修飾。
詳細查看:http://blog.chinaunix.net/uid-354915-id-3825192.html
五、tar
創建:tar -cf myApp.tar ./myApp/ 格式是:文件名+文件夾名
解壓:tar -xf myApp.tar