数学建模社区-数学中国

标题: SCOUNIX基础讲座 [打印本页]

作者: huashi3483    时间: 2004-9-27 15:14
标题: SCOUNIX基础讲座
<>第一讲:存取权限与文件</P>
  i8 s' L# H. a9 `. V' s<>UNIX向来是强劲的作业系统,屹立多年不倒,但是,对一般使用
2 E8 \" h. Z5 M) e个人电脑的用户来说,确是比较陌生,有见及此,编辑部选择了6 R# u4 ~4 t; T. C6 j8 f! M
在个人电上也可运行自如,毋须庞大的Mainframe或甚麽大机器的5 x' a9 l* V4 S/ D( Z" H! s
SCU UNIX,介绍给大家,让各位对另一广阔无限的作业领域探首
; Z! j1 o7 H) Z) ~+ l* |一下,也许玩起Internet时,会有另一番天地,别错过这一连十) b3 A+ D1 m. i1 g1 M. \* `: N% q
二期的「UNIX自学篇」了。; X2 X8 J& ~+ t" ~1 i

7 ]: F0 o. |/ W, e2 p* Y! c可能有些人会误以为UNIX只是那些功能强劲的庞然大机方会使用6 q: z% x8 ^1 {% K1 t
的作业系统,谁不知道在个人电脑上,一样可以使用,只不过所
8 L' c9 x! i# [% d使用的是特别为个人电脑设计的PC UNIX,SCO UNIX就是其
- U) K" g2 U; s, ?中的表表者。$ ^. D2 `% A$ A) r% f8 F  Z. j

; ~+ \" W6 |& X  r+ N4 E% }/ L对於惯用DOS或视窗环境的朋友来说,UNIX的第一重关卡就是那4 j* @0 F! N( Q0 H4 [, H6 B: h
些「敏感标号」(Sensitive Case),字母的大小写俱有不同的
! b; _! C0 V1 \. f% u2 Q/ g, r意思,Ls、IS、LS或Is这些指令全不相同,所谓「差之毫□,谬( @7 J. S" }# F4 X! |4 b
之千里」,它对大小写可是绝对敏感的。
) i7 L6 Z' f" P: \% f. j/ ]7 V. I: d. K7 t$ q( U  j3 E
文件名称8 U5 Y. p3 S, J6 J  P! T% C

