-mount, -xdev : 只檢查和指定目錄在同一個檔案系統下的檔案,避免列出其他檔案系統中的檔案
-amin n : 在過去 n 分鐘內被讀取過
-anewer file : 比檔案 file 更晚被讀取過的檔案
-atime n : 在過去 n 天過讀取過的檔案
-cmin n : 在過去 n 分鐘內被修改過
-cnewer file :比檔案 file 更新的檔案
-ctime n : 在過去 n 天過修改過的檔案
-empty : 空的檔案-gid n or -group name : gid 是 n 或是 group 名稱是 name
-ipath p, -path p : 路徑名稱符合 p 的檔案,ipath 會忽略大小寫
-name name, -iname name : 檔案名稱符合 name 的檔案。iname 會忽略大小寫
-size n : 檔案大小 是 n 單位,b 代表 512 位元組的區塊,c 表示字元數,k 表示 kilo bytes,w 是二個位元組。-type c : 檔案類型是 c 的檔案。
d: 目錄
c: 字型裝置檔案
b: 區塊裝置檔案
p: 具名貯列
f: 一般檔案
l: 符號連結
s: socket
-pid n : process id 是 n 的檔案
參數:
a 改變檔案的讀取時間記錄。
m 改變檔案的修改時間記錄。
c 假如目的檔案不存在,不會建立新的檔案。與 --no-create 的效果一樣。
f 不使用,是爲了與其他 unix 系統的相容性而保留。
r 使用參考檔的時間記錄,與 --file 的效果一樣。
d 設定時間與日期,可以使用各種不同的格式。
t 設定檔案的時間記錄,格式與 date 指令相同。
--no-create 不會建立新檔案。
--help 列出指令格式。
--version 列出版本訊息。
其中 f1 是表示分鐘,f2 表示小時,f3 表示一個月份中的第幾日,f4 表示月份,f5 表示一個星期中的第幾天。program 表示要執行的程式。
當 f1 爲 * 時表示每分鐘都要執行 program,f2 爲 * 時表示每小時都要執行程式,其餘類推
當 f1 爲 a-b 時表示從第 a 分鐘到第 b 分鐘這段時間內要執行,f2 爲 a-b 時表示從第 a 到第 b 小時都要執行,其餘類推
當 f1 爲 */n 時表示每 n 分鐘個時間間隔執行一次,f2 爲 */n 表示每 n 小時個時間間隔執行一次,其餘類推
當 f1 爲 a, b, c,... 時表示第 a, b, c,... 分鐘要執行,f2 爲 a, b, c,... 時表示第 a, b, c...個小時要執行,其餘類推
--help : 顯示輔助訊息
--version : 顯示版本編號
number : 時間長度,後面可接 s、m、h 或 d
其中 s 爲秒,m 爲 分鐘,h 爲小時,d 爲日數
例子 :
顯示目前時間後延遲 1 分鐘,之後再次顯示時間 :
date;sleep 1m;date
名稱: time
使用權限: 所有使用者
使用方式: time [options] COMMAND [arguments]
說明: time 指令的用途,在於量測特定指令執行時所需消耗的時間及系統資源等資訊。例如 CPU 時間、記憶體、輸入輸出等等。需要特別注意的是,部分資訊在 Linux 上顯示不出來。這是因爲在 Linux 上部分資源的分配函式與 time 指令所預設的方式並不相同,以致於 time 指令無法取得這些資料。
把計
-o or --output=FILE
設定結果輸出檔。這個選項會將 time 的輸出寫入 所指定的檔案中。如果檔案已經存在,系統將覆寫其內容。
-a or --append
配合 -o 使用,會將結果寫到檔案的末端,而不會覆蓋掉原來的內容。
-f FORMAT or --format=FORMAT
以 FORMAT 字串設定顯示方式。當這個選項沒有被設定的時候,會用系統預設的格式。不過你可以用環境變數 time 來設定這個格式,如此一來就不必每次登入系統都要設定一次。
一般設定上,你可以用
\t
表示跳欄,或者是用
\n
表示換行。每一項資料要用 % 做爲前導。如果要在字串中使用百分比符號,就用 。(學過 C 語言的人大概會覺得很熟悉)
time 指令可以顯示的資源有四大項,分別是:
Time resources
Memory resources
IO resources
Command info
詳細的內容如下:
Time Resources
E 執行指令所花費的時間,格式是:[hour]:minute:second。請注意這個數位並不代表實際的 CPU 時間。
e 執行指令所花費的時間,單位是秒。請注意這個數位並不代表實際的 CPU 時間。
S 指令執行時在核心模式(kernel mode)所花費的時間,單位是秒。
U 指令執行時在使用者模式(user mode)所花費的時間,單位是秒。
P 執行指令時 CPU 的佔用比例。其實這個數位就是核心模式加上使用者模式的 CPU 時間除以總時間。
Memory Resources
M 執行時所佔用的實體記憶體的最大值。單位是 KB
t 執行時所佔用的實體記憶體的平均值,單位是 KB
K 執行程式所佔用的記憶體總量(stack+data+text)的平均大小,單位是 KB
D 執行程式的自有資料區(unshared data area)的平均大小,單位是 KB
p 執行程式的自有堆疊(unshared stack)的平均大小,單位是 KB
X 執行程式間共用內容(shared text)的平均值,單位是 KB
Z 系統記憶體頁的大小,單位是 byte。對同一個系統來說這是個常數
IO Resources
F 此程式的主要記憶體頁錯誤發生次數。所謂的主要記憶體頁錯誤是指某一記憶體頁已經置換到置換檔(swap file)中,而且已經分配給其他程式。此時該頁的內容必須從置換檔裏再讀出來。
R 此程式的次要記憶體頁錯誤發生次數。所謂的次要記憶體頁錯誤是指某一記憶體頁雖然已經置換到置換檔中,但尚未分配給其他程式。此時該頁的內容並未被破壞,不必從置換檔裏讀出來
W 此程式被交換到置換檔的次數
c 此程式被強迫中斷(像是分配到的 CPU 時間耗盡)的次數
w 此程式自願中斷(像是在等待某一個 I/O 執行完畢,像是磁碟讀取等等)的次數
I 此程式所輸入的檔案數
O 此程式所輸出的檔案數
r 此程式所收到的 Socket Message
s 此程式所送出的 Socket Message
k 此程式所收到的信號 ( Signal )數量
Command Info
C 執行時的參數以及指令名稱
x 指令的結束代碼 ( Exit Status )
-p or --portability
這個選項會自動把顯示格式設定成爲:
real %e
user %U
sys %S
這麽做的目的是爲了與 POSIX 規格相容。
-v or --verbose
這個選項會把所有程式中用到的資源通通列出來,不但如一般英文語句,還有說明。對不想花時間去熟習格式設定或是剛剛開始接觸這個指令的人相當有用。
Command being timed: "ps -aux"
User time (seconds): 0.05
System time (seconds): 0.06
Percent of CPU this job got: 68%
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.16
Average shared text size (kbytes): 0
Average unshared data size (kbytes): 0
Average stack size (kbytes): 0
Average total size (kbytes): 0
Maximum resident set size (kbytes): 0
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 238
Minor (reclaiming a frame) page faults: 46
Voluntary context switches: 0
Involuntary context switches: 0
Swaps: 0
File system inputs: 0
File system outputs: 0
Socket messages sent: 0
Socket messages received: 0
Signals delivered: 0
Page size (bytes): 4096
Exit status: 0
-p pid 重新指定行程的 id 爲 pid 的行程的優先序
-g pgrp 重新指定行程群組(process group)的 id 爲 pgrp 的行程 (一個或多個) 的優先序
-u user 重新指定行程擁有者爲 user 的行程的優先序
範例:
將行程 id 爲 987 及 32 的行程與行程擁有者爲 daemon 及 root 的優先序號碼加 1 :
renice +1 987 -u daemon root -p 32
注意 : 每一個行程(Process)都有一個唯一的 (unique) id
名稱:top
使用權限:所有使用者
使用方式:top [-] [d delay] [q] [c] [S] [s] [n]
說明:即時顯示 process 的動態
把計
d : 改變顯示的更新速度,或是在交談式指令列( interactive command)按 s
q : 沒有任何延遲的顯示速度,如果使用者是有 superuser 的許可權,則 top 將會以最高的優先序執行
c : 切換顯示模式,共有兩種模式,一是只顯示執行檔的名稱,另一種是顯示完整的路徑與名稱S : 累積模式,會將己完成或消失的子行程 ( dead child process ) 的 CPU time 累積起來
s : 安全模式,將交談式指令取消, 避免潛在的危機
i : 不顯示任何閒置 (idle) 或無用 (zombie) 的行程
n : 更新的次數,完成後將會退出 top
b : 批次檔模式,搭配 "n" 參數一起使用,可以用來將 top 的結果輸出到檔案內
範例:
顯示更新十次後退出 ;
top -n 10
使用者將不能利用交談式指令來對行程下命令 :
top -s
將更新顯示二次的結果輸入到名稱爲 top.log 的檔案裏 :
top -n 2 -b < top.log
名稱:skill
使用權限:所有使用者
使用方式: skill [signal to send] [options] 選擇程式的規則
說明:
送個訊號給正在執行的程式,預設的訊息爲 TERM (中斷) , 較常使用的訊息爲 HUP , INT , KILL , STOP , CONT ,和 0
參數:
c 輸出結果至標準輸出設備(一般指熒幕)
f 強迫寫入檔案,若目的檔已經存在,則會被覆蓋 (force)
v 將程式執行的訊息印在熒幕上 (verbose)
b 設定共同字串數的上限,以位元計算,可以設定的值爲 9 至 16 bits 。由於值越大,能使用的共同字串就 越多,壓縮比例就越大,所以一般使用預設值 16 bits (bits)
d 將壓縮檔解壓縮
V 列出版本訊息