! M2 Q0 S u( J& z$ UNovember December - M$ q: ~3 U- c5 N1 X# vSun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat 2 N1 N/ _, m, r2 h306 307 308 309 336 337 . V5 W# Q, h' W' G310 311 312 313 314 315 316 338 339 340 341 342 343 344 $ F; ?1 s+ U N# i: v/ \
317 318 319 320 321 322 323 345 346 347 348 349 350 351 : u! m( s, \3 a" }8 v( l. K324 325 326 327 328 329 330 352 353 354 355 356 357 358 % g. l P8 y, Q9 G2 X
331 332 333 334 335 359 360 361 362 363 364 365 " u5 L4 `# f9 n
366 $ K3 ?( w8 O0 {9 o$ _( A# e7 y9 S
, b$ v3 g0 ^& Z n- Y9 ?& Z
[root@mylinux /root]# 0 z. f+ W F( H' S' ]* s5 b
k/ _+ y" X: b3 j9 i * a9 \: t, ]6 S0 N( A , S @5 a; Y3 I z名称 : crontab + q, z- e j4 d# \使用权限 : 所有使用者 ; o' a* n1 v b: d; w
9 H+ ]; ]3 E+ P. u: i
使用方式 : 9 X* ?3 x0 J6 P9 {' e5 I" J; ]& ~4 m7 p, T0 e# g
crontab [ -u user ] filecrontab [ -u user ] { -l | -r | -e } 5 ^9 e2 M, a" W( r4 [: O
说明 : 2 z+ n. b. T0 j, Z! C9 m9 E
crontab 是用来让使用者在固定时间或固定间隔执行程式之用,换句话说,也就是类似使用者的时程表。-u user 是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设定自己的时程表。 $ u `, ]* f! w) o( K" O5 j3 R' l$ h& b# C
餐数 : e o, q% A8 {7 k6 n+ _ $ A8 Y) L* q, c% Z: U' U4 G-e : 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe) / h3 y) g1 c! u. V/ @5 r5 g: U-r : 删除目前的时程表 8 U, j7 y; B6 [5 I$ X
-l : 列出目前的时程表 8 g( R5 f6 v6 V9 ` z8 b/ `1 M, ]3 j$ I3 Q8 G( D$ l
时程表的格式如下 : 2 h' h& Q! N4 t: I( i- t
f1 f2 f3 f4 f5 program 7 _) G. R x" v7 ?* m- Q + ~3 f+ t* d. B8 C其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程式。 # O/ ~+ S* X" k$ f* n当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程式,其余类推 % K# X6 ?) u1 z: _( n" ~6 Y当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其余类推 : H$ c- G" _7 Z9 _当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其余类推 ; n S2 Y* }8 S5 W0 j当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其余类推 , i) z, G5 Y4 |5 h1 ] , `* {9 j' H) H8 K. j5 @使用者也可以将所有的设定先存放在档案 file 中,用 crontab file 的方式来设定时程表。 ' l! t: _) _; {* ~
例子 : 3 g3 V8 Y) w% e/ V* D: m" Q, x+ ^: U! Q0 j. u3 b. c
每月每天每小时的第 0 分钟执行一次 /bin/ls : , ~0 R8 T' W. n3 I% f% [2 x0 7 * * * /bin/ls ( _+ Q! ^% A! M9 @4 [% ]6 ~. i0 a. N K
在 12 月内, 每天的早上 6 点到 12 点中,每隔 20 分钟执行一次 /usr/bin/backup : 4 E+ ?4 D$ Q+ ~ o% u; J! R0 6-12/3 * 12 * /usr/bin/backup ! N& V! E2 i1 q- b' d 7 f( p; K p( |( y1 |- c( U周一到周五每天下午 5:00 寄一封信给 alex@domain.name : $ F" o+ b% n! Z' K) I1 I# \( `/ r0 17 * * 1-5 mail -s "hi" alex@domain.name < /tmp/maildata 5 w* q. E; _6 @' M8 M' M4 Y
& w7 [+ Y4 r$ ]% R每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分....执行 echo "haha" 4 f( T, }! F8 c: ]+ m+ W# ~
20 0-23/2 * * * echo "haha" 8 ?( g% Y4 g& }3 C& o! Q4 l l( X0 l' C2 [; L
注意 : 1 ?# X! u+ Z$ R2 u$ [2 A* I/ t! I5 N& A# d
当程式在你所指定的时间执行后,系统会寄一封信给你,显示该程式执行的内容,若是你不希望收到这样的信,请在每一行空一格之后加上 > /dev/null 2>&1 即可。 4 E, Q- m/ t$ r5 I/ q" s
6 m# u8 M1 r7 K3 C2 W
名称 : date & m f# a0 C: y @! d) W使用权限 : 所有使用者 9 N/ Z. l, `5 J6 L! N# r+ E. f- V' t$ i, k$ c9 v: V
使用方式 : 8 T* V( r& Z8 V1 P" C3 I; |) U# R. T
5 z1 k7 q# p% m6 ]' A l
date [-u] [-d datestr] [-s datestr] [--utc] [--universal] [--date=datestr] [--set=datestr] [--help] [--version] [+FORMAT] [MMDDhhmm[[CC]YY][.ss]] # P; N! J* y1 J2 G# S1 o- @7 X/ A: H3 z: w& N+ b K: s, Q, R
说明 : $ W! w# y9 }" v( G& E' ` ; b9 Z8 `, V, e8 j% L4 Bdate 可以用来显示或设定系统的日期与时间,在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中可用的标记列表如下 : 4 q* e. [$ R, F' B
6 N+ ]' b3 E4 \% ~
时间方面 : $ [: }" F5 o$ n! E% w9 c# g! S7 Q% T& e. a) z7 s3 E b
% : 印出 % 1 j, Y" v* P- G- f+ m
%n : 下一行 ! D' \, [0 P9 I+ _' e%t : 跳格 6 U) c* Z7 i$ q/ E9 x%H : 小时(00..23) 9 X! Z! z _. ]# _% R
%I : 小时(01..12) ! h* c9 w, ?# z0 p/ [%k : 小时(0..23) 0 E5 E/ j9 C& ~$ o3 X& D
%l : 小时(1..12) - j+ \, G7 r: S8 \- A
%M : 分钟(00..59) 1 _8 |: k# h$ }# y1 t" b" t, q7 r%p : 显示本地 AM 或 PM 5 @* M: [2 V) `; f8 c# G( c: t! N0 G2 e%r : 直接显示时间 (12 小时制,格式为 hh:mm:ss [AP]M) , E$ v3 Z% J7 T3 g# _
%s : 从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数 5 R- f8 u D$ r! f1 W
%S : 秒(00..61) 9 S" \5 M( n. v! |3 I; w9 S. n
%T : 直接显示时间 (24 小时制) 3 L4 j+ B; ]& j4 n6 z* L%X : 相当于 %H:%M:%S , S6 w8 a: X: c
%Z : 显示时区 - ^* R! S) `# L m( i+ @5 M) }; B9 H8 e. d8 Z
日期方面 : ' b" O7 c2 m, K" C: |%a : 星期几 (Sun..Sat) & @; @# d- S6 e9 \! n6 \%A : 星期几 (Sunday..Saturday) * v* e4 f, P! X" P1 X
%b : 月份 (Jan..Dec) # z L3 p: o/ Q%B : 月份 (January..December) : z' n% x' n7 x
%c : 直接显示日期与时间 ! p# M/ o' X4 t5 x) L%d : 日 (01..31) 5 k0 [# f( o+ ?3 j%D : 直接显示日期 (mm/dd/yy) ( o6 P) Q, G6 {' F" _ g0 Q' {%h : 同 %b - y, U2 i# i: l( v
%j : 一年中的第几天 (001..366) : z, p9 {1 ~) C
%m : 月份 (01..12) . H% P% [% v, y9 C2 t%U : 一年中的第几周 (00..53) (以 Sunday 为一周的第一天的情形) 8 }! P/ m7 x( @8 {7 r! I7 G& k%w : 一周中的第几天 (0..6) * l) p$ K" Z) a, H; ~$ y& M%W : 一年中的第几周 (00..53) (以 Monday 为一周的第一天的情形) [# C- \8 p$ S2 ~4 e
%x : 直接显示日期 (mm/dd/yy) 7 _% `" v C+ z5 w* D
%y : 年份的最后两位数字 (00.99) - x, Z6 U$ b+ H
%Y : 完整年份 (0000..9999) 6 I4 m" ?7 `, f6 U: k$ C
, z! Q2 O: ^$ \5 p; B# B
若是不以加号作为开头,则表示要设定时间,而时间格式为 MMDDhhmm[[CC]YY][.ss],其中 MM 为月份,DD 为日,hh 为小时,mm 为分钟,CC 为年份前两位数字,YY 为年份后两位数字,ss 为秒数 7 l% ?( B& C' U1 d- {( L# b q
把计 : . @0 _# x) m" W; h. F( F7 \) D1 l- j8 A+ ^
-d datestr : 显示 datestr 中所设定的时间 (非系统时间) % E" E& Z' s7 A8 H8 w--help : 显示辅助讯息 & O; f9 R8 V; n4 W-s datestr : 将系统时间设为 datestr 中所设定的时间 ! x" K* ] @% V-u : 显示目前的格林威治时间 . L C% k! b$ E, o1 u9 V6 d
--version : 显示版本编号 0 _) \5 j$ x8 V0 j# F, w / h. m4 t$ @ D' D0 Y" z# P例子 : ) } f ^; V3 {* c% t) b) k显示时间后跳行,再显示目前日期 : - v7 O- M4 x. }date +%T%n%D ) B9 J7 x6 ~3 G/ y% Y5 R7 y" v* n+ n( c' B
显示月份与日数 : ; [* e, K4 J) w- c- g1 G$ ?date +%B %d 8 R5 V2 I) [; Y0 t* s2 L' J6 a
# g0 P8 `4 J% Y' a显示日期与设定时间(12:34:56) : ( X; o2 f6 t3 p9 Y
date --date 12:34:56 - h# l" F/ l% C! B. l7 S9 \+ ]. K8 M) V1 K
注意 : 8 @! k* v! c6 B0 Y" n: r3 p1 O- X% Z4 A! z/ w) V. ]
当你不希望出现无意义的 0 时(比如说 1999/03/07),则可以在标记中插入 - 符号,比如说 date +%-H:%-M:%-S 会把时分秒中无意义的 0 给去掉,像是原本的 08:09:04 会变为 8:9:4。另外,只有取得权限者(比如说 root)才能设定系统时间。 ( _: ~3 z# X7 d
5 q/ Z' N7 \/ x6 S7 S
当你以 root 身分更改了系统时间之后,请记得以 clock -w 来将系统时间写入 CMOS 中,这样下次重新开机时系统时间才会持续抱持最新的正确值。 6 d# z) S( [1 T0 W" L* L1 x
+ O1 s: b# R6 v* ]: m
! h+ K' x4 u) h' j! U+ a1 ?
名称 : sleep # `% A9 l' X) k* R
使用权限 : 所有使用者 4 G! m0 g$ z" ?9 ~ |+ v& E5 O6 z0 J1 z! W# k
使用方式 : sleep [--help] [--version] number[smhd] : \9 O- ^' A# K/ B# ~; W% ` * r% S' a% E8 x$ O说明 : sleep 可以用来将目前动作延迟一段时间 c+ z0 G9 S# v5 B$ m% O, ^, X
& t2 t* z; P! d% c参数说明 : 2 k8 t# q+ V* ]4 b# I/ I) `7 r/ q" e ^9 h) y
--help : 显示辅助讯息 . V; j% ? x9 C \) t7 b. ?
--version : 显示版本编号 " c- T! j9 |2 M! e4 ]& S2 Q. L
number : 时间长度,后面可接 s、m、h 或 d 9 m7 E4 E' u0 z. w其中 s 为秒,m 为 分钟,h 为小时,d 为日数 3 b( G, _$ n. o0 X* Z1 `- Q / Y7 g6 p5 a7 a+ \例子 : : A. S( X: p2 p, j显示目前时间后延迟 1 分钟,之后再次显示时间 : ) S6 }9 i# j! ?; zdate;sleep 1m;date 3 g- l2 y6 r6 M! w" ^6 W& E1 p9 F) r. h; ~
6 b. t& L1 ]6 |4 |9 [1 G. F$ N名称: time 7 e, o( w6 o, i s& ?使用权限: 所有使用者 0 K2 T/ w0 x. y8 n4 d6 L x
% E" ?. H1 L, p6 f1 P7 v3 {( M: }
使用方式: time [options] COMMAND [arguments] 4 M! y8 r+ Q6 W* i2 O# C& U1 f; Y$ q$ ^. l) B
说明: time 指令的用途,在于量测特定指令执行时所需消耗的时间及系统资源等资讯。例如 CPU 时间、记忆体、输入输出等等。需要特别注意的是,部分资讯在 Linux 上显示不出来。这是因为在 Linux 上部分资源的分配函式与 time 指令所预设的方式并不相同,以致于 time 指令无法取得这些资料。 # h6 V$ W5 U6 ?0 I# G
7 U' ^' Q3 \5 v/ f4 {1 b把计? 9 c' z5 y9 ?0 S% T( u0 N- P) ]4 U * _0 ^! M2 T. @- d9 Y- p7 k0 S- o-o or --output=FILE 7 {. }) d' r' s- m+ X
设定结果输出档。这个选项会将 time 的输出写入 所指定的档案中。如果档案已经存在,系统将覆写其内容。 - e. p3 G+ [7 j$ N
-a or --append : r1 v+ W/ f; `1 J
配合 -o 使用,会将结果写到档案的末端,而不会覆盖掉原来的内容。 5 W+ @8 K5 R1 X; V& t, f
-f FORMAT or --format=FORMAT ' K; W% b8 \) k- L; e以 FORMAT 字串设定显示方式。当这个选项没有被设定的时候,会用系统预设的格式。不过你可以用环境变数 time 来设定这个格式,如此一来就不必每次登入系统都要设定一次。 3 [# D8 n; Y7 j$ F( Z7 ^. Q一般设定上,你可以用 1 c2 z- c6 j$ x3 Y\t - R0 Y+ e3 M6 G3 w4 n
表示跳栏,或者是用 - u3 u. F6 \, w$ s% q\n ; u8 O) T; L! {8 ^
表示换行。每一项资料要用 % 做为前导。如果要在字串中使用百分比符号,就用 。(学过 C 语言的人大概会觉得很熟悉) 5 k2 s& q1 B. X1 y9 ?+ ntime 指令可以显示的资源有四大项,分别是: 6 O& T; f* Q% |( I, h8 h7 a8 _
5 h1 }8 F% D, s
Time resources , M. E- q" N8 H. X% R
Memory resources ( D" n; Z5 ], q4 B9 U9 W, J8 D
IO resources $ R; ?9 ` Q& g3 _. o
Command info & p* f8 m9 D9 O7 b. B ?
$ n% B5 F% L+ e% g9 Y" D详细的内容如下: 5 s4 ]- s. E4 P3 w# V. Z* A: K& D 2 ]8 U; |3 M4 h; g6 ]8 ]+ e. V2 u `, V+ k% W# a5 M
Time Resources + K" k* Q2 d( UE 执行指令所花费的时间,格式是:[hour]:minute:second。请注意这个数字并不代表实际的 CPU 时间。 ; X6 ^0 o& s* L9 Y3 x2 x
e 执行指令所花费的时间,单位是秒。请注意这个数字并不代表实际的 CPU 时间。 8 @: F# c$ k/ _ A+ k$ z% p' e! r VS 指令执行时在核心模式(kernel mode)所花费的时间,单位是秒。 3 X8 @ \1 v/ n9 [& ^( @) |0 M
U 指令执行时在使用者模式(user mode)所花费的时间,单位是秒。 6 \# v; f+ c) ^3 K0 r
P 执行指令时 CPU 的占用比例。其实这个数字就是核心模式加上使用者模式的 CPU 时间除以总时间。 2 I" z$ M7 w; d& A6 I
9 m: h- v6 Y; N- V: [. N; Q
2 k$ k% r, G6 z# x
Memory Resources 7 b$ F- j+ E( n1 A3 g/ B! V* uM 执行时所占用的实体记忆体的最大值。单位是 KB & N( E/ h0 r; M% P' I. P) u
t 执行时所占用的实体记忆体的平均值,单位是 KB 4 M4 t# W3 K1 U% j, H% d8 g# x1 Y3 jK 执行程序所占用的记忆体总量(stack+data+text)的平均大小,单位是 KB D; D; r4 ?+ N, Z3 f' s! _9 OD 执行程序的自有资料区(unshared data area)的平均大小,单位是 KB $ }2 U! f% e: |& B/ ^( x: _
p 执行程序的自有堆叠(unshared stack)的平均大小,单位是 KB 5 ~# h( {0 r4 R4 D7 W! ?X 执行程序间共享内容(shared text)的平均值,单位是 KB ' R! D+ f) s( f9 O Z
Z 系统记忆体页的大小,单位是 byte。对同一个系统来说这是个常数 6 E4 c1 F' `" ^9 F) h+ _+ n4 M" E& I. T5 ^' H
" ~* U6 H; r% k
IO Resources : W) K3 g4 e) [& |( Y
F 此程序的主要记忆体页错误发生次数。所谓的主要记忆体页错误是指某一记忆体页已经置换到置换档(swap file)中,而且已经分配给其他程序。此时该页的内容必须从置换档里再读出来。 * X: |. b V q, DR 此程序的次要记忆体页错误发生次数。所谓的次要记忆体页错误是指某一记忆体页虽然已经置换到置换档中,但尚未分配给其他程序。此时该页的内容并未被破坏,不必从置换档里读出来 5 m5 S) f0 S; u: I* E
W 此程序被交换到置换档的次数 * K, Z2 \+ S& r7 ]# @) Gc 此程序被强迫中断(像是分配到的 CPU 时间耗尽)的次数 ! |- V- N( J% z7 y4 `w 此程序自愿中断(像是在等待某一个 I/O 执行完毕,像是磁碟读取等等)的次数 : F8 g: B% e3 }- E: A% Q/ B
I 此程序所输入的档案数 7 T& w% F2 @& c$ A. W
O 此程序所输出的档案数 1 |' U D9 o& X; P ]r 此程序所收到的 Socket Message $ w, [3 V# ^1 @& O+ ^& n% O& S
s 此程序所送出的 Socket Message ; X9 h4 ?( U+ m; K8 R J
k 此程序所收到的信号 ( Signal )数量 ! u* J1 h) n X1 w6 b; ~7 r/ Q) ~# M6 u$ g2 b
- ^# S2 A Z' k. @1 m
Command Info , W, }+ H7 t2 ? |- [C 执行时的参数以及指令名称 6 o. i8 P7 ^: l0 a. S" Cx 指令的结束代码 ( Exit Status ) % f' \, Q2 _& V$ i) ] 8 H4 B/ v c% a # z' R% ^9 g N) ]$ T7 z + S( D9 ?2 x) J0 a. T! j. m-p or --portability 4 M" X- l) q3 w1 T这个选项会自动把显示格式设定成为: % o E. M) G |6 d5 x# L
real %e 0 C5 G6 B9 P- E8 x$ [- a
user %U @: Z( W$ L) p0 w( T# Isys %S ) r h, x. d! O$ y$ K( C- g, _这么做的目的是为了与 POSIX 规格相容。 : |3 L9 ~. D3 C4 Y-v or --verbose $ [' U- w$ p* B2 C$ m6 Q$ v6 C这个选项会把所有程式中用到的资源通通列出来,不但如一般英文语句,还有说明。对不想花时间去熟习格式设定或是刚刚开始接触这个指令的人相当有用。 & Q, g! n" E, s: O# e6 a8 y
) U8 Q. o* }+ z! y
范例: " X3 m# T0 \/ ^! O4 P利用下面的指令 - R: _* g8 R, ^4 X0 Ltime -v ps -aux , }2 D7 w: w, @/ x/ K- x$ O$ t : Z' i6 m) m9 e0 A* m) B我们可以获得执行 ps -aux 的结果和所花费的系统资源。如下面所列的资料: & S7 M2 e# K) D% v
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND 3 N3 o% ~ {( C/ w- B% [, A
root 1 0.0 0.4 1096 472 ? S Apr19 0:04 init 5 j8 }1 E# T6 sroot 2 0.0 0.0 0 0 ? SW Apr19 0:00 [kflushd] 4 W" |# |$ N# p' f6 j! i: g
root 3 0.0 0.0 0 0 ? SW Apr19 0:00 [kpiod] 0 @' P# C( k. i
...... , F8 \# a% D6 W N C$ ^4 C9 A- v- Yroot 24269 0.0 1.0 2692 996 pts/3 R 12:16 0:00 ps -aux ! k+ u+ C3 k5 M4 N
+ }/ D+ ^5 n4 S3 t" _* R
Command being timed: "ps -aux" 0 o# o1 k2 [ ]User time (seconds): 0.05 $ _7 B; m6 _, i. q: ]8 RSystem time (seconds): 0.06 3 V- f. l: r6 w# c' E; n8 O
Percent of CPU this job got: 68% 7 l5 B7 g9 k% w2 K8 p, r) f+ @; q
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.16 & C; `( C" l7 {" zAverage shared text size (kbytes): 0 # T1 G. q) G' E. kAverage unshared data size (kbytes): 0 5 \# P8 F* @! Z& m/ b1 B
Average stack size (kbytes): 0 * q4 x+ _! | f6 @ @% O$ q
Average total size (kbytes): 0 + N( A' {& k! ^$ U( X& l' UMaximum resident set size (kbytes): 0 : L/ J: W+ U. \' U
Average resident set size (kbytes): 0 5 O) q' U! y* Q! p- N' D
Major (requiring I/O) page faults: 238 , L2 d/ i3 y1 d8 ^/ @; z/ I+ eMinor (reclaiming a frame) page faults: 46 % q. O# V5 T* s3 x9 ^
Voluntary context switches: 0 2 ?! ^: o' _- Y4 y& E- nInvoluntary context switches: 0 % X4 m( a+ w5 _ ]# dSwaps: 0 1 B$ z+ K9 V' ~4 a: k6 @9 F3 DFile system inputs: 0 4 X+ p# m7 a6 q% w! V8 z, R O+ i, M
File system outputs: 0 6 U7 T- R5 B' b/ @& hSocket messages sent: 0 ( q) e1 b) v' r pSocket messages received: 0 + `4 i) V: \/ K7 _
Signals delivered: 0 5 h" M( a7 Z: u" l( I( w1 E
Page size (bytes): 4096 , t1 u: _9 _7 s( QExit status: 0 6 c, Y5 p$ \8 w
" ?# p& `- j% L' D. T
" S2 Q! B0 x& N) Q- a4 @" T& Z
名称: uptime d5 ^( {: l! A5 ]: N0 d
使用权限: 所有使用者 ! D" M. U6 t* ?# H5 N
使用方式: uptime [-V] + |/ [6 M, x' p. C9 \/ C/ p7 g* x
说明: uptime 提供使用者下面的资讯,不需其他参数: 1 y1 N8 K% |2 f2 y1 ] H% f |3 `6 Q现在的时间 , q5 |8 x& R$ f* T6 B' o1 O系统开机运转到现在经过的时间 5 L: L$ T1 }: A
连线的使用者数量 , {8 T! U7 w% a
最近一分钟,五分钟和十五分钟的系统负载 c, k; U# g) V' _ i+ m参数: -V 显示版本资讯。 9 G- {% A! w# M: K% ]# f, `范例: uptime ( h0 q5 Y# ?9 M8 h7 t! {; S) @
其结果为: 0 S. b# H& n" v% |( @
10:41am up 5 days, 10 min, 1 users, load average: 0.00, 0.00, 1.99 ; {5 h0 x0 }+ ]9 z2 M2 `: p. a X2 a* l# z0 y: c
名称:chfn " P/ K0 [% E# ]+ h# F 2 e. h' \' Z1 T5 E5 k% X$ m使用权限:所有使用者 : N: ~+ r9 @. Y7 ^4 D6 c& c8 o
, x: _$ k/ V6 g- X+ g8 \用法:shell>> chfn / J% h) j0 |) `3 Q
: G, L& F7 K2 }0 Y3 X
说明:提供使用者更改个人资讯,用于 finger and mail username # c6 s0 X: e3 o c6 _
# K0 C, G0 K! j. J" @4 C范例: ! i3 Y) I% ?8 E8 }& R4 s4 O
' {4 \. q2 k. ~ O
shell>> chfn 2 w' Q4 J0 ?3 u* W: I8 y* `' Q( kChanging finger information for user : c ^9 O/ ^& Q) wPassword: [del] # G! k* O) q) R# T4 i/ pName[]:Johnney Huang ### 提供 finger 时的资料 7 f5 m/ X/ z% F$ {
Office[]:NCCU 2 J8 ?2 ?( H1 E; J2 E( [Office Phone[]: [del] 1 w9 W( \: \* o) J) }9 F/ X' KHome Phone[]: [del] 3 y/ X+ l/ v1 E$ l% m8 E$ F : w& d. y( @: Q; J# X6 H% O% e! |6 j6 I) P
名称:chsh $ } @- H+ H6 n1 R & ^3 [/ x4 p. h, m' S使用权限:所有使用者 1 }3 q# i0 x& f4 H" h h$ B6 n" C& k4 N' V9 X4 _用法:shell>> chsh 2 r: d; I5 d9 `6 W) n
! S |# C# Q5 y" G, ~) b- j+ B& W
说明:更改使用者 shell 设定 / u3 O- _* G, N
/ z& M: @# f- i范例: , y$ Z8 e; Y9 j/ s4 u6 Q l, U
7 N3 H, ^( d1 H& v9 d1 @, U1 ^/ O
shell>> chsh . s V, y# F& N; g' M
Changing fihanging shell for user1 9 q! d# c* `% n k! _
Password: [del] 4 B# |, i; B O3 E
New shell [/bin/tcsh]: ### [是目前使用的 shell] $ W4 p' ^# r9 l3 `* w8 n1 O[del] " q2 T6 G) Y! U
: y7 }3 G% L, A1 D) V1 w, Z
shell>> chsh -l ### 展示 /etc/shells 档案内容 9 A! p a) y \+ Z- t/bin/bash 8 Y3 R! `& P" B- h" s E( h
/bin/sh o+ C) n1 j- o3 \% P: x" J0 z/bin/ash 2 h0 t" L. u$ x7 K9 l
/bin/bsh " S7 {! `& J+ \# w/bin/tcsh 3 \3 D( c* M" I3 x( @1 E1 r
/bin/csh + e! i/ n9 j7 G* D
; B8 U7 P2 N: [# }, J% D
8 Y: H3 Z6 U1 p* ?8 f( q, y3 ~ \" finger [返回] 4 g( |, |" {% k* R5 ]% }名称: finger ; C7 K9 T# N2 o' o* B, m使用权限: 所有使用者 $ V5 o9 v6 o% j. U$ }1 E7 ^2 z' P
5 F6 q2 P6 ~) m
使用方式: finger [options] user[@address] W1 F; G6 B- | h; u6 u8 t ! S) H# I6 y) P+ T o说明:finger 可以让使用者查询一些其他使用者的资料。会列出来的资料有: ; ]. l, F- g- V$ X" I! Z" G. W( g- m6 |8 k h
Login Name * _% Q2 d/ m7 IUser Name 2 s6 e. u8 v) y
Home directory - O3 `5 C& c$ j! o
Shell $ x) t# |0 s# `$ }Login status * I7 }* D8 s7 c9 b vmail status 2 W# L. |; x, z8 _9 J
.plan ! O/ D7 s( E- R( G; r.project ! G( P2 Z4 d3 h( M0 T.forward - ~& E8 `. o u3 v
$ ]& t$ o9 s, q+ O C
其中 .plan ,.project 和 .forward 就是使用者在他的 Home Directory 里的 .plan , .project 和 .forward 等档案里的资料。如果没有就没有。finger 指令并不限定于在同一伺服器上查询,也可以寻找某一个远端伺服器上的使用者。只要给一个像是 E-mail address 一般的地址即可。 4 K- r5 {" Z# V/ X4 P0 ]! ?
把计? . Q" e1 x! e& h8 L
& T! A; r) b2 A0 v" o
-l / _( O5 P* ]6 N3 N# R" |) A5 }, v多行显示。 ( D% V E3 s7 v( K
. U7 g4 ?' X- f; a- J5 l9 i# z-s : U" V" q) }0 k! P: v, Z$ M; }
单行显示。这个选项只显示登入名称,真实姓名,终端机名称,闲置时间,登入时间,办公室号码及电话号码。如果所查询的使用者是远端伺服器的使用者,这个选项无效。 ) F9 c. u( {) S
: }, Q! |* o7 `2 X: ^1 \ |( J范例:下列指令可以查询本机管理员的资料: 1 V. u* `' w5 F- p7 l' k) o4 Z
finger root ; H; v; N8 Q! k, T6 _3 @: i( A" `) w" ]1 z1 e0 _; k0 A, F
其结果如下: 5 E- s# s/ o$ A3 ^4 ]3 U5 t) x: O
Login: root Name: root ( j! q* o0 _& |! }, I7 Z* QDirectory: /root Shell: /bin/bash ) C( J9 ~, w- L- s9 d, s% LNever logged in. 0 u0 `0 i- r5 y* s2 z8 i
No mail. ; V4 F' y4 F' s- INo Plan. # r0 R+ s2 i% K5 O 8 b8 a4 j6 I- P' |1 z& N/ k! f% M5 C$ v
% P& d9 b( a8 V' r3 D: b
名称:last . }% N+ S4 o$ B
! m8 X c2 F. R ]. a4 y
使用权限:所有使用者 $ h& X- I, k7 |( a* q
, S' z2 a4 y7 ~& {3 ^" ^
使用方式:shell>> last [options] , S& P- P }( |: y" a2 g " R7 D; f0 G+ g: P* z" L3 w说明:显示系统开机以来获是从每月初登入者的讯息 8 W% _& u9 @4 d0 B9 Q" d* {3 M; h" l' [( d4 `5 W0 Z
把计? - Y$ o$ z: Q. Q" i& M1 x2 W' @3 A% }" q# X3 Q$ g
-R 省略 hostname 的栏位 & N( @7 U7 Y6 W; D% N' L
-num 展示前 num 个 + r! q' T7 ~8 B/ Fusername 展示 username 的登入讯息 & f4 x0 W( O5 }# }$ j/ Mtty 限制登入讯息包含终端机代号 2 {& _7 q1 G: t; R% M5 z/ v. Q5 A3 `, O, M4 j& a O3 D
范例: - B7 m& n/ C3 f+ J# d- \
0 `- Q) V/ m) b+ Y; {
shell>> last -R -2 7 `# A+ B; f8 N' ^johnney pts/1 Mon Aug 14 20:42 still logged in $ a% K: ^% E. Q- _, M- xjohnney pts/0 Mon Aug 14 19:59 still logged in ' |1 i/ o$ J( L+ @. l) V- Y2 l
; F; V/ I7 Y! @; G, `0 M; V& f
wtmp begins Tue Aug 1 09:01:10 2000 ### /var/log/wtmp / G5 f/ q9 q# ]& `
& c0 E) L) L4 U- S: L$ E" L把计? `/ g! z% p/ e/ ^' l; i7 P9 P
% h- j8 @ w9 w6 P
-n adjustment, -adjustment, --adjustment=adjustment 皆为将该原有优先序的增加 adjustment 8 l5 p7 |% L3 Z, z+ m; d! P( {: C
--help 显示求助讯息 & z2 O) M9 v( ]8 |$ q% i$ U4 i--version 显示版本资讯 / ^$ s$ a4 ~4 o4 l# g
范例: . k) O9 |. O$ a H* M将 ls 的优先序加 1 并执行 : 4 D2 M1 H) T( n3 P* qnice -n 1 ls 2 h. v- D H8 G. l$ p E% X0 f+ b% S4 Q
将 ls 的优先序加 10 并执行 : # l1 Y, r7 D8 P: q9 dnice ls将 ls 的优先序加 10 并执行 u& n3 m# V& S0 L% \* q6 ?' T& `2 H
; a+ {3 ?2 K! O1 S' g/ x9 n6 |$ D& k) c注意 : 优先序 (priority) 为作业系统用来决定 CPU 分配的参数,Linux 使用『回合制(round-robin)』的演算法来做 CPU 排程,优先序越高,所可能获得的 CPU时间就越多。 [8 T. I |0 ~! v: A D6 d8 F1 B- J: T( t