8 T) Z. X+ i' _3 w, ^% m0 r+ }在SCO UNIX下,建立的文件档案名称,可以是包含最多十四个. h+ V) f" w9 W7 U) `& {. H( Q0 t6 N! m
字母数字字符的任意组合,既可使用下横「□」,也可使用句号
7 p: }3 H* k; x+ h「。」。/ g" W  C" n1 _( n& p3 l
, d1 \: c5 n3 t& _& d' F
不过,文件名称却不能使用某些特定字符,因为它们对Shell来说
) ]$ O( W, @2 A, R" E# i: [+ C有特定意义。这些不能用作文件名的字符,分别是「;」「|」、& F7 a5 m0 [! A1 g
「〈」、「〉」、「’」「$」、「!」 、「%」、「(」和「
3 C+ E( ~- W; C6 M)」,而文件名称中也不能含有空白空格等。! j: Z- M" e# _4 n: d

1 Q& Q' |7 c% Q8 M+ B& S文件存取权9 ~" h4 V& S  s8 {4 ^, p) Z- D

( {7 r2 O* H$ M7 Z. F8 _( d' N每个文件都可以拥有不同的存取权限,界定其它用户能否存取文* Q, ^) M2 E4 o. E' j
件和目录。9 g0 y2 E$ W; h6 y5 U

; v8 Z8 i' x' r# q每个文件分为三类所有权:文件的属性、属主所在小组的成员(6 \2 p1 \1 J2 k) S4 \
即组员),可存取系统的其它用户。用「|」的指令,就可以查
# m' W" a: t( c& K2 Q看文件的权限。
& I% q! |2 @5 ]7 W8 z( z, J) g* h  v( M. I
drwxrwx…+ Y. E; P3 S; I+ l4 ?
# H9 I  s$ o; _  P0 e; Y
好像上列的文件存取权限,第一个符号指示文件类型,减号为普
& O( x$ P- x) m通文件,d则表示目录文件。接著的九个字符分成三组,分别表2 u( k) m+ @) A6 M# C
示属主、组员和其它用户的存取权;每组有三种存取权:「代表: l1 f3 P: Z0 [% U2 E+ M6 s. P; |. G
读(Read)、w代表写(Write)和x代表执行(Execute)。而没  B* ~- H$ c7 k8 [6 ~
有存取权的相应位置则会出现减号(-)代替。
, \7 b' _  D+ ^1 o) d
) x3 C  M1 _- ~& {( `目录存取权
: k% m; z, [! M7 u  K. n7 A
1 Z$ Z6 q) K2 j2 Y$ B7 [基本上,文件与目录之间的存取权的设置大致一样,但仍有些微) ?: o! {/ j7 E+ G+ @& C+ w
分别。
5 P# W: W; f1 \9 M5 b
" b  ~0 {, x+ B# N5 v, @首先,要查看目录的存取权限,就要在「|」之後,加一个空白" B( F6 b6 U" s- k
处,再加上「-d」。如果要改变当前目录,则用「cd」。1 q% b: K* u/ D2 L

& q' N8 Y) U1 B) i改变存取权限: s& V% h7 h+ E% l" h

& |7 \) r1 Y% X* n& A  Q# b; U' }$ x要加文件或目录的存取权限,可用「chmod」的指令,例子如下:
' R+ I2 ^3 H  N3 R) v$chmod g+rw filename
: N* u/ O7 T9 }2 F6 q6 v2 ?4 s
$ c7 B3 I; D- c$ @, |- Eg代表更改组员可以享有的存取权限,+rw就是让组员可以读与写
3 M6 D5 l/ B& j  w2 f该文件。而u则代表文件的属性,o代表其它用户;减号(-)则+ b6 j9 i" {$ i  B
代表取消某类人的某些存取权限。
$ e, L( B/ a! J9 g: _/ [& s1 r4 K1 H
另一种更改权限的方法,就是使用八进制的数值指定存取权。每( r6 w) q$ l" @8 ~
个符号赋与一个数值,r是4,w是2和x是1。例如组合读与写,其
' d- p3 U3 w2 ~$ g! V9 ?+ x存取权的数值就是6。又譬如欲使文件对文件属主、组员和其它用( o: z! p& o  M; v& m4 v4 E& L
户均具读写权,指令如下:' K% w" Z8 ?; f0 t
$chmod 666 filename
* C" s/ w+ R; r4 a" S; K0 ?
. S4 N& v5 I9 O6 p# n; D9 U4 c$ D更改用户属主+ w4 ]& C5 J. n
6 n7 V- m8 b0 J) {' `: T* V
每当创建新档案与目录时,标记你是属主,你的同组人员为组员,+ i" S3 Y& u" f8 W! Z$ y1 {
如果要把文件的使用权交给别人,只有属主方可更改,指令如下:
8 F( v: d( R( \/ d7 ]! f$chown owner file6 e' r% V% J5 _8 I, c9 B8 G+ j+ }
" g5 \6 m' {: l6 A: W
chown改变了文件的身分ID (UID)$ X& k0 p' f) c) g/ ~' o& O2 s

" o4 V8 g; Z! n改变属组要改变文件所属的组别--文件组ID(GID),指令变
5 q2 L4 o9 T7 |* k: s/ U- G为:
! B) j' G" }$ J5 s$chgrp group file
- z8 Q& X  V% N6 ~4 M8 |
- d, ^4 }5 ~2 _* S3 ?. P浏览文件内容: E  V2 ]( m9 k# [$ g9 P/ I6 t
! F- ?3 l+ B. ~% X7 u- k; u
需要求助,可按?键。至於,浏览文件内容有几种方法,可使用* h" [: }" x4 }$ p) u- I, z
more,显示大文件,指令如下:* {) c) Y; K# a! R+ W
$more filename1 A/ l/ N! ~& E8 F4 @3 `. ?' F
% {/ M* G. A# y0 f
按〈space bar〉,显示正文的下一全萤幕;按〈return〉,转往
6 b& M" B7 X. T& D' |1 \6 W/ o5 g$ c下一行;按q进出文件;键入模式前缀(/),就可键入需要查找/ N- s; C; U- S) _+ q% @7 [' n0 D
的匹配模式,若模式找不到,则会显示「pattern not found」的3 J6 x3 o. _$ S9 B; U$ l
信息。
2 Y( u5 X: R6 J8 R0 n2 K3 X4 _# e$ J+ C$ R! L7 g
按pg则逐次翻一个萤幕,而每个全萤幕後,都随提示符(:),' m  w6 t9 ^+ ?, V! `( H
按〈return〉,看下一萤幕,键入+n,向前移动n个萤幕;-n,
. p' B8 m2 Q- }, m0 v向後移动n个萤幕;打入$,则移到文件尾。
& ~8 F9 P, \2 p! ~+ c: U: w1 ]3 A0 c  V
如果使用Cat看文件内容,就可以在全荧幕上滚动文件内容。在任
- M. R0 y# _9 e- E+ L- b$ O何位置,按<ctrl>s,文件就会停止滚动;按<ctrl>q,则会
' H/ E7 m# z4 J: \继续滚动;按〈del〉则中断不看。+ I. Q% G& u) d+ y

. A* `4 M: o0 G6 E) p0 ~处理文件
  j! r# Z* v  r, z. p; Y: e0 k
2 _+ X4 v# j* {; Q$ Rcp指令为复制文件,可以有多种用法。% G9 [- @8 |: y2 D# r

% }' L2 M; J) F# i3 E3 D' p" \( f  O(一)$cp old.file new. file
7 i7 V' c; l' v; a备份一个文件
1 C& Q: ^+ {( s5 I3 H! L! P
, s9 n  C6 X; f! U" \(二)$cp file 1 file 2 Test& ^( _7 B& W/ M% _- E  E
将file 1和file 2复制到Test目录下
7 Z& n( u1 w/ U/ X! m2 C+ T/ X( L: W# l. w9 _, W1 B) S5 U; R* u% |
至於,mv则为改名指令,譬如
! c0 _: ^) q, [) H, X6 S7 f
5 T6 R, `# j! G$ C$mv fruit apples$ y8 N3 y2 Q) y: }! C6 G3 f
就是fruit改名为apples& S' z4 X3 ~1 m

/ F, E2 D$ a" F2 |7 prm则是删除文件的指令。文件一经删除,就不能恢复它,故此,
+ }7 ?5 d/ E0 {; `6 Q/ C要加倍小心。  r/ M# b, `* ~7 z) u  [8 R

6 g2 O0 ]1 T% c+ H! D) |# E- }+ l6 G$rm- i filename
/ ^# K) ]% n2 Z; C6 T加上「-i」,删除前,系统需要确认1 ]% Z( K; M2 A9 D, s  m5 a6 M; p
</P>
作者: huashi3483    时间: 2004-9-27 15:15
<>第二讲shell环境</P><>何谓shell shell是用户与作业系统之间的交互层,用户修改其环境,设置或
$ f+ b* ~6 r* I+ d 取消shell的环境变量,迎合用户的需要和爱好。# ?9 k; w$ g; r4 ^  H& x! V" K

4 r( \" F1 y- k+ G% h$ s8 J5 @ shell本身就是一个电脑程序,用C语言编写,为协助用户与作业* A5 t& ]! m5 }
 系统之间通讯而设计,管理用户与核心(Dernel)之间对话,并9 X$ _- ^( b% k
 把作业系统指令换成机器代码,其实PC用户常用的DOS,本身就9 b% {6 x* j! i
 是一个shell。
6 {$ [% D2 u" q3 |+ m
, g1 T/ z6 T5 V/ f& Q4 | sshell的用途# B3 q1 T3 E& M+ Q% {
1 I, n, c0 ^; Q4 [$ w5 z
 shell的主要任务是:提示用户打入指令,读指令,转换指令为核4 `& [9 ]; T" g8 j% U) x& G1 F
 心所能理解的语言。其实,shell可以看作为指令解释程序,提供- q( \9 _/ E- x0 g
 一些工具,亦可以利用shell的编写工具,构造电脑程序。' j6 u- v; a7 i+ o1 y
) S2 i/ a6 A0 v2 S
 System V shell类0 ]$ t+ m& `2 O# K
( l. |: J* E% [% `
 SCO System V的shell可分为四大类:Bourne shell;C shell;
1 g( P, F$ Q9 E! I. U; j Korn Shell;和菜单驱动shell。而菜单驱动shell可再细分为三
7 o6 ]8 h! x: Y 类,分别是Open Desktop,Sysadmsh或scoadmin和客户应用程序。: p0 w; m; S, ~
/ S+ D- w0 ^1 ~. t& ~
 每个shell都有自己特定的环境文件,可以自行修改至合用,这些& N* H) G: p( `; T
 环境文件就仿如DOS的批次档案(Batch File)。# U3 E8 s4 x( \, q( Q* X

& L4 @% \% y% u, ~4 ^7 X2 } Bourne shell' e" \+ d! O# _* j6 _+ E$ l
9 t( x: j+ u1 V+ K+ \4 X- i, Z6 s
 对普遍用户来说,Bourne shell可以说是第一个UNIX shell ,5 B% f' t; u& I
 它是由AT&amp;T贝尔实验室Stephen Bourne所编写。默认提示($ `2 N' z- g5 z: P- x3 q
 Prompt)是美元符($),其环境文件为profile文件,由於文件
! S1 q6 E$ x# S/ r8 m# r( C 档案不大,可以马上启动执行。0 w7 y1 C  p$ B) ^( ~
" i) L7 X- ]2 o; R0 Y
 profile是存放在主目录下的普通正文文件(Text File),通过
6 G8 F( u9 i8 {, D- v. f 设置环境变量(Variable)和终端模式,可以使环境个人化,每; h% R% t9 U" A  y$ J/ i( J/ M
 次注册进入系统时,shell会读入profile文件,并执行所列出的+ x2 _' W! u8 a* W9 [4 v
 指令。; g8 v4 T8 i( L- X0 H

, k9 C+ {: A2 h 每当系统管理员创建新用户的户口时,系统都会自动构造一个相
% p# k0 b0 U6 A- y% V2 i! u) m 应的.profile文件;而整个系统的环境文件就放置在
8 y& ^1 J1 q) S. v( c /etc/.profile中。5 _9 h. `5 S2 c0 m, o
0 d) v. L: g* \: J) ^+ n1 K
 用户可以使用vi或其他正文编器修改。若要使用env命令显示,由1 t0 ?8 z( M. g/ f( ]; ]  t
 於注册时已设置了这些变量,也不一定需要另行设置。2 k! _& n+ j0 j8 p: ?5 _

6 _; I$ T' h% y- `" ? C shell, j- H8 R* d: R* \1 m2 j& _

4 N' O! U) V; z2 w" G6 y0 O+ S C shell是由Berkeley的Bill Joy编写,是标准BSD(Berkeley- @0 I# b# m6 ^  o; k2 Y$ f
 System Distributou)命令解释,其默认提示是份符(%),环境( Q- T3 v/ I! z" b' \) {
 文件则是cshrc和.login。
5 n* x; ~' s) R' a
$ G) a& {: _2 Y& R C shell采用C语言,是UNIX和XENIX系统上公共软件的开发语' a" [0 J; |" f7 \! Y
 言,提供了方便工具,快速打入,校正和再打入命令行。  y9 }, ~6 a& {& w
% \' p% u( Y( {& t  o4 F: T
 .login是C shell的注册环境文件,负责启动shell,注册时执行& ^. ^: l6 Z  g! |  B
 一次,而.cshrc则存放常用指令如alias等指令。譬如我们要创建
+ K" C9 T! W+ N 一个永久别名,把命令who|sort|more别名化为wh,在提示(%)5 m2 N; j" g; K2 ]! e& A/ E
 後,只需要键入wh即可。用户可在.cshrc□键入下面一行:4 v+ t6 T$ O% b1 t* {5 D
 alias wh 'who/sort/more'
4 a% |' K6 T! e: @8 i* C
# u  M0 u& r. _  | Korn shell
* O1 w2 t# y4 A) h2 a" m8 r3 ^0 f2 G: K4 @3 e' y
 Korn shell是AT&amp;T贝尔实验室David Korn所开发,是Bourne
1 c" T& ~* R# w shell的增强版本,综合了Bourne shell和C shell的特点和约定,9 t5 Q) J0 R, B' B) P
 而Korn shell则比Bourne和C shell执行得更快。
3 D. M" w* o$ F5 g- I
$ U$ t+ ]$ |+ N- f( Q; |5 o+ F Korn shell的默认提示与环境文件,跟其前身--Bourne shell一
5 v' Z1 ~- P1 X9 _6 n( Z$ t. } 样,同为美元符号($)和.profile文件。7 n: f  Y- k1 v
( Q( L& Y$ s/ T) z) U! \
 进程控制
+ A9 s4 l# n2 w1 X# J9 V$ |2 Q- u* Y4 V, ?1 n1 Y/ Q& l( Q' |
 虽然同一时间,系统中运行许多进程,但是某一特定时刻,CPU只* c& Y$ n: B' N/ J' o4 E2 R8 Y9 [
 会让一个进程使用,而CPU则在行使中的进程之间快速轮换,每8 _3 I5 x4 c+ x6 O+ e1 @  ~
 个进程所占用的时间,称为时间片。SCO System V为了保持、跟
' r1 m) ~: {4 U9 Y 踪或调度每个进程,会给每个进程一个进程标识号ID或PID。. Z  N0 Q: Y0 o6 p, T4 e7 T, [
# m  U. _( x! Z) v+ f; G
 要确定那些进程正在运行,用户可以使用ps显示阁下的进程;或2 f1 B  {% v# h" D! T2 m
 加上-e选项,显示所有进程;加-f选项,则显示的进程还包括已3 H# i$ C- F/ R- a% ^
 启动指令的执行中进程;-u login显示某注册用户的进程。
/ L: o1 L% ?$ N: ~  k7 C
% ^, ]5 R# w1 r1 O 在SCO UNIX System V中,如果阁下拥有Root指令的作用权,
8 x) M4 V: @! R) i, T1 @, ]' L. k 就更可以看到所有进程。
. T& ?. @1 _1 @8 t7 w. \& W  ?2 g; T; w& R/ g* k4 C4 e
 当一个指令需要较长时间完成,可以在指令行後尾加入&amp;元字符,
- ]4 G5 z& x- J3 ]; f 该指令就会在後台执行,但对交互工作方式的指令就不适用了。
) J% \9 c8 z4 y% J: L( B8 P: P7 M: [; E6 u2 C3 `. ~
 菜单驱动shell5 [& t7 y1 x' V! T, U0 U7 n

% D7 ~, G' d  B6 I  b" Z2 u 菜单驱动(Menu-Driven)shell可再细分为三项:
! |% @9 b0 i1 x' A  v& P9 o% g- s  G
 一、Open Desktop
+ D& g3 |  ~2 L/ k8 O7 B4 w3 S0 O4 f$ B+ P! S; b) H' @2 r/ r% _
 Open Desktop采用XWindow图形用户介面,用户可用图符(Icon)% m5 }4 m/ R3 d* d7 g& D
 窗口和菜单操作,如Open Desktop的作业系统就是SCO UNIX
8 r1 v# h  f, ?7 F$ e( H; [+ [3 j System V/386。+ E+ b  X5 @( c  V/ j- H" q! q
6 P2 P9 Q0 u, V! c) E
 二、系统管理员Shell:Sysadmsh或scoadmin! j- F  Q( F9 ?  C* w" d& v
* c) }. R4 R/ ^/ R# `, A& H
 Sysadmsh或scoadmin则是字符介面,用户可不用学习指令行语法
- E$ u, I& ^) k 和选项,就可以执行大批指令。大多数系统管理任务仅由系统管2 f5 E( ^, n; H7 ]: l3 @' M
 理处理,系统管理员则有特定的根口令(Root Password)。
5 t  K( l) `( W3 S- {" ?
" @8 ~& o& i1 v' s! x# O: e+ u 三、客户应用程序
+ d" L: u& {+ h2 \1 A& q; n' g
- _( N7 Z& j1 d0 \, d$ k8 u: F 某些用户为了存取内部邮件、字处理或报表等应用程序时,方会
3 Y2 j+ P3 U! h. Q( A0 _ 使用SCO System V,系统管理员可以装上这些程序,令它们在注4 y1 i5 U2 F) C1 }- K7 I  d( P4 G
 册时呈现。
9 b1 F/ v6 m7 a7 q; E
  W0 j& U  T% x2 G+ _: X+ w' N 许多程序提供一个菜单选项,用简单打键选取一个选项,用户毋
, h  }* W3 t! m7 G2 ?8 C7 _2 K+ u 须记著指令和指令选项,亦能操控。
( d7 g% a, T1 x; n' A
+ e- s9 ]' O1 Q$ N, L</P>
作者: huashi3483    时间: 2004-9-27 15:15
<>第三讲vi editor</P><>任何用户最常做的事要数创建和编辑文件,包括文档、报告和文
$ v' D6 T, f, b3 l) v   字,vi(Visual Editor)是一个有效而相对简单的全荧幕编辑,9 A7 ]! S4 W5 y: B) M, M
   使用vi,只要记著少量基本指令,就可以开始起步,再学习其他
/ f7 D" ?+ @8 J9 K# E% ^! y   更复杂的指令,而系统管理员则使用vi管理和维护系统。: _2 M) U8 P* e$ F
2 b% w5 `1 A( j  f- Z
   vi是包含在SCO System V作业系统中的全荧幕编辑,其实,vi不" z+ U( C. n) V" ]3 ~1 \
   独存在於SCO UNIX内,而是UNIX内相当普及的文件编辑。开
8 c* D3 |" j: {) Y   启文件
1 v' ^6 k% M* ^* I' z. k! {
9 S! _, R8 A, o   无论是开启新档或修改旧文件,都可以使用vi,所需指令为:
4 s/ ?7 C  G. o& ]3 {! d, [/ c$ T
   $ vi filemane! k! A2 _" t5 _8 _3 _

6 f! s* H$ A& ]" O1 O$ r   如果文件是新的,就会在荧幕底部看到一个信息,告诉用户正在4 i( f# j8 T% d* _
   创建新文件。如果文件早已存在,vi则会显示文件的首廿四行,
* _' y! @1 ^% I   用户可再用游标(cursor)移动文件。
8 l! b& D/ j+ g$ M+ f+ X1 Z
  n) P* b) ^# y$ W. g   This is what vi looks like.
) d# l( K4 T' Q. Y
+ o# Z$ Y! x9 k- S% I   ~* T7 z. ~3 ]( M" S* v  ]
0 k! ]4 B) }( h1 y+ Y# G: N4 N
   ~" d6 F; F8 N3 u8 p6 J7 M( {
' {3 q9 Q# C7 J) S) y: p3 F2 \
   上面是一个经vi开启的模拟文件,一行开始处的波折号(~)表
5 Z( y$ x1 u: t   示文件的结尾。指令态与插入态
4 O  g7 u/ a( w0 e: p2 X7 E: w5 T& H% t; v
   vi使用了两种状态,一是指令态(Command Mode),另一是插入2 n8 q: b5 I( t
   态(Insert Mode)。当vi处於指令态时,打入的内容会视作指令; H, G* a( b) n$ B) A# S
   来解释;另一方面,当vi处於插入态时,就可以打入正文(text)4 j3 F2 Y( Q7 \" }/ E  @5 Q# ~* E
   给文件。
# k% l( Z" S4 z
" K+ c! Q/ O: s8 ^8 L  [   大多数vi指令是单字符,由插入态改变为指令态,指〈Esc〉键;
+ Q& O) p! D  E: @: W/ d# D   而由命令态转为插入态,则可以使用下面的插入令,直接打入,9 l1 A5 u" Q( s) T  h: |% L& q/ J
   无需再按〈Return〉键。
( O6 G+ d( f( n3 ]- j2 b0 l$ @6 r" Q4 z: c( G
   —指令i在游标处插入正文
& `/ s0 Z, \  j  e( X# O: U- X
8 f. V; N1 J3 u5 p# `( D* x   —指令I在一行开始处插入正文
3 T6 u2 l! H' X0 Y: M" m
: D4 N8 x6 a; X; R: Z! ]9 e   —指令a在游标後追加正文! M; i+ s% J9 Z" M! D
6 y/ C/ D8 V) I; p) s! p
   —指令A在行尾追加正文, B( N$ S+ u( k% k- ~* g
* [9 F+ J& l6 d4 e$ g! A, q$ }
   —指令o在游标下面新开一行
: M! N' W1 S3 D" W* y+ Q
8 ^( [; L; z/ t% v+ `5 Q1 h   —指令O在游标上面新开一行
  v; N% ~. s) ?4 O
1 W- V5 A8 X8 U7 ], b, e: I! r' c   要记著一点,在插入态处,不能打入指令,必需先按〈Esc〉键,$ ?, }4 {0 M2 ]. b# l
   返回指令态。假若户不知身处何态,也可以按〈Esc〉键,不管处
/ U( d+ n+ H6 }5 f   於何态,都会返回指令态。
1 r: F5 r+ n% F3 X2 j: h* T% d  f; f
2 \. `  P& H0 N9 F   存档及退出
1 M9 p( l+ }, W7 w8 N: t* ?
1 g; y( g: F/ j( S8 d  ]9 e   在修改文件时,如何存档及退出指定文件都非常重要。在vi内,
* t6 ^* {; y# Q2 ]' \) _   行使存档或退出的指令时,要先按冒号(:),改变为指令态,用
$ D( F# h" a! Z1 G' k' q   户就可以看见在荧幕左下方,出现冒号(:),显示vi已经改为指
. F( z) r' Q# D. C2 z   令态,可以进行存档或退出等工作。
: F8 D$ l  q9 F! [8 o( i2 {
! {1 @/ T7 C' Q( G8 B* a   下面就是一些这方面常用的指令。
* `9 j4 e; T, E: e. f! s; ]. @
1 e8 o3 }; Z0 R3 Z# r* v   :q!放弃任何改动而退出vi,也就是强行退出
3 f; H, \3 }0 o8 L8 ~& b/ F- K* p) _1 m3 z/ m
   :w存档
& X$ D. d4 o) ^) Y: L  I1 @& p: B0 f7 E& N" B$ Z3 C& v' d
   :wq存档并退出vi
0 I/ E, w4 Y, r; \) a4 Y4 g
! k+ v0 k/ B' W   :x与wq的工作一样% P( [* L- G) G7 \9 Q  @

# [- h9 R  Y4 q9 A/ @   :zz与wq的工作一样删除正文
1 G: j, e+ p( |7 K( \
. D: d4 m2 ^. l' f! ?   删除或修改正文都是利用插入态,故此,下面所提及的指令只需7 N1 Y$ |2 d. q; z# W, h' `5 x
   在插入态内,直接选入指令即行。3 f9 ~2 R5 t, T% W% ?$ v

& d1 V" s1 b% H  ^/ e! |/ i   —x删除游标处字符(Character)
3 t- ~4 p1 H' V( r; `+ k/ D2 Y: J. u- D
   —nx删除游标处後n个字符2 R4 d1 [* v" g  g. Q+ S4 l
4 T7 V& b( A, h3 M
   —nX删除游标处前n个字符
) q/ t5 i; ~0 g' e/ S- y* ~$ C: w. C0 K4 U$ D) @8 P! S' r
   —ndw删除游标处下n个单词(word)) a/ h) }$ k' c- k' W

0 y6 H% T* d& M& C# r4 h% I   —dd删除整行
: M+ m2 S2 }( w: I4 m5 M. E( ~
# b" K2 j% y* l# G- G( ~   —d$或D删除由游标至该行最末( ]" u2 Z" e# T1 ]- ?/ D6 j
. y! J4 |( f' x
   —u恢复前一次所做的删除- ^0 C$ T3 d' V3 s- b

" A# V; m5 M1 z" H4 H& d. }   修改正文1 h5 S4 Q- h# F0 q4 d
& ?0 P$ M" E5 y. ]9 v: C
   当使用vi修改正文,加减字符时,就会采用另一组在插入态操作
; |2 b; H( G( p. I  ?   的指令。
8 _# g* U/ R; n1 @  j4 E" Q( T. D8 t  Z. |1 M* k5 ^0 U
   — r char由char代替游标处的字符
6 s+ S; r+ {1 L& h3 q7 p) D8 E9 u" S# Y. J8 n' ?* H4 w
   —Rtext〈Esc〉由text代替游标处的字符
2 l& y2 I1 z5 }8 x# ]/ O+ e8 W% [. [" c
   —cwtext〈Esc〉由text取代游标处的单词, b/ G) F% c5 c
) q/ H4 ~+ p& P" M3 |0 K
   —Ctext〈Esc〉由text取代游标处至该行结尾处4 x# L. D  I: d' l! @) b
6 ?9 ~, `% g" u! E% u; E
   —cc使整行空白,但保留游标位置,让你开始打入9 u" d( V6 g* |% O) l4 z
* p5 e: `3 c' I: N
   —如删除指令一样,在指令前打入的数,表示执行该指令多少次。/ \0 L: V, y7 ?& |, g. I1 U
   正文模式检索5 X5 e. U0 n. V; {2 ~
) [4 g# @9 }7 p, Q
   要检索文件,必需在指令态下进行。所谓「模式」,就是一个特( ]7 C) u3 Z2 {1 P" K
   定字符串,其中可含空格符。
! d" s- e5 v+ k* {. P1 M- K. q, N4 i+ {" z' u# ~
   —/str〈Return〉向前搜寻str直至文件结尾处1 V9 g0 M" [! ^6 y' X& F
# v2 Z' I3 t1 E# |1 j5 y2 ]
   —?str〈Return〉往後搜寻str直至文件开首处
" E/ ^  t8 @$ K1 u: I% Y
5 \* _) y$ e* g& d( q( {/ S* u9 H# a" I   —n同一方向上重复检索
) k) p( v% {$ R+ I4 U0 c4 X$ S  f9 f2 }8 N, a7 J: s: X9 K
   —N相反方向上重复检索% g) ~( r: c' w* g
" \) ^7 n  x4 J/ f) w+ @
   —vi缠绕整个文件,不断检索,直至找到与模式相匹配的下一个
( V, `- S1 x$ \) P   出现。其他
# p! e$ M: A2 A4 z( @" e8 }+ p" m; w9 w6 c+ n
   如果要在 vi执行期间,转到shell执行,使用惊叹号(!)执行系
8 M. i: R0 @/ d' k. i   统指令,例如在vi期间,列出当前目录内容,可以打入( n+ g% @. i2 I0 j8 |

: m0 \7 f- M2 z   :!If9 A( V4 h3 ?: `6 `$ ]- t

) d" \$ r* e  ]   另一方面,用户可以在主目录中创建.exrc环境文件,用set打入3 J  v  S0 Z1 {, V6 \  D3 a' f
   选项,每次调用vi时,就会读入.exrc中的指令与设置。下面是5 S1 y- |% e% F. `2 ^% a, Q' h
   .exrc环境文件的实例:: k9 X8 ]" b  Y3 U% S  f0 w: U0 t

) q1 p/ p- u7 C  ]! v  l) I   set wrapmarging=8& Z( V. `- l4 h
) r  v3 `; n1 f% L
   set showmode
# X: B0 c: \# [" I
, w- ]0 n# N9 H& L; o1 w   set autoindent* g1 I  w* z9 J7 r$ t; x
8 l2 C% S7 u, X+ w  ]
   set number& _5 a1 n, L3 E4 A3 z% O7 j; k
</P>
作者: huashi3483    时间: 2004-9-27 15:16
<>第四讲:系统管理</P><>今次要谈的系统管理员负责管理SCO UNIX的系统,拥有独特的
2 W% |" Z9 w% c+ M8 V注册名--root,能够读取任何文件,写入和删除任何文件,执) p6 r) @" y6 V$ C
行任何实用程序和指令,亦可以执行和终止任何用户程序。
3 R* ^' ]. Y' r9 S系统管理员的工作包括系统控制的任务,例如後援加锁和解锁终: T5 `- H( K. X) o: l( U! b' I
端和记帐号、增加、隐退和撤消用户。亦可以给用户一些特权,' f4 [- ]0 V5 V) Y6 H9 R4 h3 U% ]
让他们实现特权系统任务。& G# ?$ U1 m, U; {; R. ?. t

" C8 v1 R) Q4 B* z3 X, [& c$ {7 ]1 E3 k4 P基本指令
2 S1 V% {; I& y" N8 u+ b+ X5 x; v5 H; U
shell指令的基本数据结构是文件,因此,基本指令和操作包含以% {8 s1 }  i2 q% t9 v4 X
下功能:: s4 W( \9 Q) Q  Q9 w6 w4 t9 b
0 A# Z& m& Y: b& d2 K$ D4 y/ b  C' d
-显示及管理文件中的指令
5 p& e( v# Q! U7 n0 s! j) C- H
! ]5 `) A: ]7 a. N-管理目录的指令
5 I; z- T( N5 x! N! C, W; f" P4 I  ]+ Z
-输入输出重新定向和管道,重定向标准I/O,并执行组合指令$9 ]0 Q- m5 X2 b2 u( T/ S6 }# C2 g) @
W|grep 'john'〉john,file
8 X' `" s9 u! M6 q
1 r6 L9 u; x8 W% T2 J5 N& @2 \-输出重定向符(>)把标准输出重新定向输出到文件
9 g  C4 [" _; Z# p' o( P0 u/ t1 y( P! o, T
--输入重定向符(<)把标准输入重定向从文件输入
' D' b! ~* l- m) m4 m% I! X2 y5 z
0 U) T' L% F3 u- ^# V+ S' a-管道符(|)把标准输出重定向输出到别一指令
4 g9 B1 s) V2 z- B& V& e5 o5 y  B; l5 o- M" i
寻找文件) \  I2 T4 J! e- O

& ~6 x% x" e9 V( v5 ]3 z. Ufind(c)指令可以在层次目录中查找文件,例如:! b# w0 ^0 d+ C. X  J) I
4 x& O3 i2 ^7 q/ F, G/ D4 F
$find/-name filename -exec rm {};
! n% h2 R& I3 E. d# y, a& S% b8 F  h+ T6 x# N) y! t  z
-name filename指定filename
. a$ z8 f( N% ]' {* f+ ]; o/ A4 N+ ~
( e4 j; O/ H5 o9 Q! U-exec rm表示在所找的文件中执行rm移动这个指令; \- |2 t9 v2 R  d$ ^. _' }& ^: c
3 O9 ^4 z' X2 T. X- K
另外,用户亦可以加入,-print表达式,显示找到文件的全路径
; |& W7 H6 v6 m9 f! ]# Y名。5 ^! t1 _) t+ w  P2 w
5 \9 i# e9 c  f) `2 m0 X
除此之外,find(c)也可以用来找出特定用户或用户组所持有的. Y! h' k4 _! a0 d& {, a# c4 |. ?3 c
文件,譬如:
+ z1 n* C# W: c( y  F' v3 I6 ?: j" y' ?
$find/-user bin -print
/ O! V% \+ I( v( D5 R# ?3 I0 U
/ C( C' q( I+ P4 S% x; D$find/-group mmdf -print
3 r; A; V5 F* P/ d5 L# g4 `, Q6 [1 M+ f4 L$ X/ E
又或者,用find(c)重新定向过滤程序,输出错误信息,例如:9 t- }; m2 N( k6 V) ~: S

" Z/ E( L4 J2 y6 W$find/-name motd -print 2〉/dev/null
3 x& X2 Y% M9 }5 a6 T
# H2 ?- E- e# s. B* FSCO shell
- O/ O5 ]1 S6 w( E' b9 H% A; f0 H, R+ B( K7 u
使用SCO shell,可以让用户从单个菜单中选出应用程序,管理
7 g* u- n: g0 y9 \/ S3 x% A8 D4 ]文件和目录,运行系统实用程序,要调用SCO shell,可键入:
" K3 ?- p9 ^" X# [: [* A5 b4 R& I/ V0 x- e* J8 \
$scosh6 }( S. a3 f+ `% d& C
# f* Y- o) K& i
可以利用空格条键〈Space Bar〉或箭头键〈Pointer〉移动光标,+ R0 T7 D& w- e) B  {
加亮所选的菜单项% A! \/ Z" D3 `1 \! ^# V' U4 k1 ]
8 ], U  z+ C5 `& U8 a& j
-按〈Esc〉
3 u- q, g' `- x) z4 b
. E9 S( f5 I; ]" j& z! Q回到上一级,或放弃当前操作2 ^7 L5 m  S- m$ K0 c* v1 G+ e

4 `, b* [$ L# R" s-按〈F3〉
& T) @# p; O* z% D
# p7 {! t. `7 V( ?显示所在字段中可用选项表
2 B0 }$ v+ o5 r2 L: \" ^3 `7 ~# b/ |  {% `, p! q' I# I. h
-按〈Ctrl〉v 在字段选项表中选出每一项
. T! w+ _, j8 l; o4 R% ~, i
7 X: R2 I6 `/ u/ T% J) o-按〈F1〉4 u8 A3 h( P& @4 z
$ t/ C  e/ [4 J8 P- t. h* H  O
显示求助信息
1 w* Y! P+ J" u0 L: z( ^' {! E7 g# a: z' X
-按Quit或打入q 退出SCO shell) d# d) z. L# a5 ]
# S; N5 i$ F/ U( R- B
系统管理shell' Q% Z) M- j) W# o4 o; O$ }/ `

) @9 R# B$ ?$ _- r6 d  v$ D2 U需要调用系统管理员shell,应该打入:8 O; E+ T) D4 D1 X' z. a

6 a( J% W, e: i* H$sysadmsh或$scoadmin# `1 f3 v& M" {0 ?) Q6 m8 |
% q1 L1 {- k1 |* S, [  {
虽然每个用户都可以调用sysadmsh,但是,只有实权的用户才可  H3 l3 l+ E' O0 n
执行有关特权管理任务。
( }- j6 d) M7 P  X( n
' H1 g6 y9 \. _; a+ @; L基本上,使用方法与SCO shell差不了多少,只是多了几个功能
; D, A5 [! {) k! C键(Function Key),例如〈F5〉搜索,〈F6〉改变目绿和〈F7〉5 e4 K  Z$ ?2 X6 T4 H! i, g
执行格式。而且,scoadmin更可以在XWindow的图形环境下执行,2 W% [1 l7 O2 K* D9 a
用户在图符(lcon)上找到不同的管理任务。6 w8 T/ H( M4 P  u  {
5 A/ @5 p! v9 o
多重注册萤幕
! H  s& B% b& X: t7 ]) @
) W( C8 [$ D6 E# P7 n/ H( M- ?" _6 D控制台上,可以允许用户最多具有十二个不同注册期的萤幕。多# k. U" O/ Y( v* F' {
重萤幕令系统管理员可以同时执行几个任务。" ^5 g6 ^6 q9 d. ]+ K5 p  y

( ~0 F: l) g1 I- \0 J; _, Y1 M$ b系统启动时,控制台上的多重萤幕就会自动活动起来。同时按〈& w' j1 [4 y$ {! H$ _+ x
Alt〉键与〈F1〉至〈F12〉功能键,实现萤幕之间转换。
& N3 n8 x% `4 v/ |, Z1 t, U, R" e% A9 J! g* W
至於,在终端上,启动多重注册萤幕,则可用mscreen实用程序,
* X0 L% V  i. [% w* \/ E) R* ^为正确工作,mscreen要求为tty。例如启动两个萤,应该打入4 j/ v# d7 x8 z& \, G
- o( G! k/ x" C2 Q
$mscreen-n2
7 u8 ]6 v- \$ g0 ~& g
7 B9 `3 p4 i5 S! o/ p然後按〈Shift〉键与〈F1〉或〈F2〉键,在两个萤幕之间转换,
2 m) X8 N9 ]8 |/ w' X, N当注销时,确保所有萤幕注销。
) V! {3 @  Y) V" X4 e, B
2 d( d  c5 Z. Q( B4 d8 C5 {</P>
作者: huashi3483    时间: 2004-9-27 15:17
<>第五讲:电子邮件</P><>在SCO System V下,每个用户都有一个系统维护的私人邮箱,1 j3 g5 ~- ~8 v) z3 n
 用户能够与系统任何用户或用户组之间收发电子邮件,所收发的: B: H% Z* p) Q+ Q  S- U, v2 |
 信息可以保留在邮箱内或作独立文件处理。 发送邮件
* f3 R# B/ `, Y8 d+ P) f1 t2 F0 i) f) @
2 R8 L) Y. s7 X3 U$ l' e* _ 打入mail指令,後跟收件人注册名,就可发送邮件。假如发送邮
6 J& O0 s: h4 u9 ]9 G 件给多个收件人,名字用空格符〈space〉分隔,而不是逗号。收7 z4 s3 z5 u7 k9 w7 h9 y
 件人可以是一个单独注册名或一个别名,别名代表用户组,例如:) Q; ?; ^3 ]: J
4 j& K2 P$ I1 T; ?' \* C( f6 F2 u
 $mail peter amy& W3 \( u; i0 d& h  _: Q

9 [0 l# X  m4 e2 z. s. p 接著,萤幕上会出现subject:的提示符,用户即可打入简短的信- ]/ z& u* |+ \$ F2 @! G8 u
 息说明,完成後,按〈Return〉键,然後,就可以编写邮件内容。
0 {" d7 O9 g; T" M1 D1 O
. h) G9 h, {9 N* J 需要校正错误,就该使用空格符或左箭头键,用不当的空格符或* J6 ^- N/ W$ S# t3 e* O
 不合适的箭头键,即使在萤幕上看起来对,但是收件人可能只收
/ x* H0 s$ M2 F1 }: O# K7 G 到不可读和篡改了的信息。请记著,mail内的内容编写,不是「! A" T! j7 @: A- _
 所见即所得」(What You See is What You Get)。
/ {* D% n' a- J* C2 o, q) P1 F0 Q" A, J) \2 c' h1 o: R, r
 假若需要取消整个信息,按〈del〉键两次。写完邮件内容,按〈; @1 S) P* Z$ u! E& A  g
 Return〉键,取得新行後,按〈Ctrl〉d,发送邮件。d就是done(( ~3 D1 ~" N/ m5 |2 C  [
 完成)的缩写。
2 `' P5 c- ~  u0 F6 X' O# k" x- i6 B7 a9 E' ]
 阅读邮件' A- Z7 \% m# c6 Q) c9 R

  A# @* q: G8 I3 A+ e: b 每次注册进入系统时,系统都会通知阁下,在阁下的邮箱中可有; M( ?+ D* z0 S+ u
 邮件,需要翻阅邮件,打入  R$ Y2 j$ w4 c( G# k2 z
3 e; Z2 k+ |8 H& k- D
 $mail
9 @- @5 R* \7 G
% T  D" N- p/ k  E3 z: r/ a9 G 若有邮件,每每邮件都会显示出相应的信息标题,包括信息数,3 c: C, B8 `8 B2 V7 @. \
 送件人及发送日期。下面是邮件范例:
' K' \" M! Q, u& i& Y" }
; Z  c9 b, B" r1 t2 O $mail
3 g( W7 L  {. g7 Q7 u* B7 o- L
) \7 Q+ w. Q3 h" U SCO System V mail(Versin 3.2)Type? for Help
  U# a/ R& C% l" @! v4 ^& C2 P* I; {- X' U4 s( R
 "/usr/spool/mail/joesco":2 messages/new/unread
/ {. R) Q% k  _: [  c* F7 l. Q: e' m: t) T8 b1 X1 e
 u2 mary Sun Aug 05 23:48 47/2109 level 25009 i: t! o; H8 l6 w2 N& {
: h( F, f. Q% C5 v
 n1 paul Fri Aug 03 08:01 23/6332 Tardy reports!, ?& T7 K- a4 S& c( A( p
& M" q* l, U# h6 r+ L, D
 要阅读来件,可以使用箭头键移动选取,按〈Return〉键阅读,9 `( ^8 q; `' q. U' l
 或在提示处,直接按入来件编号。若已读到邮箱中最後一批信息," i9 J4 t0 F6 s2 R) _/ P: O  K
 mail在萤幕上会显示"Can't go beyond last message" 。, E& J6 p) s) d" L& z" o/ J

. I$ x/ G4 [, _, L. T, [  j 处理mail
7 |& |: W$ P4 J9 a2 |2 Q9 z( x" e& {
5 ^( P' Q1 k2 U( j+ @4 m 当打入一个无效指令时,mail会回答一个问号,或"What" 的信息,
% w  S! B) p" y' \0 w, e 显示指令不清。假若用户想显示mail指令表,可以打入?;或打
: T+ I9 Y3 s  A& h& ~( L 入h,显示邮牛标题表;打入l,则会发送信息至打印机。另有一
- z; z, |7 w; W0 ?6 o  n# | 些常用的指令,协助处理mail:" m$ w, n% q  ?, g) ^% d

; T- U5 O( r$ {( H" s& s/ y 一、保留邮件" ^3 }- r8 F) b. N) A
& N* R0 C0 Z- t+ T
 "s filename"按普通正文文件保存整个信息至filename内,连同
1 j+ t& d$ ~  r; W5 n0 Y3 u0 w 邮件的标题信息,一并送入文件内。
6 l. K: K# w0 Z6 U& j! B0 n8 X: c( L1 u. o, I0 B
 "w filename"撇除邮件标题後,保存信息到filename内。# }8 B- W( ~# _9 `% s! J

2 E" f3 h; }% b% _9 \  n- }% H 二、删除邮件
1 h( r5 j% W# f' @9 z. C8 ^
$ s% o6 W% L8 d8 P "d x" 删除信息x这个信息号数# @, c6 h  W3 {$ p# u
9 J# z5 E5 i8 H5 {1 }  @
 "u x"恢复被删除的x信息
; |6 B1 h+ L. F, C
1 V; T/ ^7 s: o+ m* r2 `, P 三、覆件
+ t; Q  n2 k( }& p# s3 K
2 f7 o# _3 V3 _ "r"发信回答给送件人+ Q6 K2 ^) q- {/ B& a
; e* S9 g  G$ l$ M+ |
 "R"发送回答给To:和Cc:表上的所有用户
9 S: Q" ]9 k2 J! G; l8 B. ]6 P% L. ~! F8 K3 d, X/ q" [* |
 四、转发邮件
3 F5 n! E3 p! k3 w
, j$ t$ s5 x' r' C "f login"转发信息,予其它用户,并分送来件正文(Original3 {4 u% l# w5 g  y  J. h, s
 Message);login乃用作的注名8 n# u) u4 O+ H% U
' H) U) Y4 `  o: [5 u2 f2 ^
 "F login"只转发信息,不分送来件正文
, E7 ^3 p  x2 W3 e: ?+ p' c: \2 d/ p8 D, H4 R1 o
 五、退出邮件
6 V7 v! K8 H# x: e- O' n1 Z7 q5 x" y. O, K
 "q"退出mail程序,并更新所有改变
; N% M7 T6 E* S" c
6 {4 w/ x; r: k* V* c "x"退出mail程序,但不作任何改动
7 n. n; [! p- N. R7 @) T9 `
7 e/ J0 X: U: Z, c/ i 其它处理邮件的方法
" e7 O6 P& h  a( ^
# p$ i1 b! h1 u5 e: H& k 除了以上所提到的基本指令处理邮件外,SCO UNIX尚有其他较
. O. n" o- c+ R1 Z& J 复杂的指令可整理邮件。在mail内,所有指令前都要加上波折号~7 S$ w! f5 A0 g% A% [# f6 d
 v,调用vi编辑,一旦完成编辑信息,通过vi的指令,例如保存和2 x. [$ z% r+ l8 j" p
 退出指令:wq,就可返回mail程序;按〈Ctrl〉d,就可以直接发5 J* B. ]& S7 G( m
 送邮件信息。
$ p0 z( [0 E- |1 e; T6 k0 v' H
8 D0 {  r! n0 U& M+ L! j4 ~ 其它mail的增强指令如下
1 T) r; X  H& t" `- W9 Q1 `" Z' e! }. y0 `% q' m, P  s7 [( ^
 -~m messate-no.把邮箱中指定信息8 j8 W0 z, \& B4 L

! e4 \6 r( w/ i0 D. k (message-no.)放到所编写的信息中
7 O- e+ A8 [6 F8 U2 F! {+ f) p9 S
 -~r filename读入指定文件(filename),送到当前信息中5 a( Q# W8 O; V) }
! n7 Z2 _* E. N& }: \# W3 C
 -~p察看信息中的当前内容
8 W+ N1 d$ p1 F% s( P% Q) K  q
6 Q+ j4 E9 D( h. A* T6 \) E -~?求助
/ [% V2 k) R& Y2 I% s0 W; V( H) A) ^
 为了方便mail通讯,系统管理员能够定义不同的特定单用户或组
( e2 I8 W; E8 S' H: V( N. X 别名,通过这些单个组、别名或名字,就可以把邮件信息发送给
2 b; m, |1 ^5 s# G 全组用户。发送给别名成员,可键入如下指令:) f0 u, [) j4 Y+ W! j

% o9 A1 n* H/ f# |# V; L, r $mail aliasname1 s0 ^! K7 u9 _& @1 p$ D

8 X& b) M* a5 [" S8 n9 h3 L- R9 | 如果要限制组员和其它用户的私人邮件的存取权限,可以使用
! r5 V3 h3 ]. F( j chmod指令,例子如下:8 }% x0 {5 ~) U6 \# U. X* Q

  b* V, k% U% u1 F; s4 M $chmod 600mbox
: u. L+ |5 o. ]& X5 L4 ~9 k  n+ q
9 t5 v* X& o, U4 L4 ]" U# d 在普通电子邮件提示处打入set,可以控制选项,改变读和发送邮: Z  ~  W0 Z, ^) X7 w+ W
 件,这些选项可以由系统管理员为用户自动建立,也可以自己修4 G) N! r4 a% P
 改这些设置,例如:
" {$ T' `" q* ^- W7 ~6 X0 E; A9 U  z
 set page〓105 O- S. N* ?3 J& T& A

' |1 _* W) P% H, d& {; e& q! e mailrc环境文件
" F2 f# X& O$ E) }
9 a1 Z/ H- l, U$ e# k! d8 Y7 l mail的环境文件叫做mailrc,负责保存所要文件的永久记录。
5 F5 j6 o1 w! |
0 m$ j' v$ p! Q1 f( H) t. d 与其它环境文件一样,mailrc必需放在主目录中,它是正文文件,
! Y8 U- C8 e) s. } 包涵有效的mail指令,mailrc通常包括set指令和alias 定义。% j# V6 E' L0 l5 V+ b

0 I: T# c" L2 a3 X: z 不过,运行mail程序,倒不一定要有.mailrc文件。如要查看
2 {# L; i/ y& C& ?' K .mailrc,可以打入more .mailrc,下面是.mailrc的一个实例:" a9 o5 R5 j' k" v$ p# ?# e$ N( X

4 `/ ?8 d2 v7 S. v2 a8 F' M cd& ?" p$ }0 M1 W( M. c

' u$ x. u) r: k8 o -在mail内,改变主目录nset autombox$ ^: A: h- \) }6 |% u( `: {
% m5 b2 c7 V3 j( O& L7 C* f
 删除自动把所读件转送到私人邮箱; I% C4 \* Q* O, L, i7 Y

& m* \0 T: X+ q3 S7 }# i: a set page〓20
. E0 _) M" Y( J! E1 U  ]/ ?' Y2 O/ c8 v$ U( N
 -若信息大於二十行,用more显示8 ^5 k/ u7 r$ }& Y
( I+ N2 R) |0 d! J( e; t( X
 alias crew john wanda frank
- ^* y( n) E! E" D$ ~7 k
# }8 F) B% c1 H8 K' u" ~ -发送给crew的邮件转发给表中列出的用户
' [1 e0 `# J( e, z
9 ]* W" A- `/ R4 I% D% | set EDITOR〓/us/lib/word
! a' U; [% z2 }+ G3 w/ ~0 X/ ?) m$ C
& ]8 @5 u. N4 [ -把word作为mail默认编辑unset chron
6 ~1 s8 E% M* R" }% [
3 u8 x. l0 Q( A7 q& ~, C9 @ -显示当前最新邮件 上述的.mailrc例的□面,当打入$mail crew,
5 V7 ?# C' \) F+ c0 e 就能够把邮件发送给john,wanda和frank。8 h; f' q% c& n
6 ?" {, t$ H. e6 a7 M8 W0 j" w% U0 F
 监视mbox是默认设置,如果不想设置的话,应该使用unset
1 u2 `/ p. k4 W& l0 F: ? autombox,而当mbox的内容很快增长时,通常会删去旧信息。如
+ I0 u( l: S! h2 k; a 果要读mbox中的邮件,可以使用如下指令:$mail -f mbox
. Z* k# e4 G: @- o% P7 N+ P( F! n# }/ J! f8 b7 Q8 W
</P>
作者: huashi3483    时间: 2004-9-27 15:17
<>第六讲:後援复制</P><>电脑系统内,数据可是相当重要的一环。贮存数据的方法,可以$ V/ j8 b5 u' h/ m( g
 经软盘、硬盘或盒式带(Cartridge),盒式带通常为大量数据提
9 F! |+ ~' w9 g9 j7 J 供後援(Backup)。
9 X8 Z; q& |, t
% i; o. l$ F4 a$ S 复制目录
' u: X% @  D/ ]* g4 j& t+ n( a( Y5 j" e/ N2 Y$ _
 在安装的文件系统中,把一个目录内容复制到另一个目录中,用
2 P- l; n3 Y% U9 _; R$ d copy 指令:% H- _" d. |+ c* k
& ?5 u8 Z9 q2 l/ u5 T; d
 $copy source&gt; destination&gt;
( d! @3 l/ @- F
& k7 s6 c( T; u! W #copy -mor source&gt; destination&gt;
$ H3 u" y, i6 R* d( O; m, H1 r% R6 D+ m# ]  G. q/ P% ~
 转换并复制文件
% f! r: H% g: T" _  q: W* `- M4 \5 o' }# K& M0 g* |
 使用 dd(c)指令,可以把一个文件转换成另一个文件,也可以选择
0 R* c/ a/ Q, \/ L2 W& o( I 文件的一部份传输,在传输的数据中,也可以交换字节顺序。. B& K5 n$ S1 k% |

! K9 n/ _3 J# ]7 Y9 s $dd if=/dev/fd0 of=/temp/save skip=5 count=86 bs=5k9 a7 C8 R+ y# ], [- q1 J# M

7 ~% Y5 o+ x* d( v/ U5 ?* p 上面的指令〃/dev/fd0〃 是指电脑上的软盘,〃skip=n〃代表在' q# f( i0 N5 M0 m0 t/ I: V7 {1 b
 复制到输出文件之前,跳过输入文件上的几个记录。〃bs=n〃则( O' h% ~/ |* d5 k1 d* v
 表示设置输入输出字节块长度,用 k 表示 1024 字节。〃count=n〃1 k5 Y/ w8 N/ _" ]. G. B
 只复制输入记录的指定数。) `( J+ x3 d* X" z! G3 l6 v( S
' }/ [) T1 G( ]+ y9 K
 同时,也可以利用 dd 指令检查归档(archive)情况,指令如下:5 x. J; }- [! A, c# \  E
5 M# \& A2 V2 B/ Q
 $dd if=dev/fd0 of=/dev/null bs=1k8 E+ _- |2 I' ]+ Q
6 p4 v  E: I: D! v" K; a, h' K
 1200+0 record read in. X, c5 r% `- r" ~
2 N8 G8 q4 o6 V' W" o
 1200+0 record read out
/ k0 E8 F! \/ \, x: ?# d0 q, @8 p6 m; i$ w
 归档文件:tar(c)
3 T- C- J# c8 n$ Q
, }, X% y: e" l  v' j  V1 L tar 是对非特权用户最易用和最可靠的实用程序(utility),从5 B5 w5 Z4 c9 y9 z
 归档介质上保留和恢复文件,亦能从多文件归档中抽取单个文件。
) a- U: e1 d8 j6 k! A1 l tar 归档使用文件和目录的相对或绝对路径名。3 l9 b* {/ A+ n& i0 C! Y/ R$ K+ d
+ y  ]5 J; p8 s0 ~, `6 U0 l
 打入 tar,即会显示所有变量选项;”cv”是创建归档;”cv#”
6 c* W1 R3 c' G6 e) F+ w9 \ 用於来自 /etc/default/tar 的设备号 #;”rv”追加已有归档;”  M7 |% ?( v% h. ]5 \
 uv”更新在已有归档上的文件;”tv”显示归档内容表;”xv”4 \! O2 B- A$ Z! T$ g6 m" e" A
 从归档中抽取文件;”f”从指定文件中读入或写出;”L”使 tar3 s3 s7 N5 \: \  P  l2 d
 跟随符号连接继续追查下去,默认情况下则会忽略符号连接。
7 U  i7 H! t# }  O/ k  H/ B" I- A- U, p$ b/ L( ~: T, z& r
 譬如要归档指定文件,而复盖盘上的已有数据,指令如下:5 G4 z- P( j7 @( ^* V/ ]' W- U

3 r3 u/ J; Z# G. y $cd pub' t  ^. U0 g: d9 U3 T, m
/ a! I' v/ h8 O5 X8 |: @
 $tar cv6 ascii greek$ s3 V/ W4 V* J# q+ y+ {' @: K
+ h5 P( R7 _5 z0 H3 s. |" x0 M8 c
 volume end at 1199k, block factor=5k
: p9 V- ^0 S: k9 {
$ I3 r3 B. T! ~  _8 _ seek=0k a ascii 3k7 {3 Y9 u7 x4 Y9 d! d

; ?  I9 q7 ]! ^0 F seek=3k a greek 1k: ~5 [; H# }0 z* z

1 A( @) B: E; B9 ? 要列出 tar 归纳的内容:
& K! Y6 a& o8 Y$ ]
& L+ u+ Q* Z( q( }4 E# A $tar tv6
$ O+ s1 h8 j) N
* C% |* g* u2 Q# z rw-r--r-- 2/22114 Jan 2 13:41 1996 ascii, b) D9 C0 s5 o6 A7 _4 g  l
9 S9 _1 n; d$ N/ m1 @8 [$ ?
 rw-r--r-- 2/2475 Jan 2 13:41 1996 greek: ^4 y4 X' O8 n2 A1 K

# I# H1 Q' Y' F: E  k  c& d 创建 tar 归档,使用相对路径名,否则,恢复另一系统就会盖写" C  \: L1 [! X2 [2 S
 其他系统的文件。+ d5 L" `. s( |' |% P8 w3 M
" ?; `5 q  \% b! F4 r( z
 #tar cv6 /etc/motd
0 ~8 i3 O4 [2 g" ~4 B/ g, ?8 `- A
2 r+ a! s: e' f, S* E7 W0 ` #cd /tmp
: W0 p9 Y3 ~0 N. K8 L
1 ]/ ^1 @; D' v9 ? #tar xv65 ~2 n# o. {% i6 ~0 p& g' G
3 z( m7 H. s1 E' m! E9 P
 x /etc/motd, 943 bytes,2k
. g% ]# }. s: I; f, S9 R; h
  |. Y) V" ~4 {+ N1 } 归纳文件
, ~! e: z8 ^' j6 k% }
) A$ r0 A. o: |) w4 V# K 当需要後援指定设备、後援空设备与使用匹配符的时候,就不能& @- @. f2 g( n9 i+ T4 Y5 y
 使用操作容易的 tar,而需要转用比较复杂的 cpio,用以归纳文件。5 }) ^8 `) e0 }# l8 D

- l( `$ s! O; W. K0 M7 p# L( w 譬如,需要选取文件建立归档,指令如下:
* T. C/ o# s( \" e1 q3 h5 H) i7 D' h
 $find /u/bill -print| cpio -oB -O /dev/fd0
+ j. y9 J/ J. w' l; _. F" ]. l- v+ p$ {* I- `6 l7 C! X4 t
 20 blocks* _' z1 a7 W! r- N$ G# Y
4 j- C& J' w0 R( G
 又例如,需要抽取 cpio 归档文件名时:6 @* ]0 E  s8 k2 z& ?3 `

8 U. z1 f3 x6 E1 B- Q, i: {& D $cpio -idmuBv -I /dev/fd0
! |7 m1 ?- y2 h5 |2 i9 a( k5 o; V$ z9 y
 .profile
8 N& W! l+ L- q) J; c( B! s3 _! n& n4 J0 K9 K( `; a9 R
 ascii
# R3 U( S0 Z" y" Q% o; C) n5 V
: D( O* g8 d2 e& n; z/ Q3 {4 R eqnchar
, v/ b* ]1 j) g0 R' I5 w4 N( g! Q7 g! V5 w, n: {
 greek
' m) U5 F5 D5 t" ]& n3 y4 j; N: K/ B2 ]! J% e- Y% Z; {, r9 T' V
 20 blocks& X2 x# _4 {) [* J

/ |) P5 B) h) U5 i8 o# P5 Q cpio 主要选项为:
  |1 C7 P; {; V* a6 o8 Z5 c& n
 -v 显示工作6 A4 ?8 O" C1 W8 h

3 Z2 |9 V$ b+ S -i 读归档) \5 i6 q2 t/ k
) K. M. q/ ^6 K" Y" k5 R
 -o 写入归档
# y& W2 }% k! Q/ X
0 N3 l0 z$ F7 M -t 内容表
6 I& [0 d' D2 N
6 Y$ S( e" F) ^% T3 @4 Z -d 创建目录
& |6 N0 z1 }8 l# U" M
# z4 n; B* f5 l; W6 p! }; n% m/ _ -m 保留原修改日期- z4 T9 |0 S4 m& L8 N$ B) y
7 e! q6 s6 S4 r7 }: J2 t# c
 -U 无条复制5 J$ H9 }! ^& }5 {1 |

3 j) @' _8 R, L -B 分割因子置为 5k2 f' O# V" k$ w8 P+ y7 Z

3 k1 N5 {9 Q' e& V. w: g8 z -Cn 分割因子置为 n
" w. G5 {7 M7 D2 q+ I" i% e  n6 o" i/ {( y
 -Kn 介质长度置为 n; {# k* p. Z- M# ]# s

+ W& N, p# o# C! ^3 N2 B! ]" W. n: p 後援复制  D4 F& T. B3 b9 H. j

, ?$ l) T( F( B8 j" W3 x 後援就是要平衡运行一般後援的代价与损失数据的代价,确定要
! @; A" x' W6 ?, I3 y 归档的数据类,并确定要用何级实现,以及确定所要求磁带的盘
0 @% r! h) L# m# u# d4 D 数和带的容量,多久存储一次後援等等问题。
4 y& a4 @- q) D: F* h# B) f, b, D1 A
 一般来说,後援复制可在 sysadminsh 或 scoadmin 执行。  b( D' F" I. I: N' D

" i4 A( O- m) ?8 j8 @ 所谓增量後援(Incremental Backup Levels),就是只需要以上
( d+ l0 S  z" V2 ?) A/ G 次归档後发生改变的那部分数据後援。当实现调度後援时,在/ w7 \& P# M( v. Z6 o- P
 /usr/lib/sysadmin/last/中,将文件记录下来,可以透! Q- Z: [% H6 A0 f, I" f3 K7 {
 过使用後援级来实现。1 `9 r8 X+ X: [2 J' Y
% C) R8 h* J& `+ [
 後援级的 0 级就是後援文件系统上全部文件;1 级则後援以上次
! K4 P, U( l- f6 O' Y  L 0 级後援以来改变的文件:2 级,後援以上次 0 级或 1 级後援以( j. i9 v. O2 z, j; ^6 {8 v5 b
 来改变的文件;3 级,後援以上级 0级、1 级或 2 级後援以後改变
  r7 s* A* E) T4 d# Q: Q& l 文件。
8 Q5 I- T' l$ }6 @8 Q1 s9 @/ N# J( J( L0 @% p5 W; h$ O# Y) v
 经定义後援工具後,後援调度(Backup Schedule)就可以更方便
. Y5 \' N/ Z& T' ?+ ]% i 地执行,配置档案则会被安置在 /usr/lib/sysadmin/schedule 中。
4 g; P9 {) Q( l7 u' G& {8 F( D# M% A% B
 假若在紧急关头或特殊情况下,用户亦可以使用非调度放援,进
2 s7 k' ~& G6 x 行紧急後援。
( ~% E3 ?, x7 H, Z* n$ V# \5 G0 Y$ F" X( |8 j
</P>
作者: huashi3483    时间: 2004-9-27 15:18
<>第七讲:用户管理</P><>系统管理员的用户理工作包括:为系统中所有用户建立帐号;以& Z" T# g% R* |0 \
及当改变用户环境、口令与组别时,进行维护。
/ h& E( B+ b( ^& G  l' K, ]
; n4 \: v8 R. J+ Z分析用户需求
4 M2 J' W9 M' b5 s$ b5 v6 P8 R; y
6 p& c( g' L1 U; V, H% h0 c3 J每当需要增加用户时,系统管理员都会先分析用户需求,对每个
: `2 U( }8 n' S; k# j9 A帐号成分,通过使用默认选项来满足用户需求。要从sysadmsh中) L& A  T  Q) d: b
查看默认记帐选项时,可以使用以下选择。
* p$ U- l9 ~! O) f
; d. j( y9 p+ b* [: v  yAccounts□□〉Defaults
  P' n+ X5 P4 N# L
3 Y& y" B/ |. p  q" N4 @或scoadmin□□〉Account Manager8 d! t  {% O% y% Y
$ {( D+ u  H9 T, _
当建立帐号时,评估用户需求,查看是否需要修改记帐成分。若6 ~7 n& ]  V: }% u: Z' ], G
用户仅用一个应用程序,编辑用户的.profile文件,在用户注册
/ y4 }# l9 M7 h6 ?' C  N时,每次均执行此文件。
  U( i2 |* o: J. q: f
9 |1 N* Q0 h9 @- A( V7 z默认值建立用户帐号(Default Parameter)- j/ q6 ^4 ~, a" `5 B) \6 u& w, o
2 [4 y, H5 C# w; {* r, w6 g
首先,打入用户注册名,小写与三至八个字符;填写注解栏时,
# v# }) u" @9 T, ^8 c( z' N应包含标识信息,如用户全名、单位、电话号码等。另外,指出7 H/ ?2 K8 W# ]- }9 Q& i1 l: d
是否愿意用系统默认方式建立帐号,抑或对帐号修改默认值,若7 e. o# b2 S4 k- t
使用默认方法,则选No。确定你要增加的用户後,给出创建後的
+ H7 N' j$ b: Z4 n文件和目录,再执行/tcb/lib/useshell指令,建立用户帐号,, X; [7 O. v7 b" X! `
不过,在UNIX系统指令中,要通过sysadmsh或scoadmin才能运行
6 c3 Y7 H  q& n; k此指令。. J* K  [% j# x/ G

0 x/ f- E$ \$ s若决定改变用户记帐默认方式,则在建立帐号时选Yes,那麽就需
5 M$ k4 n6 z( D2 I( ]要填写每栏,在合适位置上,按〈F3〉或〈Esc〉,下面是关於非
0 v8 B- ^8 {3 B; v- I默认的设定。9 {( I7 l/ t+ N

, j# F$ C4 G9 U5 j; ?$ Y* q+ m指定用户组
) _" r8 y# n- ^% R! X
1 [$ e; {- t8 S# x# w3 a每个用户必须至少属於一个组。默认情况下,用户注册组是group。
3 E1 ]* q( a3 F8 A' f. e在一个组内还包括读、写和执行文件的权限,附加用户权限给那
  H6 a' B- T1 y, Z% G个组,作为指定组员的存取权限集。如要改变成组别,可用newgrp(( P+ ~0 x! P, [/ A: @" P% S5 o! A0 G
c)指令。
" Z8 q) U0 O' e5 f* C. n! V! v
1 Y- a3 |  m: I5 f* k: g" p% T) N增加用户时,可以创建一个新组,或附加到一个已存在的组内。$ H; G% b* p9 b' v8 ]- o) @( e: X
有关组别的信息则存放在/etc/group中。凡增加用户创建新组
0 Z. o3 r! z  d, w" \* a) r! u时,组名会自动递加到/etc/group文件内。
) Y2 Q6 s2 X6 R0 A
$ L) L; ~0 z8 K0 t; l- y4 j& b组ID能够由系统产生或人工指定,但必须在100到60,000范围内,$ t/ G( A8 Z# M! \5 F6 l
100号以下的ID留给子系统和其他默认组用。当管理一个网络系统
! Q& ^: k" F! i/ A2 e时,常需要指定GID(Group ID,组ID),避免混同各网络结点,
+ g5 u+ {4 C! o0 O7 l0 e9 `' M! g所以,最好先选用默认组ID。6 n% F2 ]+ ]$ T; |# T7 u

* s% [, @  h2 Z( L指定逻辑shell0 J. ]  X6 B8 H) y0 M
* {0 d" b2 d5 d/ V% p, L
要知道用户打算选用哪个shell工作,SCO系统可选用以下几种不1 e9 ~/ W. G/ o& v; M( V# t4 L
同的shell工作:/ u* H( C8 A  f+ ?' ~7 C3 Y
; p9 O- R( x( ^0 l
csh: C shell。. |* v: p% b* y/ T
1 R6 u; D, w4 r  E: @8 j4 N
ksh:Korn shell,组合了Bourne shell和C shell的特点以及指
1 o+ y  q! n, W; S. c8 i9 T- @/ D令行编辑。$ r9 ]& j6 @9 p3 j. b# B. @
5 ?% O6 x! ?# J$ |# N
rksh:加限制的Korn shell。5 V% M# V) F% k' y9 J1 |. W# v

7 {, }* l9 Z: qrsh:加限制的Bourne shell。  @9 f/ g- E1 [0 N& G
% \) O, u: t  ]' t
scosh:SCO shell(图型化桌面)。( G4 z: s9 V. n& T

6 A' }0 c! J) b/ B3 osh:Bourne shell。2 C- H. Y0 w, B7 F
8 R8 \( a4 @" H( {
uucp:UNIX到UNIX拷贝功能,它本身不是shell,而是成功注+ b! l" v# T  Q! t/ d1 S
册後运行的程序。
( o$ p9 W3 t* Z* T8 b
7 Y9 I/ m2 H  W( S& D默认shell在/etc/default/authsh中指定,从/usr/lib/  c1 Z) b+ \8 _- c- P) a
mkuser目录结构内文件中,取到可采用的注册shell表。
) V' T8 l2 j: T; N' N& Q9 {4 c( z  o; O0 J
指定主目录8 K: }& C9 j6 b5 I
& S( y! Q& ]* H, G, b
默认主目录在/etc/default/authsh中定义,从/usr/lib/
; i. ?  K2 B: w" f$ Jmkuser/homepaths文件中,取到可采用主目录的选择。以及为用
+ s6 I: H0 s* }0 ]/ w户创建一个新的主目录。
1 g4 h0 K6 k: M) v( r
3 _7 x3 R7 J) Q( k) G  r# Y% _指定用户ID(UID)必须是在200到60000范围内,指定在/etc/
( D9 t3 D) _) q0 kdefault/authsh文件中,UID必须是独一无二的,防止在网络上' C0 ~. K( }* f1 F  s1 Z2 p
有相同的UID,而且,UID一旦设置,永不改变。+ r1 s  j2 p4 M( m7 M
' {8 x/ \* q, x+ G1 w
指定用户类9 t: U) u1 i' d: O5 [
& ?; Y6 v  N- D; K6 Q& L- [/ t3 p
另外,还需要为用户设立他们的类别,种类如下:
' Y) `/ J$ t0 x% n6 I) W) ^5 {- x' B0 ~: c* X8 z
-individual:个人记帐类。
, c% J. u& C, v& E& p5 P  I( f. d. S8 R+ X! }* J
-pseudo-usr:为各子系统任务设置帐号,注册时个人不应给4 H7 Y- P3 Z' N  g; s/ G! N* k; `
pseudo□usr记帐类,Operator、security officer和$ [7 f7 r4 |/ m
administrator记帐类是pseudo□usr的其他名字。
8 V8 i' J% ]# }
, c: ?5 y# ~1 Y+ x% r-不能设置superuser和retired记帐类。! ]: R# @6 Z* ]5 L  U

; q9 m4 L1 N6 r. v5 \如果要能使用su(C)(所变用户身分命令),该用户必需被指定/ A$ W* u; _  h0 U: ~; Z) F2 o: T
为用户类individual,才能取用此域,为了用su另外记帐,用户6 `' _6 E1 i0 X
必须有su授权,知道帐号口令。low、traditional和improved为0 a2 L) N6 U, R( ?& e. x
安全默认值,被赋予su授权。在high 安全默认值下,则不赋予su授
2 b- u; G: h  ]- h7 [1 p8 N权。1 \! N8 N3 s# y" g- V

  D" |2 W4 X' u赋予用户被始口令
  v5 s/ m" Q# Q& q$ [" S; M& r0 d8 |3 K/ s/ z0 V
当创建新用户帐号时,就需要为用户设立或不选择不设立初始口
. Z, x' I5 _7 t5 ^0 \5 ~5 f令。
) [1 _6 ?3 r: V, C4 k: h  i* d& `# A4 r- h! Y. k
-New:现在赋予口令,用户在注册时必需打入这个口令。
) X4 L7 w! f, W* {! L$ n
" c5 K& e' A. c5 `2 N, k$ [# T* n' b% ?-Later:现在不赋予口令,在赋予口令前,用户不能注册。
7 O" \. M; Z$ A$ H3 e
  g0 j# f9 j: _1 C0 b: D-Blank:赋予空口令,用户能注册,但在注册时,强迫用户给出
7 B% `. s7 S) g$ ?/ h) _- F1 M7 I1 E: r一个口令。8 w  ]/ q! x3 ^- ]3 \" [% ^9 M

. f- K9 @( K; L1 d-Remove:不赋予口令,用户能不用口令注册。
3 D& Y, Z/ X9 |% l7 r" B+ P( L3 W! u
-Force Password Change:决定在用户首次注册时是否要用户强8 G0 c) P) @1 u3 I1 N- [
迫改变口令。  |. k1 [* o" ^' l

# Q6 [: |! [; V" C! D在high安全性下,必须为每个用户产生一个口令。若赋予初始口1 R. I, B- \. Q) k) I; p
令,就应该告诉用户他的口令,希望他在首次注册时,立即修改7 k, C, Q, G! E  Z# A
这个口令,修改口令时,不要选用别人能够轻易猜出来的口令,4 c  J$ G7 w( B- U
如姓名或生日日期等,最好在口令中,加有一个非字符。
9 c9 ?& }( {8 L& ^
* f/ I0 d1 C% s2 Y0 O1 s1 t7 v系统安全保护:修改用户默认帐号
1 t: {0 E3 W% n& K1 y/ {  E1 @) {! Q/ i8 W' \
为了防止被人滥用别人的用户帐号注册进入系统内,保障系统的# Y* o. A3 d1 y9 D! W
完整性,系统管理员需要修改一些用户的默认帐号,以及检查用- z& y" E3 m2 y# d
户的注册情况。
$ N/ i3 J5 {9 i
- h1 X" Z. m; p+ t( }( u首先,管理员会设定不成功注册最大次数,计算使用不正确口令0 u; V) B5 Q9 Z7 I6 n/ q
注册的次数;当不成功注册超过最大次数,就设定加锁用户帐号6 s( C8 V9 u4 j
和终端。如果在完成注册时间之内,仍未能设置口令,也可加锁' K' C; \" G8 u: b( U. s* d
用户的系统,甚至根户用也一样。在成功注册後,希望享受优先
+ S' B+ _! i6 Y/ x6 tCPU调度,则可以用nice(C)值,给用户she ll及由它启动的进2 ~# v# p. a) ?0 Y0 |
程,以调整优先级。设定值会存放在/etc/system/default中。2 `" ~( p/ d5 N# o3 m6 U1 T: |

' P2 x& R/ Z7 c( |& q6 v. M</P>
作者: huashi3483    时间: 2004-9-27 15:19
<>第八讲:监视进程管理</P><>程序是一个可执行文件(Process)是正在运行程序一个实例。
% Y8 C" u5 r4 Q5 f! R0 p  iSCO UNIX System V支持许多进程同时运行,各种系统通过调) \" T- D3 E/ t" q) J) T  T
用可用进程去创建新进程,与其他进程通讯,以及终止其他进程。
1 Q6 I  x7 z# S2 q- T; ~( l8 m8 [
( `8 R  v  t, @进程族系" r/ n% c! W, b4 V& x7 t0 B) f1 m
' w* t9 q  p0 |
新进程创建时,内核会分配一个进程标识号(PID)给它,并对
& y' i! E7 L. H. }1 `; N进程表中添加说明讯息。
4 _" p& y- ]2 U- j) F. ?) K+ c$ u2 J6 I, b+ A7 T5 O
由一个进程创建另一新进程,老进程为父进程,新进程为子进程。5 T8 L( x; M# v  J0 A8 P3 \
用户Shell执行的大多数指令又是它的子进程,子进程则运行指令。
6 A* n4 p: \1 f, K而父进程允许有多个子进程来实现任务等,待子进程完成。一个, w! W1 V- w( u, g
父进程可以有多个子进程,但是,一个子进程只有一个父进程。
1 z9 J0 v" s, O& T; ]  v* E0 z
( S" U6 d3 c+ m4 R8 N0 R( Z前台及後台进程" G7 i, _( J, v" N" \1 G
2 \- g! m( @. J7 O: j+ O' Q% n0 {
在Shell提示处打入指令後,创建一子进程运行命令,Shell等待
* p+ C3 U; [& N) k命令退出,然回到对用户提出提示符,这道指令与Shell同步运行,0 N& A5 d! F  s5 i
即在前台运行。3 ?+ X' L7 \$ m7 C
/ N& t' M" c1 d. E1 D. p
在Shell提示 处打入的指令,若随一个&amp;,Shell创建的子进程运行* G, j" m7 x; a1 h3 T$ G
此指令,但不等待指令退出,而直接返回到对用户提出提示。这% D5 \& e3 }! n6 S1 R+ m' N
道指令与Shell同步运行,即在台运行。: c2 u* M6 d0 E# M* E5 E$ l
5 @- G, n; N! P* \/ {+ B
$ sleep 10 &amp;
( X  t# `) A2 ^) L5 U, K7 U1 R1 k8 ^9 @: e+ h; J! q
精灵进程* v5 @/ _/ O- n$ u/ p5 [0 ^( K3 L" w

! I$ a, |/ _1 |9 f* f1 S精灵进程是一个进程,它与终端和用户都无联系,也有人喜欢称
3 A; Y! r, \* B3 W) B他为管家婆。精灵完成一些周期性的事,平时它睡眠。用ps (C)
' N. D2 f. q7 h7 B/ X指令可看到精灵,它在tty区域中带有问号(?)。( V" N, o8 ^) b- ^5 [1 C2 ~6 U
4 e# l- m" V! _
-Sched:PID 0,它完成进程的程序在存储局和盘交换局之间交
7 g, {/ i# ~. H- `- Z换工作。
% g1 H7 H; ^+ h( s# X% R, i& w* Z. j+ t: `0 h
-init:PID 1,系统自动建的第一用户进程,它负责初始化引" q1 @9 |0 F. ~; y5 r' h
导和注册过程,也就是所有非系统进程的祖先。它会在终端口上,- }" x$ Z3 n8 f5 Q# L7 H. ^( R
启动getty (M)进程。
. J+ R+ p# k  w8 q4 B
, {' g# l; J/ Y7 ]9 F/ a' `$ E-vhand:PID 2,页面精灵,它频繁地把储页面内容送往交换区。
) \& X( s0 Q8 C# ^
3 y- Z' t6 {* g. y# q+ z-bdfush:PID 3,定期刷新高速缓到盘(默认情况,每13秒刷
& I9 a0 g% X: g: `新一次)
) ?8 |5 r, H  Y1 w2 W* I6 c3 }' \9 G( }% [" U
-logger:归档系统出错讯息。' e* u6 c8 S7 ^1 P! j3 e

# h' W% j2 y$ G) s; W& a-cron:在调度时运行作业。+ E7 G- }8 ~% t' E8 v% E
+ R5 q- E- H; R9 l2 B; v
-Ipsched:脱机打印精灵。
5 ]1 L% P3 E2 j3 T
7 t. |" |& K2 f+ B  W3 Z# @! s孩儿进程, D) `4 w* e" \+ \4 c

; O. H9 A& J  U0 ]7 |0 W孤儿进程在父进程终止仍旧活动,由init (M)认它为乾儿子。5 E; z( k0 e- P+ @" s# V
僵□进程则是进程已终止,但进程还未撤消,因为父进程并未「' h! N" \1 @* S6 v: G1 o  B3 i
等待」它,进程表仍保留著这□体,进程表的□体是僵□进程所
) ]! R2 I5 r9 Q4 a1 h6 |消耗的资源。/ [% t) o9 B/ c$ L1 i$ ~
8 G+ J  H" ~* c$ k
随著新进程的创建,出现大量□体,但总数是有限制的,因此影! c/ Y  d5 J2 @
响新进程的产生。而孩儿进程与僵□进程不同,并不会影响系统0 N$ q' U  W. f# _; d) O9 `
效率。! s' Y2 A0 m. d+ @/ Z8 {* \7 C+ c
; C$ j, a6 H# k5 q: Y8 {6 d
通常,在父进程死去时,才会移去僵□进程。若他们还未移去,6 g& U& ]! }  ~
应由init (M)继承并移去它。+ f( R) i# a/ r1 v8 c

/ W3 j5 |( G0 O, W5 h7 M4 m监视进程
. v1 a+ n, _2 Y0 M: h: W2 x1 M& s( M: v+ d" U
监视进程监注册户的数量,用以记系统的性能;亦会监视用户进
8 p& X# A  B: A8 d& N2 G. B程,包括挂起进程;以及装载均值等系统性能问题。" u5 o6 f' W: z  W5 `( N

3 o2 p1 A" u0 T' Q0 y% w要显示进程信息,可以利ps (C)指令报告,进程状态。在默认3 g$ h  I& C: w6 u9 A
情况下,仅会报告与当前终端有联系的有关讯息。若用户没有root权9 m2 a' P' y) N# V
限,ps仅限以说明运行进程,报告用户的进程讯息。若用户有root权
. F8 b; @. c* i2 O# A+ B限,则会报告在所有终端上所有用户的进程讯息。
: u" t& S) O9 V  `3 ?: y+ q* R: U
8 Q; N7 g6 Q% t' ^2 K$ ps-u joana/ x# H- j$ ]6 H6 \* c6 r6 Q  i! d

$ R$ t: }& i- x) |2 Z--u 〈username〉选项显示指定用户的讯息。
6 ~- J- d, B& f. p! b0 P* c9 a
- p$ w) Y# p- X- m% m% i4 ]--t 〈ttynamt〉选项显示指定终端有关的进程讯息。; N' _7 e2 k& Z# O1 P  [( J: A7 I2 q
1 Q9 D3 a2 w. O% [7 l
而ps -elf指令则提供了需有F、S、C、PRI、NI、TIME字段的5 q6 l4 a+ B: s6 \7 ?
使用讯息。
, ?  o! ~* P9 u- m. B' q" K
& b/ {/ A+ _0 w0 X-F是标记,指示进程位置,20表示在内存,0表示交换在盘上,
. d! T4 V( V4 b+ g8 v' @31是系统进程。
, I! c' b# d2 b4 C' @7 i3 S9 I+ q( X( _3 Y  P
-S是状态讯息,指示进程状态,睡眠还是正在运行。8 [4 v9 D% s) w- d2 r

  ?) s7 k* q. @& C6 E-C是进程占有CPU的百分率
/ K# P3 X0 h- P# d
0 g5 G+ [4 e' h( V3 o9 G; r' |-TIME是花费CPU的总时间。% G0 H* k- L/ O
5 M9 t% x0 J' F* ~* R& A! |/ G2 a
-PRI是进程当前优先数
7 @; @( K: o. l2 J8 d* _" i- [% }  I6 Z2 P' Z6 V3 W
-NI是进程的nice (ADM)菜单0 S3 A& h# h% n6 C' d# D
: O& J/ e) O' f  Q1 i. H- ]
如何创建进程& ]1 e8 J1 J% B! [0 B
7 l% W: U8 W2 L% y) a7 S
当进程分岔一个子进程,自己就会进入睡眠状态。开始时,子进4 e3 {! o7 x, E1 d& r
程运行父进程的同一程序,由内核分配一个新的PID。当子进程
5 _5 C+ c) x1 A, i5 F4 u+ v. b" F再去执行新的程序,保持新分配的PDI,新程序就会替代子进程
, T0 I6 Q8 K$ {7 o的原先程序。* q- m. z) D3 L! s5 m5 _& N: m
, H( s8 `$ o4 _  Q
当子进程完成後,内核会把它从系统中移去,再唤醒父进程,子' T$ Z6 j) r3 V* y
进程就会退出。
3 c; ?5 s) }" Y5 v: o/ D! Q+ L% b2 V
监视系统装载% O* S  \; E8 P) y. b
8 _8 a% D; s# @; L2 D& l& e
uptime(C)指令显示装载均值(一分钟、五分钟和十五分钟),
) c9 I7 v: m/ I; L+ Y2 r4 T即在预定时间上,排队运行进程的平均数:$uptime. f; [* U: ?  x- L9 g
4 k6 |' A- n, u; G
W(C)指令产生如uptime(C)一样的装载均值讯息,并显示谁在
6 i* A, H: ]9 Y) [- F系统上做甚麽,若用户拥有root权限,W报告所有用户的有关讯 息。
- a$ z4 r8 |5 t若没有 ,仅显示与用户进程有关竹的讯息。1 l& Z! \7 z) i/ w

1 v# I; c( u/ r- `) y: sPCPU(Process CPU,进程CPU时间 )显示某道特定指令已运. u3 @/ y2 t; s4 L* S. ^
行多久了。对控制不了的进程,这种检查是很有用的。JCPU(% I* i* {5 m# U! D8 q* b
Joint CPU,连合CPI时间),显示一个终端所涉的所有进程的9 [2 O- E( e- X2 X" R0 \
总时间。
6 S- j, ~9 C8 T
1 y, c- {" A, i- K3 r9 B) rsar (ADM)指令是一个系统活动报告程序,显示系统资源累积
) K. l% o, J7 i1 ]* o" P利用率。为指示系统瓶颈口(Bottleneck),sar 是非常好的实
0 e- F# A4 Z& h& [# @% Q( D用程序,指令语法如下:$sar〔-option〕 〔) q$ m% l8 x% l8 p( ^& B
sample-interval-samples〕! L* o5 Q& ^0 a  V
( z3 O  b) ?; r) _, x: W. M6 N! {
例如:$sar-u120/ G6 V: l' J) r. L
6 O/ e& x) t  Q
-u选项显示CPU利用情况。如果%idle一致地低,使用效能是上升,
1 @3 e0 K% i2 J- L' D6 L  [/ i不过,运行的进程偷不到未用的CPU周期。, K2 m. L, E) a

3 `+ C' i0 I% k' i又例如使用-q选项显示进程吞吐量。假若%swpocc大於20,就发生( l0 ?$ [/ J& p' g# P
交换(Swapping),可以使用大内存能减少交换 /请负活动。$ s7 v. h- h0 R' T9 o

$ j" j( i& Q! E</P>
作者: huashi3483    时间: 2004-9-27 15:20
<>第九讲:管理进程</P><>用低优先级运行进程
8 a7 a  {) I  [9 n: ?! O% R. x% ^
 nice(C)指令用於以较低的调度优先级执行命令,每个进程都有
( n2 J8 b# A9 l" g8 o 一个 nice 值,用於计算它的优先级。nice 值在 0 到 39 范围内,( y' e) I5 W/ z; c
 高值获得低优先级,不给实参的默认情况是 nice 值 20。超级用户  \4 V* r/ c, h6 l* M! ~% Z
 可指定负值,以提高优先级。
4 N3 u# q9 t; d& X1 N2 |8 _* S' l1 O: f" R
 在注销进程後进程继续执行
4 P; t7 z1 r2 m5 l) P5 g
$ ^  `' ?+ @8 p3 ^9 G! r( Z 後台启动的进程,默认情况下,当注销後就不再存在,但是,可
, h3 O# i& I/ E- V 以使用 nohup(c)指令,让进程不受挂起和注销影响,得以继续
% y6 F3 q( U6 ~& @3 i% T 运行,例如:# m. u0 f& H9 ?, x' G0 V$ ?
1 B  P& A  l- a5 _4 S# L5 `3 C
 $ nohup sort bigfile&gt;sortfile &amp;3 R7 A5 S) x; d' I2 X2 W/ H

/ ^+ `4 @- j, G* v0 ~ 4567! T! c; a, U0 z/ C/ T$ q
( y' u' o1 R% T' m, V
 $ exit
1 C) n& h# t4 r7 L
/ p, R, ^- C$ U! {) n0 r# {: f 当用户注销时,用户未用输出改向,输出将送到当前目录下的
6 N' Y$ M! b) @. r& Z( A nohup.out 文件中,如果当前目录不可写,则输出改向到, q, B/ u% b9 L- o
 $HOME/nohup.out。
6 |+ F/ h8 z' r3 K: K% v% k% a  y% M0 r( l% Z! n7 N0 ^/ C
 重新启动安全级精灵进程7 J& w# W$ c, T' d& T8 J
( @  i  s5 O+ Q" r1 Z  l. _/ _8 y
 根据 C2 安全级要求,某些精灵进程用 LUID (Login User
1 t  J6 K  K) F" H5 k' _ Identifier)标记运行,如此只能用 sd(ADM)实用程序重新启
1 g  H- W( f" [- I; R1 `( l 动他们。2 F, K+ H6 B2 z

3 x6 U/ h$ R& \- T& t' Y" S 如果 LUID 限制有效的话(高安全级),只能用 sd(ADM),例
7 ~8 E  P5 U" \2 g 如 cron(C)这样的精灵,在高安全级下要 sd 重新启动它。. X% K0 v6 y. b0 _0 ]/ C

# d% K# P& m7 ?; A+ ^ 进程终止实用程序# ^; |; G( L& |) A% V; u4 I0 y
6 R* n. P" D/ O8 Q3 J
 需要终止实用程序时,可以通过发信息给进程,使它自杀,通常
( V) _* j+ O9 \$ }5 d6 F2 l3 p 会用在终止一些已挂起的或是运行的进程。# Y7 e2 i# o. T9 \+ c) g& p
/ t1 J, m5 q$ U# s* w; |
 语法如下:/ \% i- \* t) ^; I
1 ~# E& C8 E8 T# T
 $ kill [-signal], T: c' j7 y8 x! D* _. x
+ _2 Z/ `; s7 V$ Z
 例如
4 F9 z$ [1 s7 u7 a7 ]) D9 u5 B; ^0 X5 D9 b1 N
 $ kill 44119 s9 j# Q  n6 [; e2 ]' ]4 e, k

; H* A) k4 ]4 @9 h" m 4411:terminated
" O8 A: G: T, {' J/ n9 X; H. v' }% a( _. g; v
 这样,只能终止运行优先级大於 25 的进程,小於 25 优先级的进. T% J: D" p% Z8 B. e
 程只能在重新引导系统中撤注它。; R- T4 H$ ~0 I$ f# X
7 i6 U  {, F- q9 C# a
 调度单个作业执行# i1 X& q) }2 }/ q: J  ?
; Y$ O6 ?* H+ m& M9 O* U% u
 at(C)指令使得在某指定时间执行一组命令一次,主要用於在系统" t* W2 }( }* p0 L4 n: J
 活动较少的情况下,在预定时限(例如在半夜後或每日固定时间)* J" ^7 _8 @) K; e5 r/ u
 内运行指令。
+ o6 t- V/ R, `3 e8 t# M% l/ B, D, U8 J5 [
 要重新定向,可以使用标准输入,或可文件输入;在打入完整的
! B. c" O; R1 C- k2 j1 a4 T at 指令後,就会显示出将要运行的作业号与时间。
/ a4 M1 t- l( O, x  e
4 K$ M/ E4 Y# Y% m7 z7 { 语法如下:8 u6 F) V8 x  X" T

8 N' S4 f0 a& Z! h- X$ H# G $ at time [date] [increment] &lt; [filename]% @/ }. H2 Z" ~+ f) |" U/ ]  J

% _5 O6 [/ L: t1 @, H& x 任何用户都能运行一个 at 作业,但必须给予授权。
! }5 d$ h7 k1 M5 X0 k
9 W) [# e3 E, I: B* v( Y  F2 p' i( v 指定单个作业调度时间+ ?7 ?$ c6 W+ W* X: M# K
" Q' U7 W& _- r  j5 s
 时间格式为 hr:min 或 min,hr ,用 a.m 或 p.m 指定上午或下午,, K& Z* n' `8 f9 G2 a7 @
 有效时间包括 no on,midnight 和 now,指定日期则用「月日
( J  O$ b  H% c- E3 l 〔年〕」格式,例如 Feb14。一星期那一天也可用 monday、
5 u+ x6 S4 f  B0 z. r mon、today 或 tomorrow 代替。7 X5 u6 ]' d1 L& g6 a

. R2 X0 R+ |+ W8 t: B3 s7 r) k1 J .at 指令从标准输入中,读入打算在以後某一时刻所执行的命令:
1 F7 `2 l/ a# @/ f
5 D' C3 K' y9 L5 ` $ at 14:00 Jan
8 B& h1 L3 P8 i) _  k) B( C/ g* m* o
8 K1 T+ u8 }& c* K5 _ sort /u/user1/file
/ E/ n6 x3 `0 a% J% S4 p! l
) {9 B- Q0 s+ m$ c, j' @ /u/user1/sort
( E0 M2 _0 H7 s; P, |$ a: k! F, A8 z# X: ~6 y) [: _( w1 n
 ctrl&gt;d5 m. c& |6 [) B; p6 T
1 P+ g8 h* B: a6 ~, P! h, J
 job 61202778.a at Thu Jan 4 14:00:00 1996
5 G6 Z5 n* M& @9 ^9 z7 Y. q  }1 s/ v0 @7 h- ^1 u8 `; G' q
 记著使用时,要用全路径名指定文件。指令输出以电子邮件发送
. ]3 E% g4 u) f& b/ \( e4 ? 给用户,也可输出改向到文件或终端。& v* U/ z; F2 q/ t4 j

& l2 T5 m# ^2 ?3 u) W  V; I  D; n. @ 列出单个调度作业3 L, i. y6 l3 ~% K4 h0 k  U( u0 u
$ U) T; q7 B! o/ u
 使用命令
. G/ N2 J7 w% k2 f  ~* K" `. z  _" F+ ]$ l
 $ at -1
/ N" n* z! I, [0 C/ h) ^4 `2 r3 C6 A
 job 612027780.a at Wed Jan 24 08:43:00 1996
; A; B& `2 k, B5 ]$ {) ]6 |8 N# n& y7 c# |5 p. I- g6 M7 c
 job 612027900.a at Wed Jan 24 08:43:00 1996
# l" f. p1 }% U2 @1 E4 n" t
  `9 E5 {7 i, A' b6 w5 l 若指定 jod_id,一般用户会得到一张自己所有作业的表,根用户/ @) Y$ ]% t2 B; B5 _
 则能取得全部作业的表。9 S. ]/ G# u( ~& F$ W3 ?( w. F
1 P* L8 p  A8 R9 H
 撤消单个调度作业
* `  R6 q( _' k1 R* S& h
% ~" V+ s; U  `* p 使用以下指令撤消作业:
9 d7 M( d9 J6 p) n6 e7 r+ [# z4 h9 B/ X8 {* F
 $ at -r
2 T# }$ L4 G6 a: h1 Y% A  ], ^( U& N' y+ o- C7 E7 f; i8 y7 O' H3 Y( B
 可以使用匹配符撤销多个作业。at 的作业存放在1 W, l! M" {* ]: Z  S
 usr/spool/cron/atjobs6 w2 H: D) i; E; q% e  a/ e( K

0 c; d# \3 w# `  _2 \ 在一般数据库上调度作业
, s9 c* C9 w# c8 L; H2 R( `
8 H: x; j1 I8 N- J6 i8 i 用 crontab (C)指令,从指定文件或标准输入拷贝或编辑成用户  ^- ^# v7 g) _0 d
 的 crontab 文件,该文规定了在指定日期和时间调度运行一些指
4 h6 ^6 F2 P. K7 _, | 令。+ I6 t, M7 @0 F

; P& V) T, a4 L1 J crontab 指令提供了对 cron 系统精灵要执行的作业,清理 /tmp ,: G4 {% m4 a7 K
 撤销在一般数据上日记文件或不想要的文件,以及检查空间,邮
: B$ v8 r' |* v 寄警告予用户等。
5 s1 Q1 K% e! u9 _/ [/ a7 R8 ?2 \' I9 n  s5 I( A
 /usr/lib/cron/cron.allow 文件列出了能使用 cron 的用户,: K. E: t3 ~) t8 ?
 /usr/lib/cron/cron.deny 文件列出了拒绝存取 cron 的用户,仅
7 r7 s. c+ v* B% A9 s2 \7 x: x 当 cron.allow 文件不存在时,cron.deny 文件才起作用。2 L% ~+ c) _! Y8 \% p/ I

3 X" A& I; Y8 Y& h  A) \* a 指定作业及其调度时间* L5 E, \- e# d

! w: L9 r0 c. Y1 b- l  O 作业可能是单个指令或包含多道指令的 shell 脚本,指令输出邮- [" _6 C2 r% ^6 t
 寄给用户,也可输出改向到文件或终端。在文件中打入作业及运
: ]4 g+ l" Z( e: t 行时间,以运行此作业。文件可取任何名字,但是,不允许包括6 [" |! |2 J% `( I7 V
 首尾部和空白行,而且,最好取 .cronfile ,这种取名反映其功" e) A9 Y# F+ X8 l4 D8 M
 能,易记易理解。.cronfile 文件可用正文编辑或 vi 创建。+ e( \; P! ^9 [. @
: F6 W% j* K* Y. E
 每个用户仅提供一个 .cronfile文件,每当执行 crontab 指令时,' l# r7 q# g' @" O0 m  V$ X4 I$ P
 新文件会盖写原先文件。编辑已存在的 .cronfile 文件,增加或
6 R1 c/ Z( |: h 修改一个作业,然後用 crontab 重新提交 .cronfile 。而每个用
% p+ J/ Z- c6 b2 V+ m  b2 F* z  C 户的登记项会存放在/usr/spool/crontabs/。" d. M6 W* X6 Q% i( H3 ?
" K6 O9 |4 J% W
 列出或修改 cron 作业
; ~* d/ E8 w. s! v9 w9 O5 a% B( m% k! x: O+ y8 n
 要列出当前提供的 cron 作业,可以打入:
* ^1 w5 j: C# ~6 ~; j5 n' x, m( `6 s! o; c# W
 $ crontab -1. `! J0 X5 w  ^

$ n8 L$ C( `! h& ] 修改 cron 项,使用指令:
5 c& p, d6 f# {
; a; F* h+ O) g, @( l, ~4 s $ crontab -1 &gt;.cronfile
! W* ~& \  v# A# @/ q) s- v
+ k% d0 P* U' J! G $ vi .cronfile
: G8 j" L) h7 ]4 `/ `' g+ T( u* T* K! ^: _& Z" J
 $ crontab .cronfile/ L" _; D; Y2 C  i* a& m- d
$ N! H; b; F! N5 g8 K- j
 如要撤销 cron 作业,则打入:
; W0 P" ^/ R9 h+ e- w4 ^
+ s" }" D+ I+ a' K% |! P# z! v+ j $ crontab -r7 v; G' s7 ?' H  _3 {1 a
</P>
作者: huashi3483    时间: 2004-9-27 15:20
<>第十讲:打印管理</P><>打印假脱机(Spooler)程序在系统引导时自动启动,负责打印服
$ N7 @. q. X: T7 o$ t3 y务的安装、配置和管理,在指定打印机上,将用户打印请求进行
) ~. I" x( P9 X8 E: N排队,能在不丢失排队打印请求下暂停打印。
8 m, e4 T8 G! C; |/ K9 C9 E9 i$ j6 q& {( c# {, ~
打印机队列' r4 J$ b3 b8 O/ ~) K

6 h. ~( Z& }# b3 G/ M$ Y打印机会被分组,每组共同存取一个队列(class)。而打印请求: t; U- _# F# [
可以送入一个 class ,也可送往指定打印机上。# A/ c$ |0 C6 `9 G$ \* [
: J7 Q! N; N( a. N6 J
在一个 class 中,可随时移去或增加打印机,用 sysadmsh 菜单或2 i  G  j# m; k! s1 d
scoadmin 的 Print Manager,可以增加打印机往已有的 class 中,3 l0 j) ~/ }3 k; ?
又或增加一个新 class。
5 K) w, S; k! G+ q4 {6 q( j. I/ D7 U* }$ U
打印机过滤程序* \! r4 ^8 Z+ T% Y. Y& T
  y- R0 D) V# i% Y1 w; _) c
使用打印机过滤程序,可以转换用户文件或数据流,在给定打印8 |& e! S) T6 F0 D6 D+ S( B
机上,合适地打印出来;处理两边打印,草图或高质量文字打印
; [% W- \9 W# e8 l/ n8 l等;如发现打印失败,会通知打印服务,然後告诉用户使用上出+ b2 X" j" P: B& P9 m1 t& w
现问题。6 o1 n6 ?8 P' e6 q* @# E1 l

0 q# j$ n! R0 ]打印机过滤程序又称为打印机定义的接口脚本,存放在- }- K$ v; t. n
/usr/spool/lp/bin。
4 P# r2 q& l% \; ?% o# o7 k2 u6 T2 V
安装和配置打印机! e0 \( I. L' k& u

1 _! b( v1 {+ G要把打印机接到并行埠(Parallel Port)上,SCO UNIX
+ ]3 V" w8 T. |6 U/ f6 Q2 D2 }# B! SSystem V 支持两个物理并行设备(/dev/lp[0-2])。当用主并行
9 j2 d! a/ E4 V, Y埠时,用 LP0 或 LP1,中断向量为 7。第二个并行埠,/dev/lp2,
$ K& L) g0 L+ q6 U4 N! P1 i中断向量同为 7。5 y2 j! O+ M1 f* ^9 H* ^
& O: b2 k' P5 i
要把打印机接在串行埠(Serial Port)上,最好接上智能卡工作,
1 e! c7 m' H  Y! o5 A5 T4 c5 K' Q打印机能用任意有效串行埠名联系。若不要求硬件流控制,可以
) h6 E2 W8 b7 t使用非调制解调器控制埠名。
$ B9 B1 g# F0 m0 Z& Q* V8 t( m/ Z, a2 {& ~( V9 b% W  G
另一方面,可以从终端辅助埠上做局部打印,指令 lprint (C)
" M) w% o' w. ?) K使用户从附在终端上的打印机上打印。
2 U/ I$ u0 x5 C8 |* z
# {: H. ^2 R! ]& e/ F* G$ ?. C) [安装打印机
% V1 E: M1 c8 s7 M- r+ J$ V- {/ t$ G/ ?' {" l$ u. V
要安装打印机,先找一个未用的串行线路接上打印机,连好导线,, Z% B! ?  [* q8 L
打开打印机开关,检查硬件连接。: Z0 ]" Q+ G  u4 `' S: G  Q

" y( W1 u& Y; N/ [% j8 o/ w然後,调用 sysadmsh 菜单或 Print Manager 上,加入打印机,用
! @6 J8 P! p# y: i6 F7 x+ A合适的信息填好格式,指定打印机的 Class,若所指定的不存在,8 Q* @) p* e  g; H' ]3 A
就建立一新 Class,包含接口脚本路径名。许多打印机都能用
4 u" o7 \% `+ |. v  dstandard 接口脚本。
% ?( F# Q. c& @& I( x/ c: f7 T
; L5 c1 W& S4 z! H0 u6 D打印机管理  J$ w/ T3 \& l' k  A* V& Q2 P* s, M

) X% w& i1 r2 b修改打印机配置时,可以增加或撤消目的地;改变打印机接口脚
0 \/ K: E0 t% K( G2 r本、设备等;以及改变默认打印机目的地。
" V) @0 H+ X; ?' F) e( e; t" r2 l% H8 {- D' h1 l3 C+ D
管理打印机调度时,有几种选项需要注意:, a8 ?# X$ p% [+ R

2 [+ z( M& @: b8 f$ |" k. n-Stop:为实现某种打印机维护,必需将假脱打印机转换成 off。
, ]; I4 c3 A: u) I& e4 x" M9 {2 }; _5 s$ y) q" H' n+ h0 P: W" t9 x9 k7 W
-Begin:假脱机转换成 on。
4 S  b- d$ q5 ?& `1 W3 B
. s. c! C) V1 y5 r-Accept :允许把打印请求送往打印机或 class 中。# H6 x2 |% @* U) L3 z: ?

; R: h, Q, T+ y1 f1 {9 Q-Reject:阻止请求假脱机打印。" W( {2 `) v  x8 ~- a

: f: p! w+ v3 R" ?: @2 ]* v: x2 o-Enable:允许从打印机或 class 上打印。; t( K. Z  w7 c- Y* r
! g# t2 d3 h. P- D/ y  N
-Disable:阻止打印,但允许假脱机出现。
9 T* l6 v; E8 p5 s$ x2 ?$ D; G3 f" k5 A" C4 x" Y+ y( G3 v3 `/ I
每个打印请求都会赋予一个优先数,决定何时打印,优先数据取
: M6 o: F+ g$ H6 T值范围为 0(最高)到 39 (最低)。默认优先数值同样是 20。
! V$ ?2 T; U5 \% X& ^/ c; ~* R# A! z1 N; }$ h; h# K$ S& Y0 d7 |
所有打印请求或单个打印请求都能移到不同的队列或打印机上,4 l, i; Z: d% |  b' L9 u
若打印机的队列阻塞或打印机不能用,就要移去打印请求;打印& z3 z, Q: e1 I  n3 v3 _
机要维护,也要移去打印请求。如果已移去了所有请求,这个打4 q; @$ H8 ~4 e  }$ f' N! D8 S
印机就不再接受新请求,直到打印机启用为止。
) d8 e3 m  ^" ?1 o- K
0 b  x, d- i( [/ W7 E5 Y' l; q5 l要清理打印机请求,先要指出打印机或请求 ID ,若指定了打印机,
6 g. F2 n3 C/ o" R则当前正在打印的作业也被清除,但是,不能使用通配符去匹配
) `! T5 Q3 W$ s" P9 I: a  a清理打印请求。% u  U6 |: u3 Q: N7 }  [3 b: N# E
& `  N5 d1 v$ ~2 ^% |) q; ]% @/ V
</P>
作者: huashi3483    时间: 2004-9-27 15:21
<>第十一讲:TCP/IP 管理</P><>IP(Internet Protocol)地址是 TCP/IP 网上为主机之间数据2 @  l" h* K( U/ ?9 k8 X
选择路径(交换)的基础,但是,用户通常不甚喜欢使用由数字- }- p6 H8 I8 G" l
组成的 IP 地址,而比较喜欢使用多由英文字母组成的主机名字--% H( N& t/ c: ~/ a6 J
URL(Uniform Resource Location)。
1 f+ h& n: ~% Z# T  t; _& L6 C, _! h! R! ^" r! h
不过,主机名字必需映像到 IP 地址,而方法就是通过 /etc/hosts
% q* D7 J: K# K' W& [9 _文件完成。
! I! z2 f$ m+ b. F  g
& `5 F6 n$ h" a配置 /etc/hosts
& |7 T9 F$ F1 W: F( R
5 H% N) D' Y0 \' w& |6 N: u. e% ]/etc/hosts 的格式是:地址--名字--别名。1 ?4 O) n- R+ ~/ [, T. i+ O

0 E+ N& m& H$ q9 R! p0 F. l例如:
- _0 R7 C$ u0 S' R- ?) N
( v" E2 w" o+ M3 h+ r127.0.0.1 localhost localhost5 M: y; v/ c+ F7 T+ v

6 N1 g* d6 w/ W3 y$ c" l132.147.18.1 vision vision.sco.com4 U! _  C1 [5 c5 a# w/ H( Z

% i' P9 z- }- h' E) t- r; n5 I; dIP 地址必需是一行上的第一项,在它前面不应有任何字符,例如
& f9 \$ G6 M3 }& A" m: o' p空格符或制表符;名字是简单的主机名字;别名则在很多情况下0 c0 x( c1 H0 |- K
都不需要,但是,全限主机名字、简单主机名字和辖区名字都归1 \; ~/ ?0 t$ @: q  N6 V
入别名之列。4 Z) L) a) o; h: [( g3 M8 k0 Q! B! I
" Q# e3 G: [% U1 V6 @
检测 TCP/IP 配置
6 q7 ?" R" W; r2 z: \, p9 Q+ \, I: B; t" a
TCP/IP 协议的软件部份包括 TCP/IP 协议层架的顶三级,即
8 e/ N3 P5 M5 o  x" n* T应用级(Application Protocol)、传送级(Transport Protocol)$ s4 d1 z2 `% t- o6 f8 S0 R
和网际网级(Internet Protocol)。特定的主机名字”Localhost”
7 ^/ g# E# q8 q. s# A是特殊网络”loopback”上的本地主机的别名。
* c5 Q( ^5 I) {) [9 P. q5 Y( H
. g) L/ A$ l; ^0 C2 D  w+ r要检测 TCP/IP 协议层架的软件部份,使用 ping 指令:6 W9 C3 i. w9 K6 ?! B

( R: h: z5 O2 E' E; B# C#ping localhost6 _2 K4 a0 K) M$ u; A; n  A  q- k

7 _& z$ K  c4 Z  E6 f/ X7 `如果 Ping localhost 失败,则使用 netstat -i[n],检查网络接+ u5 k0 @( C: m8 l( f' B
口的状况,显示网络接口上分组传输的统计讯息,指令如下:
" F" o5 l, j* S) Y, y& ]6 t4 k# o2 n1 }/ g8 @: I
#netstat -i[n]$ A8 Z& H5 j: ?) r
9 |" n2 V2 u( v9 o/ ~
n 选项强行显示编号,而不是名字。netstat 查看自环驱动器 lo0 ,
* |! g) t' \1 h如果 lo0 失败,则在 /etc/tcp 中”ifconfig lo0”行指示坏了或7 G% t$ f$ W, H
有错误。
& M* @0 d( o; U! O$ t
0 g+ n' D# e) ]2 j, V检测 TCP/IP 硬件
% @9 x( ^1 _- U7 {- y2 j
" [/ C" M4 x' q/ ^6 U审核引导过程中,会对所职别的网络接口产生的配置报告,而
8 i8 L1 M% f6 b6 J  `TCP/IP 协议的硬件部分包括 TCP/IP 协议层架的底两级,即
$ g4 z4 ^! E5 q9 K# T网络接口级和物理/硬件级。; J0 u5 R- G$ V7 e7 ~8 u" g( Y

1 a* y6 ~+ B2 q; W: _8 V( y对网上另一主机的任何通讯都是在「物理」网络接口上传输,并6 j" G7 _- C0 }0 W
不会引起数据传输到「自环」网络上。
' U7 }6 x+ E2 s  P- Z7 x8 R* f. J
3 r% l1 D( {( O# b0 Y使用 ping 指令检测 TCP/IP 协议层架的硬件部份。0 |- S' j: C# y% G9 b+ g4 p; \3 t

. j7 i5 B: X% j#ping hostname) ]* h( X1 B  x) Y, ~# A2 G1 Q0 F

5 B: ?( ]/ t0 z3 n
" Y! @# n/ o0 F' A5 A$ D. V8 y& ?% |9 ~* R# x& z, q- `
#ping IP-address
2 i. a, c( r. P$ y( Y# |$ F% D6 ]4 {  P: ^; [! z
如果 ping 指令失败,则改用 netstat -i[n] 审核网络接口。1 d. D' B. H3 l
2 e! b* x: G' O' ?
了解 netstat -i 的输出8 h- g5 Q3 P" |5 W

& b, l) ]0 Y9 R% p2 }如果远地主机上使用 ping 之後,Opkts 和 Ipkts 仍然是零,那麽,
+ d: k/ T# C% U8 ~- i8 q% t3 m网络接口大概使用了不同的中断(Interrupt),而不是它的设备' Z9 w& ^5 B. ^7 w) \4 X
驱动程序。
" h' {2 r. P: Y6 i1 ~+ T- j! q3 M
如果 Ipkts 不是零,而 Opkts 等於 Oerrs,那麽,网卡的 I/O 地址
' w( Q3 f; O, E: A4 C可能不正确。如果 Ipkts 是零,而 Opkts 等於 Oerrs ,那麽,可
4 B. W8 C8 a' Y# o# a能是网络电缆连接的不合格。
% n8 e4 x2 X7 ]7 w$ D' u; @& G/ o1 E$ ~- ]$ ~9 t
通过用 Opkts 除 Cloois ,再用 100 乘所得的结果,计算冲突的百3 g. a( ^4 d" P3 E
份比。如果冲突的百份比少於百份之五到十,那麽,所有网络接
  o7 s6 n) \2 C* X& y7 J口是有效运行。. X% H$ B6 \' o4 j
5 r0 S3 d! b. s7 O1 [3 T$ T8 C4 \
如果 ping 失败,并查出网络接口有问题,那麽,就该验证网络介
( y9 f: p8 U- F1 _' j质操作。  j1 R: j/ S5 F
% G; B2 L/ b% @0 n9 U/ A
调整 TCP/IP 的核心参数. G* F1 C+ ^, s: s
7 E% d' z1 z" T- k. w
没有足够的流资源(Stream Parameter),网络程序是不能进行
4 e4 B- x" d" E  s  t通讯;流资源不充份的话,经常会导致较慢的吞吐率。& n) ^3 ]! p. `
0 A( {% V  \0 p* O
要核查流资源,使用 netstat -m ;也可以使用 crash 指令考察流' z8 }9 @% H6 |. w$ U7 V# T7 k
资源,在出现 crash 发出的提示符’&gt;”时,打入”strstat”。- G( H" T# L/ Y4 E: p/ j; ?

  c+ J3 b# F) D  {4 l如果在 FAIL 列的下面有不等於零的项目,那麽,同一行中的
4 D' G% _2 Y1 F5 C4 J4 d3 r' ]. RITEM 的项目可能需要调整。如果 FAIL 列下的数目大於或等於
8 B9 w; ~* L* E% Q# U3 VTOTAL 列中数目的百份之十,该资源每次应增加一或二,但不: B' I; C) }+ S) Q3 C/ y
能将该数目加倍。
! _7 l2 e) u- }3 v# e' O
6 n4 e: A" N3 r2 }- o& W由於流资源使用 RAM,当增加流资源时,应加倍小心。用户亦可
* Z5 V/ y: [) s8 C: @! g以使用 configure 或 sysadmsh 增加特定的流资源,重新连接核心9 e1 H! k7 A) F8 |5 X1 [
或重新引导。
+ ~4 m5 M1 Y' e+ b% x  d8 W' ^) U* M& a1 K& m
限制通过 ftp 访问系统的权限
0 f+ T2 b6 P6 I: r" V& z: }: Z/ {' D- I. }
对於不想令其使用 ftp 跨网访问系统的人,可以通过建立  J" ~3 T& o# s& W# F4 H
/etc/ftpusers 文件和设立系统帐户名字的方法,阻止他获得利( F- p8 P2 O, H* L+ x
用 ftp 访问系统的权限。, j/ g7 ]/ h9 |; C" z  ~

& {/ l- L2 ], [# G如果 /etc/ftpusers 不存在的话,先要建立。在单独的行上,加
7 `9 x3 D  n7 O1 h. j9 L  _* ]+ ]+ E上系统帐户的名字,表明不能从网中其它系统使用 ftp 访问该系& f! M! W2 [( n- ~5 R; Q
统,在安全系统中,不允许 ftp 访问用户权和 uucp ,列出任何其
! y8 ?  @/ l$ R' \/ [$ F% p限制使用 ftp 的用户名字。
9 ]9 E. X4 O- f0 U/ ?
. a/ W: ?- x' `9 V2 l: H/ W" W$ V& {0 y5 n0 v1 z
</P>
作者: huashi3483    时间: 2004-9-27 15:22
<>第十二讲:使用 TCP/IP</P><>向远地注册的能力非常有用,它让我们不用到远地系统所在处,- }6 Y) p2 z# V
就能运行远地主机上的程序,执行远地系统管理,有两道指令可# R; {+ ^. I2 b. @
用於远地主机注册,就是 rlogin 和 telnet。
" `$ |/ h1 j6 t* I
" W4 ]9 w7 p! _( [) b使用 rlogin 向远地主机注册* F/ H9 i0 x0 t7 D- @% I3 m
% T. l$ {7 r. C, l* ^( C; m  h
rlogin 允许向具有 UNIX 作业系统和 TCP/IP 协议的任何系统; R2 E  d* _- \: t/ O
注册,而 rlogin 只能注册到 UNIX 作业系统环境,指令如下:% @; Z, x; o& `1 n: c
" O. d- s  c7 [" |2 ?# D
$rlogin remot-host-name/ m0 H% `* R( q9 B" W5 Q
- {: [! L" G0 N. C6 e4 Y
要避免 rlogin 因没有提供远地主机上的同名帐户,可以使用下述* h/ l  f: W( q! l9 h5 R! a
指令:
! G% n2 a9 y( Z1 k, X3 b* ^  Y( N" Y: j- y$ b* p$ T& }
$rolgin remote-host-name -1 remote-user-name9 }, u. f/ ~: z4 \

: g7 Z  @* P+ G: U-1 选项用於指出远地用户帐户。6 j+ v3 r+ u! w" s* T* l

" q1 n& [* L; B! i$ F4 j要中止 rlogin ,则要打入 ~.,并按 Enter/Return&gt;键;亦可使用- X; P6 B- P% g
logout 或 exit 指令。+ \3 [$ j( m+ T

' u; Z, O, }/ u4 W4 d+ i! ?3 M使用 Telnet 向远地主机注册) U% ^# T8 b( _. R! M- _
8 R4 B0 f$ {6 A! W# p2 p
不管其作业系统类型,只要能支援 TCP/IP 协议,都可以使用
" }% T$ K, u' cTelnet 指令,允许注册。* v! G- Y8 ^- Z" t4 n( C9 N

! P! v1 r8 }$ c$telnet hostname. e9 S1 v4 q# V4 C/ o9 K4 I! }

' o, b# f9 H  o; I3 G& P! |
! U8 V+ w4 P; r  A  E, |
$ {1 j, d- M1 \+ n# ^$telnet ip-address+ V/ G" @8 [& d7 r5 W: ^
2 }) S  T3 W, a6 y2 q
使用 ftp 复制或传送文件
+ M, ]8 s) A4 E% y, h
1 ^/ C5 ^  ~+ D, Xftp(File Transfer Protocol)允许用户对远地主机复制文件,
! s% B+ M( ?8 J' W% _用户毋须考虑作业系统类型,即能向或从任何具有 TCP/IP 的系
/ P$ n+ w) B  Y, J) Y5 [, m统复制文件。( v/ q  N4 \8 W7 i$ B( N4 `) \9 r

. t1 I, O- [7 B. mftp指令允许复制目录中的一个文件或所有文件,但不能复制多层
- Z  a5 g5 f. ~2 F7 I次目录。使用 ftp时,必需在远地主机上设有帐户。  @7 D# G3 S9 A! H5 W

; g% R( X# S- k* ]8 p当 ftp 注册到远地系统时,并未得到 shell ,而是通过 ftp 指令- h+ I% [& k8 E6 S3 N3 y/ h" T6 t- q
解释程序同远地主机进行通讯。
7 U- w- ?- T! }9 C. Z7 J. ?# W% Z1 u$ t) H4 Y" G
$ftp remote-host-name) R, n( B( S& G9 q/ D
0 x/ ^$ U/ Q! t

. j; K7 W* W! x( |
% O7 T, t( w; L$ftp remote-host-ip-address
! {/ G: _* y2 J# Y# N, t. j3 B& i7 L+ K+ z8 Y
一旦注册成功,就会出现 ftp 指令解释程序的提示。
$ P1 I  p6 p: |# S1 n: |2 Q' a
1 C& q& L2 R! n7 L8 Yftp&gt;
+ y  @4 R- d0 Y2 B8 F
1 F2 A  I! c9 ]& G9 m7 A  H用户可以在此,使用打开指令连接主机。
  i& Q  f% u9 l' d, Q% u7 p/ Z; N) J+ b
ftp&gt;open remote-host-name
4 }4 i+ R) G9 e+ ?7 ^: _* P# }/ d0 E7 @9 `
复制某一文件回自己的系统中,则用:
# D$ N3 F) X( M; M+ c* C8 N% Y' O/ A
ftp&gt;get filename( E  N* Y2 Q- I' @
+ T! b+ m% p  D- m$ p: ^6 n3 n' i
如果只想传送某一文件往远地主机,则用:
& i4 K+ d+ O9 B- k- E- d% i
, ^8 A, Y1 S4 `4 yftp&gt;put filename6 T% p( x8 ^+ o8 {; s/ B

2 ~: z5 Z& \3 D& ~$ T需要复制远地主机的全部文件进入自己的系统内,可以使用如下) m2 ]1 p/ \5 X- s$ w8 m/ b, T
指令:5 A% u, P) W, L. S) @  a$ @0 s  S
  I. S" K8 I& v% V' Z* l
ftp&gt;mget *
2 o8 h" l" y/ x* l# k! {
1 o! q: F* g  G' b. \+ m3 n- Q相反,如果想传送自己的文件往远地主机,则使用如下指令:( O$ G9 u3 i. C5 @" j+ O
6 S* T# O4 b6 h$ f8 m& Z
ftp&gt;mput *
7 O+ f  j& Y2 n0 b( k) R
1 X: n: n1 M/ Zrcmd
0 X: x' [9 D7 R  g2 F* V
5 Y, A- `" M0 J- [, Grcmd 允许用户不必向远地主机注册,而直接运行该主机上的指令,$ M3 w8 P  P0 B
实际上,也要进行注册,只不过用户毋须作其它操作。当使用 rcmd
4 E5 f9 S, \  N* V& f* z5 X在远地主机上运行任何指令时,其输出的默认设备就会被更改为
& G1 R" m+ m  y  W终端。9 a* O6 H& u; U. @1 h
, j% Z* r- Q' N) e( _
$rcmd remote-host-name man sh. X) m4 X8 f( I: |% v- w( F
2 S$ T8 E; o4 X5 R) y" M% x2 a6 D9 k; s
请求特殊终端处理的指令,将不含设备自身的功能,因为对远地& P: \! q& T9 J7 F: m9 ?; A6 X- ~
指令没有定义终端的类型,要求在远地主机上配置受托访问。
3 G% |" R' o# s# x( L$ e: ]8 H9 T7 y% o+ I( Q, T
要列表输出远地主机上磁盘的利用情况,则使用下述指令:
8 m' t- Q  O- K* S; v) \# _$ l
% D7 n; f9 K0 X& {. `$rcmd remote-host-name df0 A6 _7 D8 E6 U0 P( n4 Z, @
6 i+ p4 a+ j( \$ T+ J$ H2 ~. j# g
要列表输出远地主机上的目录,使用如下指令:
" p; a5 c3 B5 x8 U+ v" z3 [5 j3 O7 W( z2 X
$rcmd remote-host-name ls /usr/games
* |. \& |6 V# _2 O6 Z
& t3 s% S% t& k要把远地主机上的文件备份到远地主机上的袖珍磁带内时,指令
( o( R2 k) X7 N- k2 j6 r* l3 C如下:1 |' _6 R; \8 y7 y* @# ]+ _

! {$ S) z# L: \$ U) p( l$ o, Q9 o7 f#rcmd remote-host-name tar cvf /dev/rct0/usr
$ W9 K# w0 L3 M+ Y0 g; D, p
2 ?: Y# f" a% V8 K% s
$ {( G$ D* a1 }. I9 A- |1 V; @3 Z! L# u, t
#rcmd remote-host-name "find /usr -depth -print|cpio -oc# I$ S) |9 P! N" P& W& ^
&gt; /dev/rct0
3 U$ @4 ]+ q' [3 o
' `/ [1 Q0 d: c2 p要把本地系统上的文件备份到远地主机上的袖珍磁带内时,使用
( m" O4 |3 S7 g下述指令:
, Z8 m- j/ K. W/ m
% t; z# e' L4 H) Y* h: W: v#tar cvf -/usr|rcmd remote-host-name dd of=/dev/rct0, b) s1 l# A' q2 D+ }( q9 E

% ?, B2 L) A6 d7 {! J6 _! w3 ^, v; x) A0 T7 k# p& Y! }* M
  g$ A0 c) ^9 D1 M3 @; ?
#find /usr -depth -print|cpio -oc|rcmd remote-host-name9 J2 [% T' L7 G$ S! t. l# B9 `9 \. q
dd of=/dev/rct0
/ n8 h" q0 K! {" h+ o9 @
  m& L8 @: y" O9 S- S( j* z另一方面,如果要把远地主机上的文件备份到本地系统上的袖珍
. [4 T* c+ O% l# q0 X7 I磁带内时,可以使用如下指令:
" x8 X6 }: z0 M  N) o' S+ @/ @9 c
8 {/ u* N+ ~- v8 j# X#rcmd remote-host-name "tar cvf -/usr" &gt; /dev/rct0. f( W; \  K) ~
% m" Q4 Y' e& e  A( Q

: O+ }( |) c2 W1 V- q0 M9 Q
/ Z/ z, P' v) A1 W  S; L#rcmd remote-host-name "find /usr -depth -print|cpio -oc"
. F( Z1 m5 d2 Y( v8 ^&gt; /dev/rct0</P>




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5