小知識(以ps為例):
檢視命令路徑 which ps
命令幫助 ps --help
命令完全手冊: man ps
說明
ps全稱是:process status (程序狀態),他就是提供程序資訊的。
附知識說明
我們經常見到shell命令有三種型別的引數,最初我還琢磨 單劃線和雙劃線有什麼特殊的含義,原來是乙個版本演變留下的問題。
linux系統中常見的3種命令列引數(以ps為例):
unix型別的引數,前面有一短劃線如:ps -e
bsd型別的引數,前面沒有短劃線 如:ps a
gnu長引數,前面有雙劃線 如:ps --deselect
所以,ps –a 和 ps a查詢結果會不同
常見例項
$ps如圖:解釋:預設情況,ps命令只顯示屬於當前使用者並正在當前終端中執行的程序。預設ps的話,只執行了bash 和 ps
$ps –ef如圖:解釋:
uid 擁有程序的使用者
pid 程序的id
ppid 父程序pid
c 程序存續期的處理利用率
stime 程序啟動時的系統時間
tty 程序所屬的終端
time 執行程序累計cpu時間
cmd 啟動程序的名稱
幫助文件
這回我用的是redhat的--help, 得到ps的help被分為五類:
****** selection 簡易選項
********* ****** selection *********
-a all processes 所有執行緒
-n negate selection 忽略選擇
-a all w/ tty except session leaders 顯示乙個終端的所有程序,除了會話引線
-d all except session leaders 顯示所有程序,但省略所有的會話引線(utility)
-e all processes
t all processes on this terminal
a all w/ tty, including other users
g obsolete -- do not use
r only running processes
x processes w/o controlling ttys
selection by list 列表選項
********* selection by list *********
-c by command name
-g by real group id (supports names)
-u by real user id (supports names)
-g by session or by effective group name
-p by process id
-s processes in the sessions given
-t by tty
-u by effective user id (supports names)
u processes for specified users
t by tty
output format 輸出格式化
*********** output format **********
-o,o user-defined 可以輸入自己的引數
-f full
-j,j job control
s signal
-o,o preloaded
-o v virtual memory
-l,l long
u user-oriented
-f extra full
x registers
long options 長操作型別
*********** long options ***********
--group --user --pid --cols --ppid
--group --user --sid --rows --info
--cumulative --format --deselect
--sort --tty --forest --version
--heading --no-heading --context
misc options 其他選項
********* misc options *********
-v,v show version l list format codes f ascii art forest
-m,m,-l,-t,h threads s children in sum -y change -l format
-m,z security data c true command name -c scheduling class
-w,w wide output n numeric wchan,uid -h process hierarchy
例項(來自man ps)
1. 檢視系統每個程序的標準引數(to see every process on the system using standard syntax)
$ps -e$ps -ef
$ps -ef
$ps –ely
2. 檢視系統每個程序的bsd(系統名)引數(to see every process on the system using bsd syntax)
$ps ax$ps axu
3. 列印程序樹(to print a process tree)
$ps -ejh$ps axjf
4. 列印執行緒的有關資訊
$ps -elf$ps axms
5. 獲取安全資訊
$ps -eo euser,ruser,suser,fuser,f,comm,label$ps axz
$ps –em
6. 要檢視每個程序執行在使用者根目錄(真實的和有效的id)格式
$ps -u root -u root u7. 檢視使用者自定義的格式(to see every process with a user-defined format)
$ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm$ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm
$ps -eopid,tt,user,fname,tmout,f,wchan
8. 僅僅列印系統日誌的程序id(print only the process ids of syslogd)
$ps -c syslogd -opid=
9. 僅僅列印pid=42的name(print only the name of pid 42)
$ps -p 42 -o comm=10. 實用 以(7)為例,按照自定義格式看cpu資訊
$ps -eo comm,pcpu | head附: -0的引數目錄
引數描述
pcpu
cpu佔用率
pid程序id
ppid
父程序id
pmem
記憶體使用率
comm
可執行檔案
cmd簡單命令(****** command)
user
啟動程序的使用者
nice
優先順序(niceness)
time
累計的cpu時間
etime
程序啟動後累計時間
tty當前終端程序
euid
有效使用者id
stat
程序狀態
一天乙個shell命令 好管家 記憶體 free
說明 free 命令顯示系統中剩餘和已用的記憶體資訊 入門例項 free m 解釋 b,k,m,g 顯示的輸出分別是 bytes,kb,mb,or gb free l 幫助檔案 free b k m g l o t s delay c count v 說明 b,k,m,g show output i...
一天乙個shell命令 cut
1.命令簡介 cut根據指定的定界符,切分檔案,並將選中的列輸出到標準輸出。2.用法 cut 選項 檔案 列印輸入行的選中的parts 到標準輸出 3.選項 4.示例 以密碼 etc passwd為例 root xqzt tail n 5 etc passwd nfsnobody x 65534 6...
一天乙個shell命令 文字系列 file
file 官方解釋 determine type of files.判定檔案的型別。小知識 在unix linux系統中,檔案型別並不是由副檔名決定的 windows是的 開篇例子 1.file file.txt 輸出 file.txt ascii english text 注 file.txt是我...