Linux三個命令:ps,grep,tail
本文首發於我的個人部落格 ofollow,noindex">Suixin's Blog
原文: https://suixinblog.cn/2018/10/ps-grep-tail.html 作者: Suixin
這幾天在伺服器上跑Python的幾個程式,因為執行時間較長,所以涉及到後臺執行的問題,順便也深入瞭解了一下Linux的幾個命令。
ps
ps
命令用來顯示當前的程序。是Process Status的縮寫。如果需要動態的顯示程序,可以使用 top
命令。
ps
常用引數
-
-A
,-e
:列出所有的程序; -
aux
:列出所有使用者的詳細程序( 最常用 ); -
u
:指定使用者的程序; -
r
:列出正在執行的程式; -
T
:當前終端的所有程序。
輸出列的含義

image
上圖中的各列分別代表:
- USER:程序擁有者;
- PID:程序的ID;
- %CPU:CPU佔用率;
- %MEM:記憶體佔用率;
- VSE:該程序使用掉的虛擬記憶體量 (Kbytes);
- RSS:該程序佔用的固定的記憶體量 (Kbytes);
- TTY:該程序是在那個終端機上面運作。若與終端機無關,則顯示
?
;tty1-tty6
是本機上面的登入者程式;pts/0
等等則表示為由網路連線進主機的程式; - STAT:該程式目前的狀態。
R S D T Z < N s l +
- START:程序啟動時間和日期;
- TIME:程序使用的總cpu時間;
- COMMAND:正在執行的命令列命令。
grep
grep
命令用於查詢檔案裡符合條件的字串。
使用格式: grep [option] pattern file
grep常用引數
-
i
:忽略大小寫; -
r
:遞迴的查詢( 當查詢一個目錄而不是檔案時必須加上 ); -
v
:反向查詢。顯示不包含匹配文字的行; -
*py
:在file
處可直接指定檔案字尾。
注: pattern
可使用正則表示式。
例子
在當前目錄的字尾為 .py
的檔案中查詢 import

image
/code
中遞迴地查詢
import

image
在當前目錄檔名包含 t
的檔案中查詢不包含 =
的內容

image
tail
用於檢視檔案的內容,有一個常用的引數 -f
常用於查閱正在改變的日誌檔案。
使用格式: tail [parameter] file
tail常用引數
-
-f
:迴圈讀取。對於正在修改的檔案比較有用(如日誌檔案); -
-n
:顯示檔案最後幾行; -
-s
:與-f
合用,表示在每次迴圈間隙幾秒。
組合使用
最經典的用法:使用 Linux
的終端中的 管道符號 |
在程序中查詢,如 ps aux|grep python
;
實現按照程序的CPU佔用率/記憶體佔用率排序: ps aux --sort -pcpu
或 ps aux --sort -pmem
;
只輸出少量資訊(按 enter
檢視更多): ps aux --sort -pcpu|less