数学建模社区-数学中国

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

作者: huashi3483    时间: 2004-9-27 15:14
标题: SCOUNIX基础讲座
<>第一讲:存取权限与文件</P>* ]! B# [' O* K! B; e8 h
<>UNIX向来是强劲的作业系统,屹立多年不倒,但是,对一般使用9 G! W1 g: a% `4 m) M
个人电脑的用户来说,确是比较陌生,有见及此,编辑部选择了
. [+ p6 r  K% b) I在个人电上也可运行自如,毋须庞大的Mainframe或甚麽大机器的
1 W; C  @7 i4 E, q+ ^  i, qSCU UNIX,介绍给大家,让各位对另一广阔无限的作业领域探首
0 B1 E( e4 Y0 s2 f, V, O一下,也许玩起Internet时,会有另一番天地,别错过这一连十
) B: N$ x: e: f1 z4 y二期的「UNIX自学篇」了。
; I+ |0 }+ w: l! {- l! e$ d
! }7 ~" i' M% v6 {; P$ K: ]7 z可能有些人会误以为UNIX只是那些功能强劲的庞然大机方会使用& t% m2 L9 n7 j
的作业系统,谁不知道在个人电脑上,一样可以使用,只不过所
( W! ]( \9 C9 Y# l. l使用的是特别为个人电脑设计的PC UNIX,SCO UNIX就是其3 e0 _- e% E) Z1 b, r, ~( J
中的表表者。
7 s" L2 c0 l0 o) j& n, m$ \
' a: P9 V* j8 t对於惯用DOS或视窗环境的朋友来说,UNIX的第一重关卡就是那  S: _( w7 Z& E" ^3 }+ @
些「敏感标号」(Sensitive Case),字母的大小写俱有不同的
6 U( a5 G7 o1 q3 W意思,Ls、IS、LS或Is这些指令全不相同,所谓「差之毫□,谬
' @9 b( @8 p5 M# l; G之千里」,它对大小写可是绝对敏感的。
0 G$ H0 U& ]% G3 w2 S6 L0 l% E+ W0 J2 `  u& D% x
文件名称3 {  z! b; t5 Z& e0 b$ D0 S
* h6 x4 p0 }/ v- [
在SCO UNIX下,建立的文件档案名称,可以是包含最多十四个2 M4 g/ B' I% x8 F0 j
字母数字字符的任意组合,既可使用下横「□」,也可使用句号
1 w& h$ r- t3 _8 f' Y+ l2 o9 l「。」。$ n' i" C& v6 ]' x  k6 K+ I' B
/ S  }; ^% O: P: @
不过,文件名称却不能使用某些特定字符,因为它们对Shell来说+ T( f% X, h8 p; s4 h$ u8 t! O
有特定意义。这些不能用作文件名的字符,分别是「;」「|」、
- B, w( w" ^" S- ?! v( y2 v3 d「〈」、「〉」、「’」「$」、「!」 、「%」、「(」和「- W" S6 H, P* S% y
)」,而文件名称中也不能含有空白空格等。
" i# f1 g6 {7 k  I' u
/ p; Y- N8 P, j* Y) U' ?文件存取权3 z% M, F1 Y  n6 v. U$ }

$ v5 r% [% r9 |* c1 Z# G, |每个文件都可以拥有不同的存取权限,界定其它用户能否存取文
. e8 {$ `. q, R! H( ]9 m" v件和目录。' Z1 E. b2 `; z

. _7 S7 U% ~& G每个文件分为三类所有权:文件的属性、属主所在小组的成员(
9 W6 J9 p, S3 Z2 N4 `即组员),可存取系统的其它用户。用「|」的指令,就可以查
% Z9 E3 g, s" T9 V- t& G看文件的权限。
7 r5 d) l9 u% O( M: Z$ @
  J* ]/ Y3 ?4 _0 S5 O/ x/ K  [drwxrwx…5 ^* J9 I# H! w5 ^  o8 t

  B1 {7 _8 h) g: o2 B; o好像上列的文件存取权限,第一个符号指示文件类型,减号为普
( R% c( J3 G, q$ y+ O1 p& R通文件,d则表示目录文件。接著的九个字符分成三组,分别表% J3 C' S% ~, L
示属主、组员和其它用户的存取权;每组有三种存取权:「代表
3 X- y5 D  A: ]. c& Z: u读(Read)、w代表写(Write)和x代表执行(Execute)。而没
: v+ E2 R. p# r) ]1 h* _( ~, R8 X! [1 r有存取权的相应位置则会出现减号(-)代替。! t9 b& W! w3 y4 B, B
9 `% A# L% G9 A3 `) s2 n
目录存取权
. w2 _2 B8 U* k2 C6 R& I
; ^/ u6 N9 t0 p2 l/ Z基本上,文件与目录之间的存取权的设置大致一样,但仍有些微
5 F3 x+ A( J, ^" c' ?8 H分别。. z2 |: A+ I' [+ Q
0 V) b2 h3 I- }7 N& s4 r9 K
首先,要查看目录的存取权限,就要在「|」之後,加一个空白% O. P$ f% }' d) g* c. I
处,再加上「-d」。如果要改变当前目录,则用「cd」。6 o" W; e' ]& s1 ]1 S
- W6 S2 J( @" B4 q- o9 l8 r' _
改变存取权限7 Z. _: q+ ?5 P- Q9 ~1 l& P# [
9 W3 z0 G3 Q4 d1 K2 k2 ]
要加文件或目录的存取权限,可用「chmod」的指令,例子如下:
& y$ X, m: Y4 l1 q$chmod g+rw filename# T8 R! n: G3 B7 b. }

; M( Q9 n8 O) W) ng代表更改组员可以享有的存取权限,+rw就是让组员可以读与写
, X2 Y! q3 `9 {( i5 @+ n9 W) H该文件。而u则代表文件的属性,o代表其它用户;减号(-)则! ?1 C6 m3 ?( {1 s& I- [- ]
代表取消某类人的某些存取权限。
0 |1 B) u# N2 `: H) ~, M
% [/ `* }% r! H8 l另一种更改权限的方法,就是使用八进制的数值指定存取权。每
$ x+ G: S- m1 a4 T) c' ]5 W个符号赋与一个数值,r是4,w是2和x是1。例如组合读与写,其
, P( w6 D1 [& b存取权的数值就是6。又譬如欲使文件对文件属主、组员和其它用
! u( A4 U4 R+ x; u2 g/ a( m户均具读写权,指令如下:
: X) l9 a! H) P$chmod 666 filename
1 s0 r- e4 c7 n4 q8 d1 K  F* ]" j5 Q  U# |" D( C9 @& e; S% f
更改用户属主/ O6 y  B$ A0 I& _

- N; d7 |7 a4 p" T/ z/ V% T( b每当创建新档案与目录时,标记你是属主,你的同组人员为组员,. q( ~" g+ b9 ~9 t& C" q
如果要把文件的使用权交给别人,只有属主方可更改,指令如下:- b# q8 B$ F* R5 k8 T  s
$chown owner file& W) L* U' Q- D/ L' r
$ X2 @; u: m8 ?! L0 J
chown改变了文件的身分ID (UID)( y8 F; ?0 D5 R1 `2 T$ o2 h

6 ]+ y) n( b* U0 \) |' L改变属组要改变文件所属的组别--文件组ID(GID),指令变
% A3 |4 V0 ?6 z! f( z4 r3 W为:+ i0 V& P! h# O
$chgrp group file
3 H4 t; K2 [. |! H8 q2 q8 c2 r
+ Q+ Z$ B: ~! A" W  n浏览文件内容
* K- W" Q' i& N, \& j7 \
3 l# F+ P: [+ F8 R. B  a& n需要求助,可按?键。至於,浏览文件内容有几种方法,可使用1 e! ^( `+ _# z9 }$ ~* C
more,显示大文件,指令如下:
4 h3 N8 k& S9 s* b3 r8 {3 |% Z$more filename
5 g/ i/ U1 @3 ^, R/ L( T* o: d! P, ~7 u( Q; R/ U5 \) F
按〈space bar〉,显示正文的下一全萤幕;按〈return〉,转往
$ c) K, i: B2 t" l# G下一行;按q进出文件;键入模式前缀(/),就可键入需要查找& C$ Q4 p- d- K# A: P# s. J2 v7 N
的匹配模式,若模式找不到,则会显示「pattern not found」的
' b+ D9 v* w" f! c信息。0 ^6 J6 J* P* }1 a( F

* q  E( S( @" m' }/ e" I; ]按pg则逐次翻一个萤幕,而每个全萤幕後,都随提示符(:),( K, h' I0 {: ^2 X2 j
按〈return〉,看下一萤幕,键入+n,向前移动n个萤幕;-n,, Q- ~& r+ u1 i0 J2 n, O
向後移动n个萤幕;打入$,则移到文件尾。
) r8 H! f: [, \$ l# D  ^" ]6 d5 y1 s$ M6 i1 G/ m& S
如果使用Cat看文件内容,就可以在全荧幕上滚动文件内容。在任2 l6 r. G; K  u
何位置,按<ctrl>s,文件就会停止滚动;按<ctrl>q,则会
5 j6 P" h& J/ o9 `% O0 ]继续滚动;按〈del〉则中断不看。
. k# L( o( y7 T1 _. Q+ k1 G) \
0 Z* [- c8 v2 m: e处理文件2 J8 B3 }$ s  l# z% E" j* p
- F8 r# f6 A  r) B7 l; v6 X
cp指令为复制文件,可以有多种用法。
; X6 d( J) p# x! i4 C( h9 f* g- ^' f0 m2 K- [
(一)$cp old.file new. file' j" z1 ?' J8 d  @6 N& q: t
备份一个文件
( j7 [* w: f1 W
) A. D5 u# @; f(二)$cp file 1 file 2 Test
/ J6 ]" b1 d  U1 d  |将file 1和file 2复制到Test目录下( |! d: d3 T! H7 _. b5 E6 A

' \: g7 |6 r+ k至於,mv则为改名指令,譬如
7 r; G4 F  b% C3 b
8 P- ^" `3 {8 o3 a$mv fruit apples
; g& o; J4 n& p/ H# V7 v" V0 O就是fruit改名为apples: T& g4 b: N  f# t9 k

8 F- F! G) f$ a3 f, Lrm则是删除文件的指令。文件一经删除,就不能恢复它,故此,
2 n+ A5 C/ E/ V  R) D& c. Z( Y要加倍小心。: Q, T1 @& X2 K1 G" D: J
1 Q9 L7 @8 I6 g# h6 [
$rm- i filename
! K/ z) T/ N' b' i5 r! K5 F2 R加上「-i」,删除前,系统需要确认. `( g& f6 ^! b6 z* U+ c
</P>
作者: huashi3483    时间: 2004-9-27 15:15
<>第二讲shell环境</P><>何谓shell shell是用户与作业系统之间的交互层,用户修改其环境,设置或& x2 ~' w  D# k% {7 R7 v/ r
 取消shell的环境变量,迎合用户的需要和爱好。
" a" _- W3 z0 @) r/ A9 V! d
/ x( g1 x) l2 @9 \* X shell本身就是一个电脑程序,用C语言编写,为协助用户与作业
, v1 F' y! V, F( v: E 系统之间通讯而设计,管理用户与核心(Dernel)之间对话,并. A3 l: C! l7 M
 把作业系统指令换成机器代码,其实PC用户常用的DOS,本身就% s6 S6 b: P, l4 _7 e
 是一个shell。
0 ]+ Q  g6 S7 V+ k( ]3 W  _1 J- a; }' U) X
 sshell的用途
' W( z& c' f: Q& ~" `- g/ `
& u! n: g9 N! p2 ]+ z! `! S. _ shell的主要任务是:提示用户打入指令,读指令,转换指令为核2 L" w1 R/ s  o
 心所能理解的语言。其实,shell可以看作为指令解释程序,提供
# d9 C* }" h3 A1 J& ~ 一些工具,亦可以利用shell的编写工具,构造电脑程序。& q7 r; W! \; o: M5 c) w
8 T$ q: i4 s3 W4 N) B5 i, r
 System V shell类0 G3 G+ ?$ A8 n: V6 @  d# g, Z- J
  R/ D$ \  {( ]9 ~6 V
 SCO System V的shell可分为四大类:Bourne shell;C shell;  j% q4 N- I2 Y5 U8 V
 Korn Shell;和菜单驱动shell。而菜单驱动shell可再细分为三, o  _! Y! C1 m2 S( Y+ h. P; R
 类,分别是Open Desktop,Sysadmsh或scoadmin和客户应用程序。+ O: K( I* ~, ?: j

) E; p  @- u( L$ Y% p 每个shell都有自己特定的环境文件,可以自行修改至合用,这些2 a) z6 m' g" B8 Q
 环境文件就仿如DOS的批次档案(Batch File)。
0 V) L/ E' q1 l0 l! x6 |- a- v% R; K0 ]6 E0 S' R0 l! K' o" d
 Bourne shell$ U; y. x- m: V8 u) n

+ o! M- Z  Z8 a4 U5 Z. o 对普遍用户来说,Bourne shell可以说是第一个UNIX shell ,' a7 z7 H$ i$ P( k5 c# _
 它是由AT&amp;T贝尔实验室Stephen Bourne所编写。默认提示(# s- |/ w2 r- C2 r
 Prompt)是美元符($),其环境文件为profile文件,由於文件
' z/ |5 t* N# f% S8 p8 p$ f2 n 档案不大,可以马上启动执行。6 Z$ N( D0 p* d; {; j) }, [

( s; E% N1 W" l/ [5 Q profile是存放在主目录下的普通正文文件(Text File),通过6 E1 e' b% c! w  M4 E* y! y
 设置环境变量(Variable)和终端模式,可以使环境个人化,每, j* a& J9 ?1 E) h& G  t8 `
 次注册进入系统时,shell会读入profile文件,并执行所列出的: P. y* ]: h6 u4 O  ~" v
 指令。
8 Z6 z! Y2 E) L/ F( }& v, G/ H# K& y4 z' M% ?' W( q0 R7 F
 每当系统管理员创建新用户的户口时,系统都会自动构造一个相# z" ]! S% O& c$ k' r
 应的.profile文件;而整个系统的环境文件就放置在2 Q% t! f' R$ m7 g5 n  F0 k
 /etc/.profile中。* ]( w8 E0 g$ f! a+ O
. d' e& B' r1 V
 用户可以使用vi或其他正文编器修改。若要使用env命令显示,由5 q: s5 ]3 A4 X4 ]
 於注册时已设置了这些变量,也不一定需要另行设置。+ k3 z2 d" [9 B' f
+ A* D* G  }7 F# t8 p: {* j
 C shell
- q- z4 c6 \2 _- E0 a* V( v0 i( J: B: }
 C shell是由Berkeley的Bill Joy编写,是标准BSD(Berkeley: T  B: u" H! U6 m; {/ s& ]: y8 A- O
 System Distributou)命令解释,其默认提示是份符(%),环境( M' s! Z; C6 U, Y% N* C
 文件则是cshrc和.login。
% A9 G9 D9 T5 v! }
, N" c/ F# y6 O; \ C shell采用C语言,是UNIX和XENIX系统上公共软件的开发语
. E# i% Q  D( i; j1 r: h$ F" Q 言,提供了方便工具,快速打入,校正和再打入命令行。
; j2 f( k) p; [0 h
" V; r9 z8 H& c .login是C shell的注册环境文件,负责启动shell,注册时执行
5 t/ [$ b3 b+ @$ v5 [7 W5 _, d 一次,而.cshrc则存放常用指令如alias等指令。譬如我们要创建
* c( \$ Z0 _7 W5 d 一个永久别名,把命令who|sort|more别名化为wh,在提示(%)
4 \  E9 g: ]- M& P8 N+ ^" ]5 c 後,只需要键入wh即可。用户可在.cshrc□键入下面一行:
1 {' g, ~: K2 K5 i alias wh 'who/sort/more'
; I8 Z8 @; \( G8 ~( h% N
  S9 ~  ^# n/ C9 I0 @7 d Korn shell
1 u  ~" a3 ]& D/ f; F; s5 K
& m: D% e9 C+ o5 R' O2 J( P Korn shell是AT&amp;T贝尔实验室David Korn所开发,是Bourne9 X7 d: {+ v  v/ \
 shell的增强版本,综合了Bourne shell和C shell的特点和约定,
- {+ `. {$ W# N) S3 j0 H3 C 而Korn shell则比Bourne和C shell执行得更快。
2 X( Z( B. `( d1 K- ~# x  T
* n1 r7 r9 C, ]+ S  f Korn shell的默认提示与环境文件,跟其前身--Bourne shell一
- r, r# E3 S- A$ ^ 样,同为美元符号($)和.profile文件。
3 z' L" \# z9 F: q6 m
" \( v$ [2 L" F 进程控制
- T& e1 G& I1 d. Q4 D$ t) W9 b0 ?" D: Y& O: U$ c3 t
 虽然同一时间,系统中运行许多进程,但是某一特定时刻,CPU只7 w: _4 @$ @, j
 会让一个进程使用,而CPU则在行使中的进程之间快速轮换,每' J0 `0 P* m. }0 D
 个进程所占用的时间,称为时间片。SCO System V为了保持、跟
5 P& M, a! a9 Q# @7 o4 Q 踪或调度每个进程,会给每个进程一个进程标识号ID或PID。0 u! r1 V6 b+ `: @. K  y
  M) c5 F8 T; F9 Z+ D7 g5 C6 h
 要确定那些进程正在运行,用户可以使用ps显示阁下的进程;或
9 Z5 u: _+ q3 f) K 加上-e选项,显示所有进程;加-f选项,则显示的进程还包括已! z8 e; D5 m4 h& s
 启动指令的执行中进程;-u login显示某注册用户的进程。
% c2 |+ F# Z7 _% c6 d2 w: |; o  j: C* A
7 b! m: |) W+ q) S 在SCO UNIX System V中,如果阁下拥有Root指令的作用权,- \) O: w9 e- D& b
 就更可以看到所有进程。
2 M$ Q" |1 V9 K0 j) L( z" q. S# |. K
 当一个指令需要较长时间完成,可以在指令行後尾加入&amp;元字符,& H0 J) B# S) l& `% p% J7 M) G& ~
 该指令就会在後台执行,但对交互工作方式的指令就不适用了。& j, b% i& C* ^" k$ E" f
8 I  [0 w9 S# l+ i/ l/ Q
 菜单驱动shell
- `; n/ e; G' i; G8 Q3 ?3 U- D. {+ o* H! y- e9 s3 A. D
 菜单驱动(Menu-Driven)shell可再细分为三项:
6 p. y: l  A0 c# N4 s& x
! c/ ~7 w* B2 h2 D 一、Open Desktop: C( L( i# H1 P
6 V* t8 m  c2 a9 _3 \7 s
 Open Desktop采用XWindow图形用户介面,用户可用图符(Icon)6 r* _2 w; T) `8 y, g2 F* r$ R3 K4 {
 窗口和菜单操作,如Open Desktop的作业系统就是SCO UNIX2 R" ?5 ]& H& f$ C' S
 System V/386。/ j* C/ q2 }! T  M$ x. Y

1 ~% X. L. _) ~4 \* c1 f" A. p 二、系统管理员Shell:Sysadmsh或scoadmin
' S9 _) }* i. a: x: t! E- ~8 M5 A  Z! q3 h& `
 Sysadmsh或scoadmin则是字符介面,用户可不用学习指令行语法7 n3 u' m! c, u5 z& L, ^
 和选项,就可以执行大批指令。大多数系统管理任务仅由系统管7 F4 i: [/ |4 H0 E- a4 W" r
 理处理,系统管理员则有特定的根口令(Root Password)。
4 x2 K6 T  l! r: G9 Z0 g" i+ Y
/ h- C% ~5 z- x6 q3 `2 d* ? 三、客户应用程序- @9 l4 I$ J) g& y: u
3 {; X) G% _# b9 v8 ]! Z! W
 某些用户为了存取内部邮件、字处理或报表等应用程序时,方会' k; `" k5 m7 v- p" n/ p
 使用SCO System V,系统管理员可以装上这些程序,令它们在注/ l3 d6 l/ d# i7 h. V5 U- h/ S
 册时呈现。4 h; C( f9 @) S* s) [5 h
" Z% k' k7 }7 y) ^& H; C! Z0 b3 i
 许多程序提供一个菜单选项,用简单打键选取一个选项,用户毋5 [% I. X9 W1 |+ S% b! O# b
 须记著指令和指令选项,亦能操控。
* _5 I  e1 D! J5 [9 M4 b6 Q# g  W; ^  N$ L8 a4 R5 a! p# b
</P>
作者: huashi3483    时间: 2004-9-27 15:15
<>第三讲vi editor</P><>任何用户最常做的事要数创建和编辑文件,包括文档、报告和文
: \: P! e# V" h1 {2 _% e/ A% r   字,vi(Visual Editor)是一个有效而相对简单的全荧幕编辑,, x2 Y: s) q5 C* Z8 c
   使用vi,只要记著少量基本指令,就可以开始起步,再学习其他
( {/ U3 I( |! D2 M& L; _- L: m   更复杂的指令,而系统管理员则使用vi管理和维护系统。! y5 ?: r* t& D
# Y  g* Y. `7 V, g
   vi是包含在SCO System V作业系统中的全荧幕编辑,其实,vi不
; M6 U1 w0 f# \4 R/ X% u   独存在於SCO UNIX内,而是UNIX内相当普及的文件编辑。开3 |! j% B: D7 |) O4 ]  o7 x
   启文件* m# v% ^5 ?; q9 e
5 D" S- l3 }  M: F
   无论是开启新档或修改旧文件,都可以使用vi,所需指令为:
1 o9 E  m- ?: Z4 O3 J
2 e$ G9 g1 T+ m4 _: p) P   $ vi filemane
1 M1 e/ V* H! c. H2 L6 r8 T& P) k- z
   如果文件是新的,就会在荧幕底部看到一个信息,告诉用户正在
8 i& j! M, @" e! k( k3 h  G8 }   创建新文件。如果文件早已存在,vi则会显示文件的首廿四行,
! F1 \' _* k! H% k7 J6 U4 X   用户可再用游标(cursor)移动文件。
+ f6 }# F/ Z! j" v3 z
' \: `4 B+ i) Z! I, @! m3 K   This is what vi looks like.
; r  i: h8 O! j3 z8 x# `
  \9 g2 c# F1 h9 R8 |6 y   ~
4 Z: i: o; ?7 S, }: J  ~
' Y& p/ d% M( t" M$ D   ~
: [( L) X# W; a" b- Q
3 z3 ^4 Y. I1 C3 c) k- X, L8 u   上面是一个经vi开启的模拟文件,一行开始处的波折号(~)表) Y: p+ C+ @+ c$ o- s; b
   示文件的结尾。指令态与插入态
6 W+ `! W. F$ h+ F! o) l/ h* C1 v& d; p, X& p
   vi使用了两种状态,一是指令态(Command Mode),另一是插入
0 d: O: ?: }. f3 s5 [# t0 Q   态(Insert Mode)。当vi处於指令态时,打入的内容会视作指令& Z( u' J% a5 _$ b2 T/ C9 N, @
   来解释;另一方面,当vi处於插入态时,就可以打入正文(text)* C9 v+ E* Z- j' h+ [# v
   给文件。9 H2 y, z+ b0 e
' ?  z: ^6 m/ z6 H, {) \
   大多数vi指令是单字符,由插入态改变为指令态,指〈Esc〉键;
; r7 @. f9 h2 J" v7 _6 Q# I$ ?   而由命令态转为插入态,则可以使用下面的插入令,直接打入,
' S  I4 U# N) b   无需再按〈Return〉键。" x- ~/ l3 d. P/ o* }4 F2 K

+ E8 K# w* L) F& j7 V! h   —指令i在游标处插入正文
  d& m5 P* D  p. S
2 j* |$ P2 N) o: z. |1 k   —指令I在一行开始处插入正文
. A* }- T7 O% t; v  o* w$ U
6 G" N8 Z; X. @, p4 `   —指令a在游标後追加正文: o8 A- d' R) G; m2 K8 ]
% \, c1 M3 @" @* n$ m' l8 \
   —指令A在行尾追加正文
4 v' B# L/ x! i" m' Q* L4 `7 {5 A6 O. W3 ]3 b
   —指令o在游标下面新开一行
1 s+ i4 F# Z& L1 a+ C
9 t- {* g# q; ~# \6 h) G5 A   —指令O在游标上面新开一行1 c4 }) T3 q  r7 U2 j
# y6 S& B. K2 N4 r# H( T( J7 x( }
   要记著一点,在插入态处,不能打入指令,必需先按〈Esc〉键,
) U% g9 @' F& n) s' \: v% x0 ]- y3 f   返回指令态。假若户不知身处何态,也可以按〈Esc〉键,不管处
2 Q) m3 |! D* S+ w; Q. p$ u/ i; O   於何态,都会返回指令态。
. G- u- ^! x1 U! D3 O3 H8 `1 B2 K( c
   存档及退出
( _) C4 {7 J9 v# a( }. c( G
/ ?+ O% N5 L0 Y* Y   在修改文件时,如何存档及退出指定文件都非常重要。在vi内,* Z" Z5 `" y" a3 z- k
   行使存档或退出的指令时,要先按冒号(:),改变为指令态,用
- J& `9 P" r7 z6 O   户就可以看见在荧幕左下方,出现冒号(:),显示vi已经改为指  a- u! ]. ]( H
   令态,可以进行存档或退出等工作。3 [$ l! j5 A6 T% e  N5 [
! p, i* B3 F- k
   下面就是一些这方面常用的指令。/ m7 O7 N8 F% J8 X2 l. H1 E

0 b! n! Y8 q4 i& W) l! j/ ^   :q!放弃任何改动而退出vi,也就是强行退出& w' V* k2 Y. k* ?3 K9 M
6 C, M6 {$ s, |' o' s7 R" a) {
   :w存档
1 M" b7 h/ ^) J1 X& m" n2 e
$ }7 K* T% x( D+ `" x8 F   :wq存档并退出vi2 i* g: s* G' T1 a: ^

9 F& ^! M8 @0 j  f% [, K# y. Z   :x与wq的工作一样/ }: }+ G, V  A, B; @, q

' a+ B; `7 U) s  x2 |   :zz与wq的工作一样删除正文! q* n$ U5 j& l2 Q- I! ?

5 C. y# |  e, h$ a; P# m   删除或修改正文都是利用插入态,故此,下面所提及的指令只需
3 w' S( H5 g4 t- L; m1 O. C   在插入态内,直接选入指令即行。! E0 m) v( w7 t  b% C, g8 B# Q
( m; d) K0 t  n# u# C; a
   —x删除游标处字符(Character)
2 A  {  Y3 s, f% a- a
& g. |0 S% X' Z3 x   —nx删除游标处後n个字符9 E+ S! k8 `( @6 d3 x  r  v( X

; {/ ?6 g/ z5 t" g7 N+ x) ~$ I   —nX删除游标处前n个字符' ?3 ~8 D% ]7 o& [( ^6 m& Y

4 R  f* ]; c) U- c   —ndw删除游标处下n个单词(word)
# |" W6 Y* h5 v
3 G1 t. U* ?3 m4 U   —dd删除整行
) V# P8 M! {# Z: Q% G6 W
5 \) f; k, m1 i; b8 }- z6 g   —d$或D删除由游标至该行最末
& j8 t6 c8 O! S3 x: |$ A6 V, H/ L/ E6 z" O2 Z
   —u恢复前一次所做的删除
  p9 b) e9 n8 d# O) u
6 m* n9 I' ?2 p7 k& K   修改正文  h* S8 v. V, f* ^- `

& E7 s9 l, k, F   当使用vi修改正文,加减字符时,就会采用另一组在插入态操作* z# |, k8 R" @) H& J
   的指令。, M$ m! X6 E2 R( G$ o+ I
% R4 i. Z5 T9 ]+ T
   — r char由char代替游标处的字符, {4 f1 P& V8 L+ `. H7 B5 f
) ^1 c, p; w9 Q4 Q: Q# v* i
   —Rtext〈Esc〉由text代替游标处的字符
, k# C. _+ s$ L  w, }# H) E7 L
$ b$ a( ?* u7 j0 ?" G1 w  L" T, R   —cwtext〈Esc〉由text取代游标处的单词2 _$ w6 w+ o% F; F1 S

: M3 g2 J3 Q/ F) J   —Ctext〈Esc〉由text取代游标处至该行结尾处
- `2 A% ]. t3 J
1 R) K$ J" ^& }' O) S1 `, a" }   —cc使整行空白,但保留游标位置,让你开始打入+ {# @4 e" Q( e: S) \9 n$ A

$ o5 o* c7 T. l, j# G! r   —如删除指令一样,在指令前打入的数,表示执行该指令多少次。
# z% J, B# `9 _0 T+ \2 V, ^   正文模式检索) y" i7 @: C3 i+ ^: p4 s: i  ]# q# o) i
4 i" p! J( c! b( h/ p& Y
   要检索文件,必需在指令态下进行。所谓「模式」,就是一个特
" g  W; k9 @7 a" v5 }9 E/ Z   定字符串,其中可含空格符。
$ E1 {- p1 q7 K# F* V  _0 L6 n% E: }4 x
   —/str〈Return〉向前搜寻str直至文件结尾处
7 x+ Z' T! A+ i
3 I+ p$ T5 Q* p5 s   —?str〈Return〉往後搜寻str直至文件开首处. E( @0 K/ z, E8 A( E6 G& H7 Z! a0 _4 c& V
9 q# r; K' o; d8 p) ?( Y% C. I* S
   —n同一方向上重复检索+ G$ K. R, ]* ~! J4 F
% z9 N# x' p! Q4 Z0 @  |  T* w% I6 H
   —N相反方向上重复检索  K7 z, [; L2 e5 ?

( }9 O# e/ C+ f9 _, d  [& F- r   —vi缠绕整个文件,不断检索,直至找到与模式相匹配的下一个
: `- B! s- U: g1 x- o2 r   出现。其他! v: H( R, @9 |! R, A5 q' [7 w- X9 b6 k! f

8 @* V! A$ I5 c9 V3 Q( j   如果要在 vi执行期间,转到shell执行,使用惊叹号(!)执行系
9 Y! }2 f/ G& |3 `   统指令,例如在vi期间,列出当前目录内容,可以打入
; Z7 }/ L& r& e5 r0 n8 T- r( o5 W
% G$ |, {: S7 Y" Q   :!If; A( h7 W& D: z3 t
8 ]6 G' Y9 [4 R) n7 f# T
   另一方面,用户可以在主目录中创建.exrc环境文件,用set打入% }3 c; m& p- [1 s3 B8 Z, n. W. ]/ }
   选项,每次调用vi时,就会读入.exrc中的指令与设置。下面是, [* j4 P$ `' B* p6 I9 F* ~2 y
   .exrc环境文件的实例:
0 |, H+ _( m5 M3 U+ u6 _# j& {# s$ j5 [/ T
   set wrapmarging=8# V* n3 D: v! e) `% B; O
8 d: a7 d' M- y- g- E
   set showmode
1 ?% p# r9 @" E: r- w) v/ ~1 r/ k5 S5 D* q* U, [. Y
   set autoindent
: I% C; Q0 D0 T! S6 w, [
4 _3 U0 Q% @! X5 I6 P6 t   set number6 a$ ^8 h8 _! x& \" S* X, O- y
</P>
作者: huashi3483    时间: 2004-9-27 15:16
<>第四讲:系统管理</P><>今次要谈的系统管理员负责管理SCO UNIX的系统,拥有独特的1 S( ?9 N0 x% l- w' e5 ]
注册名--root,能够读取任何文件,写入和删除任何文件,执9 I- u' P: K( ~$ g5 U
行任何实用程序和指令,亦可以执行和终止任何用户程序。4 c' h. R5 Z& a6 J8 V3 R$ U* ~) k
系统管理员的工作包括系统控制的任务,例如後援加锁和解锁终
* q( K/ D* d, l% b- L  V* S* j: k端和记帐号、增加、隐退和撤消用户。亦可以给用户一些特权,
# d, |/ U0 h) F) Y, ^让他们实现特权系统任务。4 |. T$ z8 ], [  r3 w0 u
) t) k* t% F8 p
基本指令% V  v: c$ u2 s" v  N3 e1 n1 S
' ]7 p+ U! a9 I; a
shell指令的基本数据结构是文件,因此,基本指令和操作包含以8 I/ D0 z  l- X, M
下功能:0 d( H3 I, H5 G+ E+ Y4 T4 Z- {1 [
' S$ _; I( l) p$ e+ {
-显示及管理文件中的指令
/ F, ^! R" ^: w+ F: y
- F% A0 H) F* S2 D7 k-管理目录的指令+ `- o  S# ~, @& c3 \

: N' B7 m2 V; Q-输入输出重新定向和管道,重定向标准I/O,并执行组合指令$
# |1 W/ D9 Z$ n4 u# {W|grep 'john'〉john,file2 j7 V0 k& X0 H: d1 }# U/ B

$ w- X& D9 f, ^( l# W5 L- ]( Z* E-输出重定向符(>)把标准输出重新定向输出到文件" m/ W- Z3 M# G* t' H! j+ x
  g2 Q' S4 q* c: V! u$ q/ G$ g
--输入重定向符(<)把标准输入重定向从文件输入
$ p$ O9 I2 L/ S# X/ p
0 \4 Y* e$ I6 K9 w6 ~7 r5 a-管道符(|)把标准输出重定向输出到别一指令
9 W4 A  i  _; [' a" d! g+ g4 v
, _7 J7 [; r) ^8 R! {0 l3 l* U$ z寻找文件; r) i- I  \% Y; p* D: a: @0 x

% [- P* p) v" I- Pfind(c)指令可以在层次目录中查找文件,例如:# {! e$ j# ]; _4 K* I
* T! ^7 g% ?: c  L$ K
$find/-name filename -exec rm {};/ G) F" ~4 E2 T% o7 e
( u) V+ L, @& Q# A9 I
-name filename指定filename
3 z; J; t* [" \" o) Q( D9 Y# O
, p/ p0 s+ v* V-exec rm表示在所找的文件中执行rm移动这个指令/ l* R& j# P2 c2 d
- I) e& D4 L- ]* z- G, n3 n: }3 L
另外,用户亦可以加入,-print表达式,显示找到文件的全路径: G: _! W5 p0 M. d
名。/ d4 J1 _( E+ Z  p3 s& R$ d2 Q

) N! D% z! I) H- e6 _除此之外,find(c)也可以用来找出特定用户或用户组所持有的/ F0 k: n% i* }9 `9 g8 g+ l+ V
文件,譬如:
& o. |3 A/ J0 Z1 ^; w6 r% X; x
7 F& ]/ w, R. g/ F$find/-user bin -print) C6 M2 p9 @; `

" A/ X: l4 k; _8 Q# b$find/-group mmdf -print8 Z' Z; s( C$ S/ s
! ~+ W/ i* X; {
又或者,用find(c)重新定向过滤程序,输出错误信息,例如:
0 i. T9 u7 O% ?! Q9 f
( p! ]4 `: Y8 y3 s4 Z6 {$find/-name motd -print 2〉/dev/null# u* y9 S# S/ `0 w. }8 \
3 V4 d  X( `, D, t3 M5 a  c
SCO shell
1 E" T5 D# m5 V3 C, C/ L1 b1 Z) b( v+ v
9 {# h3 i' J; y7 q使用SCO shell,可以让用户从单个菜单中选出应用程序,管理
' ]; B1 {4 N0 F. @3 E+ ~9 g4 I文件和目录,运行系统实用程序,要调用SCO shell,可键入:
, F9 U' U; G( b" x: {" b, h
1 D7 H! @. C4 N3 g6 o5 R. I$scosh
; M0 W* q/ C+ h5 c, A' _9 o2 n9 L2 d5 Z) X7 A) V. \* _
可以利用空格条键〈Space Bar〉或箭头键〈Pointer〉移动光标,( R# ?2 e* D2 n; N$ \
加亮所选的菜单项6 c/ E: k: A4 E4 ?. N, H9 g
1 l5 B* a$ Y6 o% I' }- a
-按〈Esc〉
& ~" U. m# i- g: z  \8 K/ w% I* i: e# i
回到上一级,或放弃当前操作
9 ^: D8 U8 W6 X/ R& t  v, k1 v* G' W, L: v
-按〈F3〉; G( `) ^' y$ ]" ^1 H4 i4 G7 A
9 i  f( O7 K$ L
显示所在字段中可用选项表
# S% F+ ~& e  X
. _3 [" O% m4 g5 k# k: p-按〈Ctrl〉v 在字段选项表中选出每一项5 H/ p1 ~% T% ]! G* f" ^

; m0 @. L7 o0 f( h9 i) j+ k+ l-按〈F1〉
. T. B" V7 g+ s- }) `1 A
7 V) r8 A" f( x( b6 {& C0 d+ [' H显示求助信息4 y, I8 V( l  c
1 m5 H3 E7 E* ~9 z0 f
-按Quit或打入q 退出SCO shell
' [! _9 x1 I; l
' H& a! k& E  l+ l. O0 A2 u8 g& b系统管理shell
! M$ v- q/ y" m8 j, {
4 J2 E) F& g4 U, W9 i需要调用系统管理员shell,应该打入:
, ?7 X. ~! F3 S- g; T% [2 M% W
6 l. @# ]5 y6 W! \$sysadmsh或$scoadmin
& @/ i0 d5 `7 B( _! |& t3 |: ~! j8 P8 F' _- Z
虽然每个用户都可以调用sysadmsh,但是,只有实权的用户才可
0 Z( ^1 L9 k) D" N& r" E( x/ o执行有关特权管理任务。
4 R' I. ~' k% |9 x; P8 k% d  Y4 f6 I7 Z- M3 ~2 e+ X8 b- f
基本上,使用方法与SCO shell差不了多少,只是多了几个功能0 t: N' _9 E" {. p) A8 k1 j( l
键(Function Key),例如〈F5〉搜索,〈F6〉改变目绿和〈F7〉
: l( K/ m$ J4 c执行格式。而且,scoadmin更可以在XWindow的图形环境下执行,
' e3 {' ?+ a% y% I1 D  w; r7 Q; ^用户在图符(lcon)上找到不同的管理任务。( d  |9 f. X" o9 y" |  j" y" a4 \

3 O# Q% Z5 h- n6 j9 ?' T# ?0 ^多重注册萤幕
6 S0 ?5 t- c( k, L8 _# b% O
9 A  z% G7 Y5 P; B控制台上,可以允许用户最多具有十二个不同注册期的萤幕。多
1 Z  k- `# F- Z重萤幕令系统管理员可以同时执行几个任务。, [+ |; P7 O: W$ J# Q, L

( t9 ~/ j2 W) _# }( O系统启动时,控制台上的多重萤幕就会自动活动起来。同时按〈
$ q* W5 ?8 F4 UAlt〉键与〈F1〉至〈F12〉功能键,实现萤幕之间转换。$ o, }: m1 A# _; X$ R. H  x
* p; G8 I& T, U+ o; k  }1 k
至於,在终端上,启动多重注册萤幕,则可用mscreen实用程序,
# q9 R. ~$ P4 B& f5 L/ @为正确工作,mscreen要求为tty。例如启动两个萤,应该打入
9 P1 Z. E! K0 W0 k6 `, N
, ]* {" Y/ I7 H: n$mscreen-n2& [; b- u" B2 u; q
  k$ k6 F: a) }: s
然後按〈Shift〉键与〈F1〉或〈F2〉键,在两个萤幕之间转换,
& U4 q: X& L8 K! S当注销时,确保所有萤幕注销。" E& n4 M! e  C3 w

/ I7 E  z9 d7 v# d7 q* y</P>
作者: huashi3483    时间: 2004-9-27 15:17
<>第五讲:电子邮件</P><>在SCO System V下,每个用户都有一个系统维护的私人邮箱,
7 L  V9 ~$ l- I) `3 r5 ^ 用户能够与系统任何用户或用户组之间收发电子邮件,所收发的: D# `7 R/ r: W% o- I% i! G
 信息可以保留在邮箱内或作独立文件处理。 发送邮件$ U3 x) _) h) u$ f
5 N' L( X/ U! C/ W: W
 打入mail指令,後跟收件人注册名,就可发送邮件。假如发送邮) [* j5 W7 G9 h4 I1 V* N
 件给多个收件人,名字用空格符〈space〉分隔,而不是逗号。收
4 M$ R/ o3 x' Q) i 件人可以是一个单独注册名或一个别名,别名代表用户组,例如:
& E- ?! H3 x' e* x6 p
* {; F5 x4 J1 f/ @/ U; f $mail peter amy& p1 i( {1 i( v4 G4 L1 d
% W) s' `7 H4 J# O- ?
 接著,萤幕上会出现subject:的提示符,用户即可打入简短的信
; Q1 c5 ]# ]  c0 `- Q+ c8 D& a 息说明,完成後,按〈Return〉键,然後,就可以编写邮件内容。6 [9 ~: S% D9 W6 v$ |
# k/ i2 K* n0 q/ z# T% F* \, i
 需要校正错误,就该使用空格符或左箭头键,用不当的空格符或
4 e0 k" \4 _6 }9 {2 Q( @ 不合适的箭头键,即使在萤幕上看起来对,但是收件人可能只收
1 V3 D9 w$ Y" C( @! m 到不可读和篡改了的信息。请记著,mail内的内容编写,不是「$ t0 e/ X" D$ |! c! O
 所见即所得」(What You See is What You Get)。
' f, l1 p8 N. L( j% z5 h. n2 s7 E9 u- C" i5 y8 V" s- Y+ I
 假若需要取消整个信息,按〈del〉键两次。写完邮件内容,按〈& L# W! s; @* d2 z
 Return〉键,取得新行後,按〈Ctrl〉d,发送邮件。d就是done(: U) {3 G$ D/ Q" G: L" {
 完成)的缩写。
% A' H8 {6 E$ K6 F/ R2 C( }4 W. Q0 e* A2 n% e0 S
 阅读邮件
/ p  T- B! w# p/ l8 U, `' q! G7 Z& n" z3 `2 \( O
 每次注册进入系统时,系统都会通知阁下,在阁下的邮箱中可有
; s0 n% C, i5 t( Y# `9 V& \' | 邮件,需要翻阅邮件,打入
6 n  i# V# D! Q* _" {9 ~) h+ a0 {% X3 N
 $mail
- n% ^8 v& ^0 `1 b3 o  k, l3 P- a" h6 K  \( w, x, R7 y
 若有邮件,每每邮件都会显示出相应的信息标题,包括信息数,
7 W4 s  M; O0 w6 y3 @' E6 q/ L' v 送件人及发送日期。下面是邮件范例:
/ T$ [8 H3 d5 @+ H6 {+ X& m$ D: T+ x" X+ z4 r6 I  h
 $mail
& _) |* \  u' T  o! S4 l; }. y5 H& j) K9 g
 SCO System V mail(Versin 3.2)Type? for Help
, O0 z4 ^* e7 h" y0 k( C. C9 b, O6 J" I& k$ n. E, f
 "/usr/spool/mail/joesco":2 messages/new/unread
" n% k7 P4 m0 S8 C5 r- @. T( |7 m% R8 x! a
 u2 mary Sun Aug 05 23:48 47/2109 level 25009 |: }+ c! J" g' L9 t
5 N7 G! P# j+ r( X6 q# Z8 f
 n1 paul Fri Aug 03 08:01 23/6332 Tardy reports!4 p  N" D  J- u1 M/ q1 L" b9 J
' }0 ?! R- E$ v, V: B% n
 要阅读来件,可以使用箭头键移动选取,按〈Return〉键阅读,
! g7 a4 \) k2 e% C 或在提示处,直接按入来件编号。若已读到邮箱中最後一批信息,
5 O5 V$ V( d9 a0 \ mail在萤幕上会显示"Can't go beyond last message" 。
% [" k% ^: q' N" f# z
2 \! b1 X/ ~; I& c5 d 处理mail
2 @7 \$ L. [: a0 N+ K6 j" p+ w/ n5 X4 o# Q
 当打入一个无效指令时,mail会回答一个问号,或"What" 的信息,3 U& m+ |5 g1 h7 W) ?6 S* ^
 显示指令不清。假若用户想显示mail指令表,可以打入?;或打4 T. ?3 j" S& F" I/ S7 u4 S
 入h,显示邮牛标题表;打入l,则会发送信息至打印机。另有一
4 ]: q9 v% D1 X* W$ o 些常用的指令,协助处理mail:, A7 T" A5 b6 h: W
  j7 l4 M$ c3 m) D
 一、保留邮件9 O$ ^1 e! G! G8 J

; |# Y. @3 T: z "s filename"按普通正文文件保存整个信息至filename内,连同  e! J& ?/ k4 ]
 邮件的标题信息,一并送入文件内。! p; B6 \/ K5 L4 K6 }+ ]
) ~; ?; T9 H7 N) K/ r$ a1 u
 "w filename"撇除邮件标题後,保存信息到filename内。
; @% \) n2 v' o' z: B4 |0 P
6 L: y! u- b7 W  d1 g% f) f 二、删除邮件
0 X3 S, h9 _) N( G# ?
+ u! D0 ?: w' n2 g "d x" 删除信息x这个信息号数
8 B4 X3 k# N* \8 l# {0 I9 n* q1 m0 n5 u8 d1 @
 "u x"恢复被删除的x信息* P, P' @& M# J# ^0 a

8 |6 |/ k! y9 Q 三、覆件
( _7 X& G; M! R& S9 `' I! g5 z" t1 q, A
 "r"发信回答给送件人( T' C" x/ _' E) a" ^+ N( P

$ F* _! X! y1 x% w8 n) T1 k* B "R"发送回答给To:和Cc:表上的所有用户
, d: d( t; [( M0 b( E" x1 q, f( q6 F$ |" R: a3 t& M; {
 四、转发邮件
0 U' \, e1 W: k  ~# ^$ x7 N- Q3 _! t  m, _  I$ V
 "f login"转发信息,予其它用户,并分送来件正文(Original# B! B" b2 z# B5 D4 O  t7 t
 Message);login乃用作的注名4 a, ]9 M. c. _, R6 {
. _: I& _$ x, L- S- n1 X) S
 "F login"只转发信息,不分送来件正文( g% G1 |* D1 ^  B
& b$ N6 I8 W, e9 f2 K
 五、退出邮件0 T& O4 b+ V& V8 t  ]* N7 Z

0 c  a: o6 v- J& K "q"退出mail程序,并更新所有改变- l- {9 X8 |6 R, ~

: s: c: \0 G$ m "x"退出mail程序,但不作任何改动. ^! R3 V, P: e2 q3 z. d9 q+ m% E
9 ~3 T& Y' d& v" O  d6 l, Y1 s
 其它处理邮件的方法) P3 S# z$ D/ [
% t9 t$ ?! A6 {/ u, M8 Z- U8 W  g
 除了以上所提到的基本指令处理邮件外,SCO UNIX尚有其他较
) C8 F2 Z; M6 o0 J' r. [ 复杂的指令可整理邮件。在mail内,所有指令前都要加上波折号~/ w5 Q5 f! d, D  e9 H% n
 v,调用vi编辑,一旦完成编辑信息,通过vi的指令,例如保存和+ ?( }  }* b8 O1 c, e2 y
 退出指令:wq,就可返回mail程序;按〈Ctrl〉d,就可以直接发
5 I! e( A  R. v8 C4 q 送邮件信息。
* v# a: n  Y  j* {# z, d# L
# |7 {+ v; T4 Q" X1 r 其它mail的增强指令如下( ~. u$ _1 l2 E+ Y* U# \! Q

' o4 ]/ G# h  B4 U0 E! y$ f0 K% g -~m messate-no.把邮箱中指定信息
; N: u* [0 s6 a* W3 {) P; p( E  T; m( T
 (message-no.)放到所编写的信息中" T6 b5 `3 d! t' ~
+ j: p! Z. n! d/ b& N( u
 -~r filename读入指定文件(filename),送到当前信息中
$ T9 k! V) y% b  G7 E! Y2 D9 k5 d  }8 g# [9 N; e( W# b
 -~p察看信息中的当前内容8 j8 D& A! V+ ]5 f
0 I3 p  g! _, E: R
 -~?求助% M* R0 D) R" X1 H8 _7 ~1 L& y- S2 D

' z+ K* L4 z5 c2 O5 Z+ f; p+ h" Y 为了方便mail通讯,系统管理员能够定义不同的特定单用户或组8 t" {1 R' F; j) n2 K
 别名,通过这些单个组、别名或名字,就可以把邮件信息发送给
2 v  a) F( L$ y6 W- P 全组用户。发送给别名成员,可键入如下指令:
5 Q; X" A- P8 Q* J  ?' r
. n& C: N- H  X. a3 G2 T" ~; d% T $mail aliasname
) J+ X- g; w# S/ q( n2 T  ]2 y1 P) i2 p
 如果要限制组员和其它用户的私人邮件的存取权限,可以使用. O! p7 M" c5 P# `2 r: r
 chmod指令,例子如下:
4 v2 A' }2 D7 }: y3 G+ F. I0 c% R# e0 k. Y. x* s
 $chmod 600mbox+ h9 |$ }/ }: @7 i' C+ Q

% p- X  k9 Z- T 在普通电子邮件提示处打入set,可以控制选项,改变读和发送邮, `( M2 t" X1 }0 p/ k
 件,这些选项可以由系统管理员为用户自动建立,也可以自己修  C* _/ T9 O; l; r- r
 改这些设置,例如:
, W2 p; a1 }- j
0 v5 H, Q3 e1 Z( b set page〓10
1 D% U( _2 R& x5 T# y
8 P, \4 F: c6 d2 ] mailrc环境文件) H7 t1 k4 e& T8 m( @3 x2 `
6 S7 X8 ]8 a/ u& I) e( y* {0 V
 mail的环境文件叫做mailrc,负责保存所要文件的永久记录。
% X/ E* O9 S* T8 W
' |  x" L9 P, ~3 t- E2 f& D 与其它环境文件一样,mailrc必需放在主目录中,它是正文文件,/ ?+ k9 Q) p3 j6 n& d
 包涵有效的mail指令,mailrc通常包括set指令和alias 定义。$ [7 l  \" s: a

# r5 f9 U+ h  Z& G! ^+ p 不过,运行mail程序,倒不一定要有.mailrc文件。如要查看7 J5 Z$ b" S2 W# `0 e
 .mailrc,可以打入more .mailrc,下面是.mailrc的一个实例:
* V" v  ~% A0 K! M! g6 [$ d6 g' k) ~9 Z0 H7 C! D
 cd
% T2 C1 }: g( k2 T) v. P. n: |: J. T* C3 @) y7 Y* v
 -在mail内,改变主目录nset autombox8 E, w4 ~4 o9 X8 N

& v4 N+ V3 {/ `, z8 ~: } 删除自动把所读件转送到私人邮箱+ `  i- y( X0 a$ q( V
5 D& L4 {7 Q: H! V
 set page〓20
: Q- v# D/ @! S
, V* ^. |/ n* r) L+ M, i$ n -若信息大於二十行,用more显示& e5 c( U1 M- G, y
6 r1 @- f7 H8 ?4 k- n5 ]
 alias crew john wanda frank0 ~, Z- q1 K4 N& x' i6 t* |
9 u6 L2 J6 h3 Z6 {
 -发送给crew的邮件转发给表中列出的用户
% u4 m+ g8 O' i. }9 c% }) {" f, l# D+ x
 set EDITOR〓/us/lib/word9 x$ j4 i6 r$ q% |" K% W
! U' s0 O2 }3 P' \  g/ W
 -把word作为mail默认编辑unset chron
! B8 O; i( D) w4 \5 [
3 R: T" o3 Q, b8 p* `) o: M, V/ v -显示当前最新邮件 上述的.mailrc例的□面,当打入$mail crew,( _9 L* l+ M4 G& G9 A2 `3 S2 b9 j3 S
 就能够把邮件发送给john,wanda和frank。
( G3 ^  P$ a7 ~8 x1 _' O: d5 A0 `" l* \
 监视mbox是默认设置,如果不想设置的话,应该使用unset3 L" `9 p+ I5 u0 Y* \1 ]# b9 e
 autombox,而当mbox的内容很快增长时,通常会删去旧信息。如
' N$ Q# L4 o4 D1 m$ g& ?# } 果要读mbox中的邮件,可以使用如下指令:$mail -f mbox" I$ ?5 Q! g$ X# x3 R* R$ W1 n
- {6 N) E( h* z2 V+ B1 V$ d
</P>
作者: huashi3483    时间: 2004-9-27 15:17
<>第六讲:後援复制</P><>电脑系统内,数据可是相当重要的一环。贮存数据的方法,可以
5 ?7 G5 D, N# k 经软盘、硬盘或盒式带(Cartridge),盒式带通常为大量数据提& N+ z( ?, E/ Q4 @+ [* `; k
 供後援(Backup)。
+ A' ~2 b4 s6 K" Z5 }% m6 w0 R% j) ^. O: `( Q+ p
 复制目录
+ W! n1 R4 i& T4 o1 V% Z" m7 w( A& j6 ^7 q
 在安装的文件系统中,把一个目录内容复制到另一个目录中,用' p* _/ r. Y6 j, o
 copy 指令:
4 r% q$ ~% V& f5 x# y7 A+ {- E  M/ V- M( I$ h8 T1 ?( o. @# E$ N
 $copy source&gt; destination&gt;
. ]% a3 U; T% z6 |2 ]. U) ^8 ]% ]" p+ v! k$ O; N1 b0 I
 #copy -mor source&gt; destination&gt;& T1 `, S6 d% Z$ M" w# Y7 t) z

9 c4 L) {$ f& n9 W, p. L" h 转换并复制文件5 v0 ~7 l+ s5 R4 n
  t7 L. W" I' d4 e
 使用 dd(c)指令,可以把一个文件转换成另一个文件,也可以选择% M7 c2 I' A9 Y# d
 文件的一部份传输,在传输的数据中,也可以交换字节顺序。8 Z7 |0 G# u4 N+ \7 M' H9 T6 D
/ e# G# W: u9 ]% W8 R
 $dd if=/dev/fd0 of=/temp/save skip=5 count=86 bs=5k
( n5 Y3 [( ~3 T6 @2 z
  j1 E& I* ?) g 上面的指令〃/dev/fd0〃 是指电脑上的软盘,〃skip=n〃代表在
( o# k# Q8 R* Z; v2 V3 l 复制到输出文件之前,跳过输入文件上的几个记录。〃bs=n〃则
5 E/ T( @$ _% E2 o 表示设置输入输出字节块长度,用 k 表示 1024 字节。〃count=n〃
9 P- Z  _) a9 d1 o 只复制输入记录的指定数。0 E. @& g) o4 Q8 B! j
: A: `- k( ?6 J. Z+ M; n) O& D
 同时,也可以利用 dd 指令检查归档(archive)情况,指令如下:8 h3 Q; e2 n0 _9 R8 ?* n1 A% ^
+ V3 v' ?- `) o) V# E; {  C" w
 $dd if=dev/fd0 of=/dev/null bs=1k: ]2 l8 k0 q$ d& I5 Z! ~

: M. s  f: m0 ], n4 [ 1200+0 record read in
& j! ^6 Z6 D0 U5 \5 d0 u
; ^. I/ [" h5 ^9 k' o 1200+0 record read out
8 f3 S) |* l; t% J7 `/ U$ l
7 X& |( @3 H* j% c* m. h& v8 W 归档文件:tar(c)
( N% n* D3 ~9 C6 i; S$ K3 y- K/ t  A, r3 Q. i4 H
 tar 是对非特权用户最易用和最可靠的实用程序(utility),从( X' \# `& h  T
 归档介质上保留和恢复文件,亦能从多文件归档中抽取单个文件。0 a8 Y6 A8 W( S* `
 tar 归档使用文件和目录的相对或绝对路径名。
! W& |( _' V8 K# B4 i7 ^* T3 G! k6 O2 h7 p) K4 ]- P, R
 打入 tar,即会显示所有变量选项;”cv”是创建归档;”cv#”3 H- r3 u, {8 p
 用於来自 /etc/default/tar 的设备号 #;”rv”追加已有归档;”# ]2 H) W! h* y$ a, C
 uv”更新在已有归档上的文件;”tv”显示归档内容表;”xv”7 y" R# ~% i. u$ Y
 从归档中抽取文件;”f”从指定文件中读入或写出;”L”使 tar  x7 C' [0 |& a5 w& H; B
 跟随符号连接继续追查下去,默认情况下则会忽略符号连接。
! ^! \7 F4 h# x3 p' w4 Z5 E' ^2 w+ b( @! A  n
 譬如要归档指定文件,而复盖盘上的已有数据,指令如下:
0 U8 N( q/ E& T; ~# y0 ~
. i! w, [) Y% S6 M $cd pub1 o2 @! l/ G, W# m* D8 y2 l
' P; P, y- x1 k1 Y. S; V) S
 $tar cv6 ascii greek( Y2 n/ b# A3 ~6 |( B
3 ^$ X  w# H. J1 H& T: z
 volume end at 1199k, block factor=5k
, s* x, t1 r% p# K* T" w( r* M
4 p4 R- z2 {0 Y7 E% u# @# D& @ seek=0k a ascii 3k; H9 {1 p* p+ O2 J
+ `% q8 L9 ]6 b+ Y0 g6 n3 E
 seek=3k a greek 1k# T: F. v0 x4 Q4 V: h
& q" }' S8 h; r$ _, i5 e
 要列出 tar 归纳的内容:4 j% Z7 _1 }8 l1 J6 M
4 q, C9 y0 P* q8 e. G8 s2 p
 $tar tv60 G2 F$ l: O& }! E- e( \4 Z

% A  ~% @9 c# q5 U3 h% v6 J8 ^8 o rw-r--r-- 2/22114 Jan 2 13:41 1996 ascii
6 {0 w2 }$ K7 X" A" v
/ s/ {* K& M4 z7 a rw-r--r-- 2/2475 Jan 2 13:41 1996 greek
+ l# K. i* u; u* X' w8 b8 \- F! \, R9 Q. s# F  h% O
 创建 tar 归档,使用相对路径名,否则,恢复另一系统就会盖写7 h- O: ]/ x4 B+ a4 h
 其他系统的文件。! F# y' ~6 z/ _/ T2 G6 Z: n
. X( m* M8 Q$ H
 #tar cv6 /etc/motd
/ s) b! `9 N: C' J5 k
! A* E( D4 ^: Y7 @ #cd /tmp2 }% e6 J) {( \% }3 R2 ?' q

% p% c& c0 \9 q. }0 n #tar xv65 Y+ |/ S" y0 v: D6 j6 S
( a0 h8 D$ N5 \' K* \! T( c
 x /etc/motd, 943 bytes,2k# G2 b. b! B0 N$ m/ u
* L: I1 o4 i6 z! \  |. k+ y
 归纳文件7 K& Z* _) @4 J9 [
4 j6 Q, v; `$ D" l
 当需要後援指定设备、後援空设备与使用匹配符的时候,就不能
9 w7 {3 k0 q# V  u5 F 使用操作容易的 tar,而需要转用比较复杂的 cpio,用以归纳文件。
6 c% Z$ \% J$ P9 y
8 O) C; p$ H# H5 i5 ~ 譬如,需要选取文件建立归档,指令如下:
/ U- `9 l$ H$ r% w4 K7 E/ x% W/ t. ~
 $find /u/bill -print| cpio -oB -O /dev/fd04 i7 d& |' L7 s9 S, k

: K5 r% Z! |" p2 f: T/ _ 20 blocks# G8 {; s9 H2 p3 }) r" l: Y

# s, U' |" u2 t5 T 又例如,需要抽取 cpio 归档文件名时:( [' t) v) H1 E+ h; t

. h# G) n* G0 l $cpio -idmuBv -I /dev/fd0
6 ^4 z, \. O3 R; A' u$ C
* Q1 i0 r" m0 e; f8 r9 V .profile- [# B/ F! a3 y# I3 n8 L- a

, k& g8 ^9 b8 w ascii
0 p7 K: |6 V5 |+ S4 [/ R  e* x8 _
 eqnchar
. v" M0 a: l; q5 `! Z4 ?7 T/ l8 v, O  |: i1 c; @1 _
 greek5 w3 A5 Y* }( C$ ~; e, k
- S  E8 ?. S7 o  c; v
 20 blocks
7 @( q0 T/ M4 Q2 Z* R  {2 D0 H- [) B- b, R; M
 cpio 主要选项为:
- n5 {/ ^0 R8 e  @6 B' [) ~# U4 o. E
7 d# q9 \9 \9 o  y! z  v* I# d9 E -v 显示工作
! a) Z) r/ \( M' N3 ^1 W
  n0 a( r- A. }- |( [ -i 读归档
4 Z- i0 q: K- m" ?
1 _) g+ G9 y* u$ R/ A1 k# }' Y+ L -o 写入归档
/ ], ~6 _* q, A6 _, _/ S! A& P$ Z
4 @9 f) e" J0 K; l -t 内容表3 S" o- z6 m+ W+ O! W7 P9 S% v5 f. q

0 A! @) m9 [& c* [$ u -d 创建目录
3 Z  |, o0 @4 v9 L7 I4 y1 M+ w5 c2 P& z) ~& e: `0 J
 -m 保留原修改日期
  X! O* _- Y  b0 f3 g. x4 O' l2 y- {) v; O& n! m2 f" a" E
 -U 无条复制% [0 V& I/ M4 D( w, L$ u& Q* z

, G$ l- O; {, \1 [) d& y -B 分割因子置为 5k
7 t* z7 @+ s+ A7 V
/ C7 z# t" k, t) D# Q- L; C5 d -Cn 分割因子置为 n1 X% S. }; i" M" |
2 r! z' a" W' Y6 ~. Z) c
 -Kn 介质长度置为 n
" k8 |" s  F+ Z+ F, Z. s5 W+ M! b
2 j0 e7 p9 s' K) {% T# [# j! S 後援复制
7 m/ t. S# w0 m! @$ ?9 O
) @2 X/ z+ n+ }/ Q0 U1 f% \ 後援就是要平衡运行一般後援的代价与损失数据的代价,确定要7 u; z$ b4 W# y; T
 归档的数据类,并确定要用何级实现,以及确定所要求磁带的盘1 L6 O# r( N# o
 数和带的容量,多久存储一次後援等等问题。
5 z+ ^0 c0 r; C$ T5 V8 X2 @# l8 z& H9 x3 s, m
 一般来说,後援复制可在 sysadminsh 或 scoadmin 执行。
$ I! p0 K& Q. F: Z; ?, q/ b8 Y! U# c1 n, f9 A
 所谓增量後援(Incremental Backup Levels),就是只需要以上
6 p2 _7 B# t! Q5 h0 B1 q 次归档後发生改变的那部分数据後援。当实现调度後援时,在' ^: B" T. S: Y1 q8 S7 b! L
 /usr/lib/sysadmin/last/中,将文件记录下来,可以透
3 j, W. K7 F! B0 U0 [* A& R 过使用後援级来实现。
% k# x. Q7 A% t5 }: Q2 s1 j
. I' W/ d( \; u- T8 `' V1 l 後援级的 0 级就是後援文件系统上全部文件;1 级则後援以上次4 [1 T2 e: Z4 \4 Y0 n- G/ T
 0 级後援以来改变的文件:2 级,後援以上次 0 级或 1 级後援以3 l0 m1 ]7 u# G5 V
 来改变的文件;3 级,後援以上级 0级、1 级或 2 级後援以後改变
0 B- j% ]) D, Y( g4 V6 g- a 文件。3 X3 }, m" a0 B' X' n3 b

5 F# A* B5 A! [- F 经定义後援工具後,後援调度(Backup Schedule)就可以更方便2 e0 S5 u4 Z' _" `" X
 地执行,配置档案则会被安置在 /usr/lib/sysadmin/schedule 中。
1 \4 V8 ~5 K$ V: L
( k* d  t2 q" P6 J$ r 假若在紧急关头或特殊情况下,用户亦可以使用非调度放援,进
4 |4 ?6 K( P& z- c" k0 J* L) C 行紧急後援。
5 q1 _* |: W9 Z
( r( X' A) X/ R# W1 T" b! @</P>
作者: huashi3483    时间: 2004-9-27 15:18
<>第七讲:用户管理</P><>系统管理员的用户理工作包括:为系统中所有用户建立帐号;以
$ F" O" ?- P+ T) S: l, x. w及当改变用户环境、口令与组别时,进行维护。
! P/ Q( A+ p, e' @, z$ t" R
* z9 L" `' H9 [8 ^" p5 r分析用户需求
5 {* m2 n& H) _% w; g
) `9 B; o/ J5 C4 [  j0 ?5 o3 F每当需要增加用户时,系统管理员都会先分析用户需求,对每个" H2 i$ y6 k  i) i% ]  h
帐号成分,通过使用默认选项来满足用户需求。要从sysadmsh中3 q" j8 y  f5 b# D* \! S
查看默认记帐选项时,可以使用以下选择。
; N% i+ {) O, |6 y1 g2 ?  c1 i+ N+ V' h# Z
Accounts□□〉Defaults
$ b) v+ N3 P2 P  w" c% C( j* \3 D  M" s6 k
或scoadmin□□〉Account Manager
6 ?% n$ Q! f9 P  R+ H6 z
: _: V$ C! \. V4 {% e" y当建立帐号时,评估用户需求,查看是否需要修改记帐成分。若
+ c2 Z: S8 S# g% }用户仅用一个应用程序,编辑用户的.profile文件,在用户注册
$ w3 j' @* B7 P* [1 R时,每次均执行此文件。8 |5 X* C& r8 O, n! ~

5 @+ q1 D. I$ n$ E4 c默认值建立用户帐号(Default Parameter)
- n2 b, p% c* z( |
/ M. X/ F( U2 W( i0 P  {8 j首先,打入用户注册名,小写与三至八个字符;填写注解栏时,
4 a4 u! d3 E; I9 @7 k/ `) p应包含标识信息,如用户全名、单位、电话号码等。另外,指出) Q8 p+ g0 g  z
是否愿意用系统默认方式建立帐号,抑或对帐号修改默认值,若
  Y4 P! F# q' l使用默认方法,则选No。确定你要增加的用户後,给出创建後的
8 \2 ?+ \4 |% ?/ |' I- q  v) w$ l0 r文件和目录,再执行/tcb/lib/useshell指令,建立用户帐号,- y3 [& u: o2 ]0 }1 {
不过,在UNIX系统指令中,要通过sysadmsh或scoadmin才能运行; u; R1 @/ E0 T
此指令。
) r/ m6 P5 Y0 Q, K1 R9 E4 |% V& k
7 ~# q: Z1 y( I, e( ?# ?: T9 u8 L1 W: ^若决定改变用户记帐默认方式,则在建立帐号时选Yes,那麽就需6 E/ B6 x  `7 t4 s
要填写每栏,在合适位置上,按〈F3〉或〈Esc〉,下面是关於非
. v( {+ x" d6 I  {$ g" h! k9 U* Z6 R默认的设定。
( s7 w) l$ Z3 P# j& ]
6 D' }- \$ G0 a2 p4 X4 k9 z指定用户组
/ i8 e7 G5 v5 e; p9 }! c1 ^7 ]7 Q3 S
每个用户必须至少属於一个组。默认情况下,用户注册组是group。
( f  W0 d( f& ~在一个组内还包括读、写和执行文件的权限,附加用户权限给那* F# j0 S' N3 V! X7 q' U& n
个组,作为指定组员的存取权限集。如要改变成组别,可用newgrp(
  g+ s9 W& C$ Z! U% g" Z- V, Rc)指令。
+ {; N! P' W8 G. S& C
5 v; H* d+ F( k增加用户时,可以创建一个新组,或附加到一个已存在的组内。
, Q$ s. J. N* d4 z& I有关组别的信息则存放在/etc/group中。凡增加用户创建新组
% T, s( D: |* ?) Q3 m, S时,组名会自动递加到/etc/group文件内。
5 t% Q! h! [- }. ^5 w. i" H7 R0 |* \$ k/ x5 K
组ID能够由系统产生或人工指定,但必须在100到60,000范围内,
9 A! Z! S& @1 ~5 a( l100号以下的ID留给子系统和其他默认组用。当管理一个网络系统
2 Q: R7 r8 l1 f时,常需要指定GID(Group ID,组ID),避免混同各网络结点,
6 A6 O- E% T, a9 P1 y7 h' y! ?所以,最好先选用默认组ID。/ W  F/ g- I1 k& L( X

. R* b7 x2 m6 Y; P+ H- x- k- i3 z指定逻辑shell1 _# H' C/ `; G( y4 H  @* A0 D: S% G

& x) d; Z) K  M: V  X( }5 C要知道用户打算选用哪个shell工作,SCO系统可选用以下几种不
1 m, m3 I1 M" E1 v5 Z' y同的shell工作:
- g, v% S9 l- ]& E
( @8 n# [& a. p9 c  U' P* _. ccsh: C shell。
# Z: J! c: w' H! W2 o
" [8 W/ R' m) E  V* B1 q/ wksh:Korn shell,组合了Bourne shell和C shell的特点以及指
" [0 a7 k6 [0 g令行编辑。9 K9 x) [& P+ h. ~
( ~% X, \6 ~& }0 k
rksh:加限制的Korn shell。
0 \$ l% k6 N& H& Z2 Z- T+ j, h3 g3 r" }& `  }
rsh:加限制的Bourne shell。
4 |, G  X# m7 V$ t8 y; p) N
3 d+ G0 M( H5 m; Pscosh:SCO shell(图型化桌面)。3 A+ ^( b  \! L# E2 N7 O, l
6 Q( Y! p- E3 U, c: [0 @
sh:Bourne shell。; n8 M5 `) H7 [6 N7 Z7 H

, O0 G" i- T+ s4 _/ i2 cuucp:UNIX到UNIX拷贝功能,它本身不是shell,而是成功注8 E% Q* R1 V2 f- p9 I& j, F5 u
册後运行的程序。8 K. g) m8 f. I! @. j
$ N- I. |, |: ?" ?$ d9 h3 f
默认shell在/etc/default/authsh中指定,从/usr/lib/* S' N# A6 P2 C5 g
mkuser目录结构内文件中,取到可采用的注册shell表。- ~, v7 d, p) X
, [0 P2 [2 v9 O  f
指定主目录. u% l& M" N' a3 x& W: }
# Q# S. K5 ]1 V  D0 X
默认主目录在/etc/default/authsh中定义,从/usr/lib/
7 \6 n* u9 f8 K+ `+ Nmkuser/homepaths文件中,取到可采用主目录的选择。以及为用9 [; F: z+ A2 [5 u! l/ \
户创建一个新的主目录。2 M7 y  a& F2 j! w

: F: F% }1 h* U) l指定用户ID(UID)必须是在200到60000范围内,指定在/etc/
6 l6 z1 d7 d1 w3 Qdefault/authsh文件中,UID必须是独一无二的,防止在网络上
, Y* g1 Z0 s- h# Q! Y) Z7 a, \* K有相同的UID,而且,UID一旦设置,永不改变。& o- q/ e6 X8 U# b  {
: O6 Y7 }6 C0 U! {* y8 a7 i
指定用户类9 t8 J* M4 {7 L" ?1 B: k

$ p' j: p' ]" J4 U* j0 b2 H另外,还需要为用户设立他们的类别,种类如下:
7 S. M/ e6 _. _$ k3 f3 s$ {  N3 G( }+ Q
-individual:个人记帐类。
8 W4 E  R6 g* t5 Y; P8 c0 ~! x8 {/ N" t6 o& L/ x5 n) y+ A' J
-pseudo-usr:为各子系统任务设置帐号,注册时个人不应给, j& @+ I/ I0 Y0 G
pseudo□usr记帐类,Operator、security officer和
& E7 c* |  M- Y6 o1 L6 jadministrator记帐类是pseudo□usr的其他名字。
; C8 C9 s: G" L5 R" K& G5 E8 g
0 S' D$ l. e  A0 B-不能设置superuser和retired记帐类。
7 M" n% f" C  n: S. q( [6 v
, {$ U, g: o  d0 K如果要能使用su(C)(所变用户身分命令),该用户必需被指定  a9 d* E, C+ ^, v8 C# z0 i
为用户类individual,才能取用此域,为了用su另外记帐,用户( m& n% ~, `) }
必须有su授权,知道帐号口令。low、traditional和improved为
3 z; d7 C* g+ Q安全默认值,被赋予su授权。在high 安全默认值下,则不赋予su授
0 `( l5 j' S% a8 }) n% E. N' l权。
1 E  [- H3 e2 E( P/ I" H; A
* I, j- t2 `- l4 T# u  m$ `4 d& d) G赋予用户被始口令
; u5 Q7 s; D3 l( H# S  I! H  Y  v6 I) R: w
当创建新用户帐号时,就需要为用户设立或不选择不设立初始口
0 Z8 S. u! T# {/ L令。- A0 x) Q& o! l% C

3 M8 M  w* \+ I, M# s-New:现在赋予口令,用户在注册时必需打入这个口令。) X4 C! F8 R7 w- d6 f4 V1 b) M
; i' D# y* D$ u# k
-Later:现在不赋予口令,在赋予口令前,用户不能注册。
$ Z/ L5 T* L8 F1 r: r! g+ P5 T
/ O" S! d# Z0 {) P/ |-Blank:赋予空口令,用户能注册,但在注册时,强迫用户给出) M, _0 M2 w9 J! j6 ^' b. ^5 r- S
一个口令。
& o* g6 K! R$ c8 `) _$ j
1 ]+ Z+ x$ O5 y9 o-Remove:不赋予口令,用户能不用口令注册。
4 `3 e1 L( ?3 y5 K& w
! X5 T% U6 J! \! ^! t' B* u2 S( c-Force Password Change:决定在用户首次注册时是否要用户强' Z8 Q& r  }. @* h8 _2 W1 Z
迫改变口令。" ~( X7 X$ s. c$ c4 @; b* V
9 S0 l$ [9 V, c5 J1 [
在high安全性下,必须为每个用户产生一个口令。若赋予初始口
' o( J" C  a2 E5 _2 [. T- A, a令,就应该告诉用户他的口令,希望他在首次注册时,立即修改
4 c( G$ l' R* P% w: h4 F$ l' z这个口令,修改口令时,不要选用别人能够轻易猜出来的口令,
5 P4 D* r! V( Q  V' S, A如姓名或生日日期等,最好在口令中,加有一个非字符。2 r% t  B4 T: z& K
  x8 `" V$ v; ?% k4 x- [
系统安全保护:修改用户默认帐号
6 M5 N3 d& w; f2 {. s! ^
5 ~# g  c" W$ m: n  l% I6 e为了防止被人滥用别人的用户帐号注册进入系统内,保障系统的
! U0 U+ V. \# p9 Y; f完整性,系统管理员需要修改一些用户的默认帐号,以及检查用
; i: L" ~- K* T0 `5 r户的注册情况。5 s8 G  Z8 K4 w3 {" u5 c
5 \$ j2 d: r% |) \( u3 I0 N
首先,管理员会设定不成功注册最大次数,计算使用不正确口令
! m+ e8 u% l6 z7 k/ ^+ [; s% S注册的次数;当不成功注册超过最大次数,就设定加锁用户帐号
6 A7 _% p) Z4 M) R$ v和终端。如果在完成注册时间之内,仍未能设置口令,也可加锁$ M/ C  |; U/ E8 z+ n, k3 x
用户的系统,甚至根户用也一样。在成功注册後,希望享受优先! f9 m$ e& s4 w, E$ L! F3 b
CPU调度,则可以用nice(C)值,给用户she ll及由它启动的进* D6 t( b5 x5 J# X# b% h
程,以调整优先级。设定值会存放在/etc/system/default中。
; M# \% z- ]7 H8 o2 ?4 v8 a
: L4 b% a& S* t0 \5 F$ e</P>
作者: huashi3483    时间: 2004-9-27 15:19
<>第八讲:监视进程管理</P><>程序是一个可执行文件(Process)是正在运行程序一个实例。
' l8 F# G1 a; t" T: YSCO UNIX System V支持许多进程同时运行,各种系统通过调
7 u3 }6 B& ~3 h用可用进程去创建新进程,与其他进程通讯,以及终止其他进程。
# ?( X' W& u6 A' d2 N6 [# N
8 G( w0 W- a( G9 g/ r8 N( s5 T进程族系
; V: ^9 }- \  |6 f. @# X4 X5 v, p# k' G4 G% ~
新进程创建时,内核会分配一个进程标识号(PID)给它,并对  a$ x/ {) a6 {' S& Y# S
进程表中添加说明讯息。
- r' O% G3 j- |0 H& {/ |5 z6 B4 [& r2 e& C1 K4 D; u( E
由一个进程创建另一新进程,老进程为父进程,新进程为子进程。
5 H: Y1 A. P1 i- o( }- j3 h4 N用户Shell执行的大多数指令又是它的子进程,子进程则运行指令。
# y# ^* Y: n! {而父进程允许有多个子进程来实现任务等,待子进程完成。一个
9 u/ u. k& g/ O4 Q% s父进程可以有多个子进程,但是,一个子进程只有一个父进程。8 D& F6 |  p) t8 m& b+ L+ f

- H, t4 S; L0 G  [前台及後台进程& C; D- N$ y# p# A5 f+ ?" P

- c7 w4 l( V; b0 h在Shell提示处打入指令後,创建一子进程运行命令,Shell等待1 A/ ]) [4 W$ \& X% j
命令退出,然回到对用户提出提示符,这道指令与Shell同步运行,
+ A2 o/ D0 z) H1 i6 d+ k$ |) ^3 c即在前台运行。& c# t2 [+ d0 y9 G% x" M

. \; }0 _: |1 O: E& D# Y  v在Shell提示 处打入的指令,若随一个&amp;,Shell创建的子进程运行0 J% C) r/ d5 t  B. q1 {2 [
此指令,但不等待指令退出,而直接返回到对用户提出提示。这4 z2 j/ \) z( v! {
道指令与Shell同步运行,即在台运行。
6 G1 \6 s: [) [- f6 S
  `% V8 m# w7 Z* j* [$ sleep 10 &amp;  L+ V; d2 b# G

" v: ^' q( u, G7 y精灵进程
' ]4 ^. v/ H3 B, `& J+ G" I, X: Q  }( N  f
1 j4 R  L% u! S$ X3 n1 S2 |" M. ~4 \精灵进程是一个进程,它与终端和用户都无联系,也有人喜欢称
$ F: C) O# G: f- ^他为管家婆。精灵完成一些周期性的事,平时它睡眠。用ps (C)  K) A0 ?) K9 q% `/ t. u* V1 M
指令可看到精灵,它在tty区域中带有问号(?)。' R# |$ {- Y. H! |7 ^
  z5 U0 L/ h# _7 w- `/ D: N
-Sched:PID 0,它完成进程的程序在存储局和盘交换局之间交
9 \# T  Y% f# ?/ I- M; K  I5 R换工作。5 ~6 m  ], E- w0 R: }7 l8 D) {

% p2 v! f; q- ^0 l; [-init:PID 1,系统自动建的第一用户进程,它负责初始化引! W0 S7 H4 p2 l% w% e8 F4 q
导和注册过程,也就是所有非系统进程的祖先。它会在终端口上,$ l7 Q8 P# y( f- E3 p  B: X3 o
启动getty (M)进程。
( I' s- x- P0 |9 g/ N/ \+ f! \$ r/ f( E- L" O. z
-vhand:PID 2,页面精灵,它频繁地把储页面内容送往交换区。9 e4 a6 \7 U* u$ `/ Z
. {) `, |0 t. @( a* |
-bdfush:PID 3,定期刷新高速缓到盘(默认情况,每13秒刷
$ O) f/ U& q6 n7 Q: y: @! Q新一次)
4 Z$ p, {: l/ I9 a3 x6 Q( h, D+ _$ Y/ b3 |4 w- [
-logger:归档系统出错讯息。4 o2 E- y. ^( T5 u5 Q3 t% v1 }
0 _, o! [8 n8 n: P$ b) s' d5 i. ^- ~
-cron:在调度时运行作业。- u7 u2 o$ H( G6 {1 f) p

7 ^! v8 C6 ~8 G* f" b- [0 G0 B4 Z9 I-Ipsched:脱机打印精灵。
" y: ?+ i3 q; D$ K1 p( |7 }6 p& Q: d# T0 R3 i
孩儿进程& L, t/ K, j& T% @) x/ v
' d# v+ Z4 v3 C8 V0 ^5 u) F
孤儿进程在父进程终止仍旧活动,由init (M)认它为乾儿子。
- B% O% B+ v' [6 d5 \2 Q僵□进程则是进程已终止,但进程还未撤消,因为父进程并未「1 @" Z# F- q  l0 g1 w/ V+ |' \! T" d
等待」它,进程表仍保留著这□体,进程表的□体是僵□进程所
$ p) N: B$ F, q" b  N( y消耗的资源。  T) D. x$ R! F6 b( Z
: D8 [- ?' f. i& m
随著新进程的创建,出现大量□体,但总数是有限制的,因此影! E* r4 `0 K! }: W% t
响新进程的产生。而孩儿进程与僵□进程不同,并不会影响系统* E1 C9 D; R9 n/ ]: W6 n
效率。9 B, S# h9 F. F0 m  U6 \) e4 A" l7 M

5 k4 R9 U, h' n1 Q通常,在父进程死去时,才会移去僵□进程。若他们还未移去,- s* F3 W* m0 ^! X" |
应由init (M)继承并移去它。( e7 T5 i- }% `4 C  v, H+ w3 j

% s) X3 Z' P. V) t! h3 X. Z3 o监视进程
7 F" s6 o1 }. T3 Q) R% P" s6 b) B' u! \$ F0 C
监视进程监注册户的数量,用以记系统的性能;亦会监视用户进
, @, o# z* E6 b程,包括挂起进程;以及装载均值等系统性能问题。
6 m9 ~% p4 C0 i$ d: X% ?# o$ l9 V- f6 s' g8 `) e0 @
要显示进程信息,可以利ps (C)指令报告,进程状态。在默认
3 k$ L0 P5 o  E1 N1 @情况下,仅会报告与当前终端有联系的有关讯息。若用户没有root权* C4 a9 x) `" r* o9 k
限,ps仅限以说明运行进程,报告用户的进程讯息。若用户有root权
6 d3 B2 d8 }! \6 ?/ ]/ E  l限,则会报告在所有终端上所有用户的进程讯息。
* \/ |* f( t) e$ m# U4 O& Q: H/ y* O' T& f4 c2 P8 a' T, G
$ ps-u joana
0 ~! B* E5 V5 n' q8 |) T. G
- |6 `% j- k( x4 S8 B1 j, R--u 〈username〉选项显示指定用户的讯息。
' V! V) I3 P' y2 R& o3 M6 r+ |) s# ^: _) p% n
--t 〈ttynamt〉选项显示指定终端有关的进程讯息。
/ I4 [3 k- K: b6 S1 d
% m8 D% r, `) q  `而ps -elf指令则提供了需有F、S、C、PRI、NI、TIME字段的( S/ ]7 o$ B5 t% h/ {( x
使用讯息。- M7 u9 L/ U9 X+ d2 i1 B
& M+ B3 w( {( i+ c$ P5 o
-F是标记,指示进程位置,20表示在内存,0表示交换在盘上,
7 ]1 `* I$ C5 G6 A5 q, T& V! P1 p31是系统进程。$ z0 R& A/ {/ Z
4 R$ a9 s; F  x$ B. w7 j% F
-S是状态讯息,指示进程状态,睡眠还是正在运行。
; m# u9 P& `% f& I0 ~3 k% b
* R4 h. {: A7 z) ?% F6 L9 M& n-C是进程占有CPU的百分率
- ]1 N3 D$ H& M# T
7 R7 B4 {( |5 N2 P, Z4 G-TIME是花费CPU的总时间。8 z' h& T8 b4 c8 ]
5 {# M6 f, h  y/ _8 ~3 @1 ]% i4 r' s/ t2 I
-PRI是进程当前优先数) `8 d: ~) F: q9 N1 A& d2 K
) e, i* b5 \4 `5 k( O
-NI是进程的nice (ADM)菜单1 t1 S: W8 L0 L8 p

6 V2 g  o0 w# O' T- @! n7 A如何创建进程, i3 K& I) g) E4 H
* u+ h" s) j! {# y0 R
当进程分岔一个子进程,自己就会进入睡眠状态。开始时,子进+ T$ g. H* V. P1 H/ j
程运行父进程的同一程序,由内核分配一个新的PID。当子进程
- i+ V8 p1 g5 `  {/ V/ I再去执行新的程序,保持新分配的PDI,新程序就会替代子进程
1 ]- b1 `. p* d9 A的原先程序。- Z' K: r: N- i3 N! v2 M, w
$ H- T, F3 C8 Y% L" I; N+ P
当子进程完成後,内核会把它从系统中移去,再唤醒父进程,子6 u& I7 ^! ^; O6 q" ]$ e! Y
进程就会退出。
' i4 P7 ^% C8 J. P# r$ u
3 k6 g) W- u( y( [1 G3 t7 M监视系统装载
$ s' c1 o/ E- i  n5 r. U; }( o+ M1 k2 I
uptime(C)指令显示装载均值(一分钟、五分钟和十五分钟),
/ Q% F2 s3 D. \( {! o  O即在预定时间上,排队运行进程的平均数:$uptime
* V; L7 l% V% i  `# }6 M, P. [
0 u- R) d) Z. Z5 zW(C)指令产生如uptime(C)一样的装载均值讯息,并显示谁在! J' P( b: C1 }% U, s
系统上做甚麽,若用户拥有root权限,W报告所有用户的有关讯 息。
. u1 B) F" ]/ G; L若没有 ,仅显示与用户进程有关竹的讯息。
1 K/ }; a! Z& z
3 ^! f2 `2 M7 p# E2 y$ ~! J; C9 @PCPU(Process CPU,进程CPU时间 )显示某道特定指令已运: T: N& o. \" Q& g" J
行多久了。对控制不了的进程,这种检查是很有用的。JCPU(7 q1 n- E" m! f  h$ \
Joint CPU,连合CPI时间),显示一个终端所涉的所有进程的
. s6 o4 t  j! C, h总时间。
8 ^4 g1 q8 f2 v9 U( Z1 C6 i
, T2 @9 O1 c5 q) G4 N3 ~sar (ADM)指令是一个系统活动报告程序,显示系统资源累积9 \* |  r/ _1 m* T& i
利用率。为指示系统瓶颈口(Bottleneck),sar 是非常好的实  R$ b5 w# L2 e, T$ t! a- f# A
用程序,指令语法如下:$sar〔-option〕 〔( H& G$ h4 Q4 x$ J% X
sample-interval-samples〕% B* e+ Z4 Y$ K
( D' \! s( S9 b
例如:$sar-u120
7 [6 a- ~) |' ^# K) h# H( x; b* U9 r% P( B9 t5 V. z: [
-u选项显示CPU利用情况。如果%idle一致地低,使用效能是上升,
# ]) w) L. K, d* N3 X. ]不过,运行的进程偷不到未用的CPU周期。/ ~% a2 h/ R: l3 o8 I# n7 s

( j$ M+ f) J! ?) T6 v又例如使用-q选项显示进程吞吐量。假若%swpocc大於20,就发生  I* _; l2 {5 u$ R5 T# P
交换(Swapping),可以使用大内存能减少交换 /请负活动。8 Y6 K9 s. C+ J$ E- l% G

) B9 b9 ]0 F1 ^4 [- ^! y/ c</P>
作者: huashi3483    时间: 2004-9-27 15:20
<>第九讲:管理进程</P><>用低优先级运行进程2 A+ h. u+ z! l
2 f! R1 h! M( `) d! ^
 nice(C)指令用於以较低的调度优先级执行命令,每个进程都有
" z# o/ A; ^  T# w4 ` 一个 nice 值,用於计算它的优先级。nice 值在 0 到 39 范围内,
. a8 M- m* s" l( J8 k2 A+ f* B 高值获得低优先级,不给实参的默认情况是 nice 值 20。超级用户) c0 c7 l  \/ C0 A+ Y0 k* M
 可指定负值,以提高优先级。: C' x- l- f0 [  C
* \# A4 \, J% R
 在注销进程後进程继续执行5 x% K# O5 N. Z! [- J8 l0 x' f2 d
% M- Q0 m9 q+ Q% [3 K
 後台启动的进程,默认情况下,当注销後就不再存在,但是,可
- `' C1 y9 P; Y2 t 以使用 nohup(c)指令,让进程不受挂起和注销影响,得以继续
! K. H1 ^/ }( Q3 U) `4 d: g' h) T 运行,例如:
$ ?4 w2 a+ ?- \5 D. i" w+ P$ m  d* m6 \
 $ nohup sort bigfile&gt;sortfile &amp;5 n$ z5 |, c, m3 F5 x0 l
/ I8 q' X! p3 l! \, ^& F8 A
 45672 ~/ r% x! {% `/ o
( N, _2 v+ v" Q3 B( y% v+ U
 $ exit) f! ?2 d' L1 u9 y7 V
2 g  ?& I5 i- i! R; m# _5 d1 T
 当用户注销时,用户未用输出改向,输出将送到当前目录下的
, Y/ }: y! {' n7 |. o( b+ o nohup.out 文件中,如果当前目录不可写,则输出改向到
% N& f1 a& E) w( T# w! I0 l $HOME/nohup.out。
$ J! }3 a* B& C! M
- e, D0 _: _9 |" b$ r5 H- R 重新启动安全级精灵进程0 L9 D0 q* I( j6 k9 K

8 C: ]& S$ V' t2 o+ ?1 E) m, K 根据 C2 安全级要求,某些精灵进程用 LUID (Login User0 J  }. @# `6 O2 B9 h- U9 d
 Identifier)标记运行,如此只能用 sd(ADM)实用程序重新启* M( r4 L% {4 [- |' J# n" Z
 动他们。
% @7 Y" J5 A% y& O" E1 u* \; ?) Q( h0 G
 如果 LUID 限制有效的话(高安全级),只能用 sd(ADM),例: J2 u4 m. z& Q/ w7 e9 |
 如 cron(C)这样的精灵,在高安全级下要 sd 重新启动它。( {0 R5 }, M7 M4 C% p
$ R. n1 d0 ?" K. H, {
 进程终止实用程序
" _- N( i6 B% s& F! I8 |9 X+ n+ m/ X* L) X5 g# ?: S; q" G
 需要终止实用程序时,可以通过发信息给进程,使它自杀,通常
* s1 O2 |# ~6 P. k% y 会用在终止一些已挂起的或是运行的进程。& _$ Z( J7 X9 {* J, y6 H& j

! b* T2 R% ?& Y! { 语法如下:9 C9 l* m& L& e  L5 x/ L# n/ W

$ ?) I1 V5 @" x7 _* F; z4 e $ kill [-signal]$ [) c; \* w! F" ]5 e% r) v7 t0 C
) n2 S, g. P+ |! w
 例如' c. R$ H3 r# [1 F3 Z3 M  K3 H0 C

0 l( l% \  }/ y% O- ^ $ kill 4411
: o8 [& Y6 F% `+ R
9 ]- V$ H  p& s2 Y5 q- @ 4411:terminated: p  d) }. X# V$ B/ L2 ^

( c/ s+ l! J5 U+ A, F 这样,只能终止运行优先级大於 25 的进程,小於 25 优先级的进$ B0 N# o9 ~9 b" Y8 K& n8 i
 程只能在重新引导系统中撤注它。
" i! w  `$ |* W% t7 J2 F6 O# r5 k
) P& S' j: R9 i* H$ o- j1 J- G 调度单个作业执行
9 s6 m( J/ V; V4 A" ]1 \
, K! k& T  C6 }" I3 _ at(C)指令使得在某指定时间执行一组命令一次,主要用於在系统! ~. l2 n; t! z4 |
 活动较少的情况下,在预定时限(例如在半夜後或每日固定时间)  ~# A) h  Z' X. M
 内运行指令。) B, T0 t$ M8 @- u8 {; z" @
( o9 B/ L6 b' v8 C" j+ `
 要重新定向,可以使用标准输入,或可文件输入;在打入完整的
( P& R1 Z& ]8 P" p) J; i at 指令後,就会显示出将要运行的作业号与时间。
. o' L9 t  `! J  W/ b6 ^' E# Q; T$ }0 D1 E3 y3 o
 语法如下:
" e, R/ T7 e# v
: i: C; W# d' W  O. O $ at time [date] [increment] &lt; [filename]# g5 \  R% J1 ~+ C  ~

  t3 e: E9 C3 u1 ?5 G 任何用户都能运行一个 at 作业,但必须给予授权。
& m  Y/ z+ ]9 ?$ F
9 ~% B& p. C; W( g 指定单个作业调度时间& l' t! U1 r4 v5 }* h5 g1 b

2 Q9 |  K/ y7 j6 l& S$ ^ 时间格式为 hr:min 或 min,hr ,用 a.m 或 p.m 指定上午或下午,
6 X0 b: P+ G4 D& g) a$ }0 ~# x0 X 有效时间包括 no on,midnight 和 now,指定日期则用「月日
* P# S# @4 n. q9 x 〔年〕」格式,例如 Feb14。一星期那一天也可用 monday、$ R# s( s6 B$ T6 }- d+ O# B
 mon、today 或 tomorrow 代替。
; O; i+ h! e" P
/ W, Z3 I( m: k( r4 C8 U; ] .at 指令从标准输入中,读入打算在以後某一时刻所执行的命令:
% }. z. X, z; O  X# ?, V0 o0 F  ^7 {& L; O6 j
 $ at 14:00 Jan
4 S9 M7 O5 p, f: |" s' ~; \# W- D% Z7 w6 ^
 sort /u/user1/file* Z7 c8 g) J/ Z3 w

, J: s  U, P3 c5 @( o: G: D- h* K /u/user1/sort
3 L. P! G$ H9 k2 g9 _2 c0 K0 _! d. r4 S2 W
 ctrl&gt;d- o/ r' z6 B, e7 o

! n7 q! j- ~: Y, J job 61202778.a at Thu Jan 4 14:00:00 1996
. q3 |: K- X. h* D3 T- r
: d# n  k" {3 V6 u$ L8 S 记著使用时,要用全路径名指定文件。指令输出以电子邮件发送
' A# n. |6 n( I3 [ 给用户,也可输出改向到文件或终端。
) ]! U' C1 b4 [9 m, w% N9 d; x6 y3 ^  n- J6 Z6 u
 列出单个调度作业
' @; W- @' f, l1 p2 i: B6 q/ l+ n
5 V( u# k1 ?$ |7 f, g1 _* ] 使用命令
" B/ h7 E6 X0 q+ Y& g+ t( u. g1 W) k; z
 $ at -1
8 Z2 Q' W9 m$ Y# ]% [( V, ?
% c, S0 p$ e6 G3 c  W7 o job 612027780.a at Wed Jan 24 08:43:00 1996
& A3 o, w2 z. O. R" S
) P) F/ X; l- [' u job 612027900.a at Wed Jan 24 08:43:00 1996& ?# W. j5 |1 v1 O& J0 L! F$ S5 d

( C1 z1 J8 ]. y8 `+ H, A. B) H 若指定 jod_id,一般用户会得到一张自己所有作业的表,根用户
+ f$ J+ ~5 n5 }0 S# b 则能取得全部作业的表。
1 r9 G' U  ]/ k: U  }/ \+ X& S- `. t2 ~
 撤消单个调度作业
4 N3 ~7 h' I" o; W4 V, q# y
  w/ q1 t5 E/ L& C 使用以下指令撤消作业:
+ j$ O: A% N4 e2 T8 O5 `
) a, g- Y" i8 D $ at -r
) R9 w6 M6 k0 P% {1 b2 `1 C% Z- @6 b6 G" }. a9 P. u6 k
 可以使用匹配符撤销多个作业。at 的作业存放在- K5 X% N  _. g: g
 usr/spool/cron/atjobs3 ?7 L9 K, _" V5 s7 L) D
2 c7 D# r7 ~" Z- D5 R' b
 在一般数据库上调度作业  l. z1 C' `4 g2 h* g) _
  V! Z2 n3 Q* d# H5 V2 I
 用 crontab (C)指令,从指定文件或标准输入拷贝或编辑成用户
( o  z+ R$ R, v* V 的 crontab 文件,该文规定了在指定日期和时间调度运行一些指* `8 e! s6 @$ t+ Q
 令。
. M9 c8 e0 E" g1 B, I. ~) f1 G+ u1 w1 u- n+ O8 j* n8 L
 crontab 指令提供了对 cron 系统精灵要执行的作业,清理 /tmp ,: \  m' h( A8 `% c. y0 Y1 l
 撤销在一般数据上日记文件或不想要的文件,以及检查空间,邮1 t0 _: r/ @* q
 寄警告予用户等。! {3 |" b9 E$ ?- A

; I4 v; z4 F6 U /usr/lib/cron/cron.allow 文件列出了能使用 cron 的用户,  \+ p/ K% ?: Q0 m+ L( U1 V" c! U5 L
 /usr/lib/cron/cron.deny 文件列出了拒绝存取 cron 的用户,仅/ G/ g* r4 m+ h/ e
 当 cron.allow 文件不存在时,cron.deny 文件才起作用。( H/ G$ j1 `5 ^/ K1 U1 Y

; [  @, P+ m0 \1 g 指定作业及其调度时间+ ?4 R2 y9 d( r( O$ }6 a% L5 T
6 y8 [, ]( _+ t
 作业可能是单个指令或包含多道指令的 shell 脚本,指令输出邮* {# \& ^" w) u' ?2 J8 l1 @" q4 o
 寄给用户,也可输出改向到文件或终端。在文件中打入作业及运: {) D* x  I0 Z2 a
 行时间,以运行此作业。文件可取任何名字,但是,不允许包括& ^( |" y! A$ H) v
 首尾部和空白行,而且,最好取 .cronfile ,这种取名反映其功  @! n/ V+ O( R, _
 能,易记易理解。.cronfile 文件可用正文编辑或 vi 创建。: v! j% A0 ~! s
4 r# t, @9 h4 {* j# K1 s- O) r  V
 每个用户仅提供一个 .cronfile文件,每当执行 crontab 指令时,
, {6 Z# F, p% v; l. O! X 新文件会盖写原先文件。编辑已存在的 .cronfile 文件,增加或  H4 t, X1 _) N; n- K8 z
 修改一个作业,然後用 crontab 重新提交 .cronfile 。而每个用
7 E7 P4 G7 G  N! v; R0 ^% U 户的登记项会存放在/usr/spool/crontabs/。
* y/ R: ~2 U- ]! j! F3 y2 P% {: @  q  Y# t/ V; i  d8 T
 列出或修改 cron 作业: Z* x% g1 G' I6 _  n4 A( u- r
. k0 a* a) x; y5 q
 要列出当前提供的 cron 作业,可以打入:: r/ K2 p/ G6 z6 C6 D$ Z% ]
9 s9 a1 Q+ [8 n- B, g
 $ crontab -11 Z& c) z& O! I

. S& g' @- B/ ]5 L) Y/ m 修改 cron 项,使用指令:# X6 d+ c$ t4 u( U/ j

' e& e+ z- g9 o9 V $ crontab -1 &gt;.cronfile4 C" ^+ d) X6 z( r1 F

: x4 P; b0 D1 H  h# P/ e, y& L# P $ vi .cronfile
5 q- P( O4 ?. d6 \% Q
: _: i( S7 I: I$ N. W8 x9 Y' o. ]0 V $ crontab .cronfile0 H% K) @8 {0 r/ m# n, O

. j2 X6 [: L, t' G 如要撤销 cron 作业,则打入:
- ]# S$ C9 ?- x$ Y
7 ^3 c# R# g0 {# `( E2 @ $ crontab -r( @9 n3 ~# T4 S- V. v
</P>
作者: huashi3483    时间: 2004-9-27 15:20
<>第十讲:打印管理</P><>打印假脱机(Spooler)程序在系统引导时自动启动,负责打印服
8 G8 U0 {# H) A2 H  W1 @4 m务的安装、配置和管理,在指定打印机上,将用户打印请求进行( o  C/ w+ y5 K+ o9 r* a
排队,能在不丢失排队打印请求下暂停打印。1 g: k! [2 W/ X& c2 [9 P8 k/ m

" B: j& d% x1 f& e2 T打印机队列
" h' \0 G" V' D- q; j, G- C. d
! N3 F8 \- l: v  ?5 S$ t打印机会被分组,每组共同存取一个队列(class)。而打印请求+ e2 |" ~% K! V( ^7 c# n3 [9 @
可以送入一个 class ,也可送往指定打印机上。
& D# w/ c3 d9 O1 B1 z4 S' h! e7 d4 C$ T; k5 |
在一个 class 中,可随时移去或增加打印机,用 sysadmsh 菜单或* ]; g" C3 d& a7 p  v
scoadmin 的 Print Manager,可以增加打印机往已有的 class 中,4 ]. }/ h( M) t/ A! z: h
又或增加一个新 class。
( v, [: S. E9 v/ g" Z, E' t( b! q0 P' U
打印机过滤程序1 X) u! q- u& R: o; H* a

% Z+ J/ R, s! y2 e: \) L/ o" E) ?. s使用打印机过滤程序,可以转换用户文件或数据流,在给定打印; b1 Y* U  d4 j6 X7 Q8 z
机上,合适地打印出来;处理两边打印,草图或高质量文字打印( `! n( ~1 h5 `4 b2 M
等;如发现打印失败,会通知打印服务,然後告诉用户使用上出9 o1 |9 `# e5 s
现问题。
- o" p$ G' v2 P  b, @  e
* H% j1 d" j: B打印机过滤程序又称为打印机定义的接口脚本,存放在
( y" H$ ]. x! ?/usr/spool/lp/bin。/ M' ]: y6 Z& f4 X0 R$ J
6 B5 C; y8 @& n  ?/ L4 z) ^
安装和配置打印机2 O6 O# ^# \0 i8 b: v: w8 Z
  w8 M2 v& o" f
要把打印机接到并行埠(Parallel Port)上,SCO UNIX- j: V! {& I: E- e5 G
System V 支持两个物理并行设备(/dev/lp[0-2])。当用主并行2 [, j6 d' N" O- ?& H' X# Z/ Y6 s
埠时,用 LP0 或 LP1,中断向量为 7。第二个并行埠,/dev/lp2,+ y: S$ E+ r8 S7 i7 _& K" ~
中断向量同为 7。
4 |* u+ ]3 u) n8 h! z, H
$ S& l; s+ q% X/ R0 |要把打印机接在串行埠(Serial Port)上,最好接上智能卡工作,/ ?( i: Q: t. Z) L
打印机能用任意有效串行埠名联系。若不要求硬件流控制,可以
2 D/ n& R1 n: X% t  N! c使用非调制解调器控制埠名。, t' N) y& P0 O* ?0 S" c& E

2 v/ Z- K1 ~4 `: _( F. r另一方面,可以从终端辅助埠上做局部打印,指令 lprint (C)/ H" i0 g' q4 u2 _  ^
使用户从附在终端上的打印机上打印。1 D% W7 H- W& D8 h3 C8 N0 ?; H8 G- L
1 I0 E8 J+ J: V5 W7 Z  R) [4 Q
安装打印机4 q7 h& z+ |- V5 G1 N

1 Q. Y/ p9 a' {" ^( i& J/ _要安装打印机,先找一个未用的串行线路接上打印机,连好导线,
/ P' n3 ?8 k1 y4 m# F8 r打开打印机开关,检查硬件连接。
. \8 `0 d" O' K) U* l: I1 f) S: I- @# ^# q/ H/ E( b: w
然後,调用 sysadmsh 菜单或 Print Manager 上,加入打印机,用! w8 G' T8 G! f3 ^1 K, R+ U! I
合适的信息填好格式,指定打印机的 Class,若所指定的不存在,2 P) G# J. X# e8 w' H& U% @
就建立一新 Class,包含接口脚本路径名。许多打印机都能用* ~& T- z( l# Q) L1 F8 H
standard 接口脚本。
4 S1 W# c& L  ?' G9 e! w/ N5 \: |
  {% Z; E0 \8 E  ?2 \5 w打印机管理
/ c. W" Y5 y4 M* x3 K% a8 W' n$ F+ F# N  ]# f- T6 @
修改打印机配置时,可以增加或撤消目的地;改变打印机接口脚% _: R- @; r3 z7 X; R' a
本、设备等;以及改变默认打印机目的地。
- [* M  A! W2 W# E' e8 \# b  G9 q  k" c& L, ~
管理打印机调度时,有几种选项需要注意:
8 i: ~" D  Y4 J; i& r# p/ ^4 p
  n2 i5 }- J1 N% t-Stop:为实现某种打印机维护,必需将假脱打印机转换成 off。
8 u3 t# B/ C* e/ x: Z4 v9 w, e% v7 a
-Begin:假脱机转换成 on。  d: y6 Y) r0 |( a& K

- B! D9 `) o! a3 v4 Y8 e, @-Accept :允许把打印请求送往打印机或 class 中。% C7 v% r5 ?; w3 u/ j  g% [/ F9 p

/ i( N) e# \0 y' i3 A: k9 E* r-Reject:阻止请求假脱机打印。
: Q" T: _1 `; b+ t  A4 @( ]. ]6 P* u! R
-Enable:允许从打印机或 class 上打印。
) b! i3 b) ~) B$ ?" ]5 M' A
% }0 ?! s5 k* P0 `-Disable:阻止打印,但允许假脱机出现。
2 T( L- R! D& |, L/ i( T
. }' ?) }) F) E  R* V& Z% i每个打印请求都会赋予一个优先数,决定何时打印,优先数据取$ j+ V+ ^2 s. `$ c8 N
值范围为 0(最高)到 39 (最低)。默认优先数值同样是 20。$ R' N; y, T/ h1 [
/ [1 Q- x7 `) j1 E& e& z. e2 n- b
所有打印请求或单个打印请求都能移到不同的队列或打印机上,
# U, b. o+ [" o( g: e若打印机的队列阻塞或打印机不能用,就要移去打印请求;打印
: w0 o, c9 ^; _: g& e# S机要维护,也要移去打印请求。如果已移去了所有请求,这个打
8 U  H& b9 I) f+ J' F8 c& ?印机就不再接受新请求,直到打印机启用为止。  n; o% m0 B( [2 R: n% F' N

  Z5 x4 }" D3 f! O6 J3 M要清理打印机请求,先要指出打印机或请求 ID ,若指定了打印机,2 x: G& i3 X' `- t$ {* d
则当前正在打印的作业也被清除,但是,不能使用通配符去匹配
0 n# I6 B6 P" p% M2 L' Q清理打印请求。
* m6 p1 e! K+ o8 L
; \1 T  \7 m* r- Q8 J: i</P>
作者: huashi3483    时间: 2004-9-27 15:21
<>第十一讲:TCP/IP 管理</P><>IP(Internet Protocol)地址是 TCP/IP 网上为主机之间数据
# Q" `' a7 i1 ?' Q选择路径(交换)的基础,但是,用户通常不甚喜欢使用由数字
% P& y  `4 h& b: o% p$ k1 f% r组成的 IP 地址,而比较喜欢使用多由英文字母组成的主机名字--. `6 i9 S6 z, W1 ~! s: ]+ t
URL(Uniform Resource Location)。. Y% K" @2 [: |8 @! Y  \& w! S

5 B* `, ]; N+ T* T5 Q. W9 s不过,主机名字必需映像到 IP 地址,而方法就是通过 /etc/hosts
" L$ i$ [- \; \! ?9 G: F文件完成。+ @- C. R7 H5 m
! j3 g2 q6 h, D
配置 /etc/hosts/ B, B6 }( N6 Y/ x5 ?
4 s8 u) O0 ]- Z
/etc/hosts 的格式是:地址--名字--别名。/ n- r4 q3 Z2 C/ _
, B& d# s7 ]& k7 a/ d7 i$ D% g7 ?
例如:
6 |, R3 q& E$ e
' [/ G9 s5 C9 W127.0.0.1 localhost localhost3 T# W5 |. l$ m, F. C( X+ y2 I
0 c, U# \9 i; Y& d- u, V! Y* x/ b
132.147.18.1 vision vision.sco.com" K" i9 m1 g, ]. O, v; p- d" R  Z

+ d& O# l7 W. g& \" j) TIP 地址必需是一行上的第一项,在它前面不应有任何字符,例如
3 X+ D+ j1 C0 }7 ^( W2 Q  B空格符或制表符;名字是简单的主机名字;别名则在很多情况下9 x. v! g: E2 V& X
都不需要,但是,全限主机名字、简单主机名字和辖区名字都归
( S7 x6 ~. s$ i6 Q3 x2 ]入别名之列。
% V0 k7 d' A; L5 f5 v1 B
' M: E& X; `0 ^2 B1 {0 Y检测 TCP/IP 配置
) ~, R% X, [' k7 ]1 n: L
+ }$ L5 F3 k+ ?" m7 ?TCP/IP 协议的软件部份包括 TCP/IP 协议层架的顶三级,即
* C! D6 J* R) S! `, X7 s: w- m应用级(Application Protocol)、传送级(Transport Protocol)
2 j$ I5 l* P' G& e* o4 m和网际网级(Internet Protocol)。特定的主机名字”Localhost”; {: _6 S7 Q9 W/ \! R
是特殊网络”loopback”上的本地主机的别名。3 I5 B. _9 _' E  R. x
0 u- C- ^3 X9 n
要检测 TCP/IP 协议层架的软件部份,使用 ping 指令:
$ o2 B& E7 J& t( h7 v
5 x2 P, Y- y6 m0 J& V#ping localhost
5 t' B  {6 _' r7 e
" a# p6 v8 w! q如果 Ping localhost 失败,则使用 netstat -i[n],检查网络接0 u# A( V0 q# {6 t, k4 s0 N8 U
口的状况,显示网络接口上分组传输的统计讯息,指令如下:( p* |4 s# G) T8 `

& G0 p5 ~& |2 D#netstat -i[n]
% @) V  ?6 ~' ?8 b- e" i3 Q4 c! V2 S5 ^9 T) Y9 Z
n 选项强行显示编号,而不是名字。netstat 查看自环驱动器 lo0 ,
  t1 M% S+ `: ^* C$ Y5 y2 c1 Z如果 lo0 失败,则在 /etc/tcp 中”ifconfig lo0”行指示坏了或
9 B4 Q( s+ L* i+ Z有错误。
9 v9 c3 B6 J6 M" f0 u, _! a; D) ~( C4 K5 `7 u2 ]) P
检测 TCP/IP 硬件& c4 d4 l$ \9 i: `; ^! O
  t2 O) b7 o5 w) ]6 h- D! Z
审核引导过程中,会对所职别的网络接口产生的配置报告,而+ H' W' e" E  I$ i0 X
TCP/IP 协议的硬件部分包括 TCP/IP 协议层架的底两级,即/ T; j, H" B" z, q% Q& k# j
网络接口级和物理/硬件级。! d8 W! o6 B7 X6 f1 G# k2 X# _/ Z1 X
: q1 R" I- Y$ P2 [* S; x* U. r
对网上另一主机的任何通讯都是在「物理」网络接口上传输,并8 K$ L4 ?- z7 U0 |+ {; i: J
不会引起数据传输到「自环」网络上。' D$ L; a( {* `" A

+ a  Z- r# ?8 N, h" n+ R使用 ping 指令检测 TCP/IP 协议层架的硬件部份。' f7 k) d9 Z# K$ q

8 f: m4 e7 i$ |5 \. h#ping hostname+ n) j+ B4 B5 s4 u$ \- K% L' J- d
1 `( b: A# F  t6 H# S
, D+ ]6 W5 F9 S5 M
0 l3 o! V0 n$ q9 `0 \" Y
#ping IP-address
; ]6 v. \) k" l
  n1 l, k* v  e( g6 }& o# a如果 ping 指令失败,则改用 netstat -i[n] 审核网络接口。; e. C7 t: F* c% U1 q4 x6 s

& f- m* z/ Y4 O8 q- ^5 R7 N了解 netstat -i 的输出5 w/ M( f# K) Q6 {% J% r
4 w, h2 s* s( c; S& Z0 |1 m
如果远地主机上使用 ping 之後,Opkts 和 Ipkts 仍然是零,那麽,2 z: r  L5 R6 n: A7 a' J& w6 s
网络接口大概使用了不同的中断(Interrupt),而不是它的设备
* p3 X" p! T2 _4 j驱动程序。5 E7 W2 j0 D2 i, b4 ]; n9 t
7 u# B2 y4 n( J1 Q, f6 c0 D
如果 Ipkts 不是零,而 Opkts 等於 Oerrs,那麽,网卡的 I/O 地址' ^. J8 m) t: t
可能不正确。如果 Ipkts 是零,而 Opkts 等於 Oerrs ,那麽,可, P# {7 E* W5 i1 f$ V( H: I3 b
能是网络电缆连接的不合格。
  `" `8 X$ r% ]2 K! v" Y1 x3 X! w
% t! X$ @0 f: c# s8 `/ L通过用 Opkts 除 Cloois ,再用 100 乘所得的结果,计算冲突的百
) a) W: H( P" U' ^; M$ I( S7 t份比。如果冲突的百份比少於百份之五到十,那麽,所有网络接
+ e7 r- y7 T6 S0 G. G( h8 p0 n9 O口是有效运行。" g) Q% {# }, W$ d

3 Y. F" o1 \& l* P% l+ n% y' s如果 ping 失败,并查出网络接口有问题,那麽,就该验证网络介) d! w) h$ ]8 {. ]5 V$ G% x
质操作。
0 R1 n* H+ h# q( Z; f8 N: H" s. V  ^  S/ d% c/ X- f7 X2 h
调整 TCP/IP 的核心参数2 P5 @- l/ C7 u; ]/ y$ f
- j& v3 C8 n5 d* r: }
没有足够的流资源(Stream Parameter),网络程序是不能进行" M% ?4 R+ L( h  r' G: D
通讯;流资源不充份的话,经常会导致较慢的吞吐率。6 q& v) P  A) a/ I$ }

& s. j9 j% K2 ]8 x2 L! o要核查流资源,使用 netstat -m ;也可以使用 crash 指令考察流! _4 D2 q1 ?$ d0 q
资源,在出现 crash 发出的提示符’&gt;”时,打入”strstat”。4 H6 |" }/ H7 E; u4 N
! N# A4 O* @) V! F: A" }
如果在 FAIL 列的下面有不等於零的项目,那麽,同一行中的
: H8 d% F. A" e; @) R1 [ITEM 的项目可能需要调整。如果 FAIL 列下的数目大於或等於. @% g. d; R5 x9 @$ N$ T- }, i
TOTAL 列中数目的百份之十,该资源每次应增加一或二,但不' y7 v. G. s+ u$ t4 @/ C" u
能将该数目加倍。
4 h( I2 T7 l& c# N- h; y4 ?& e7 T* y+ E% Y% n7 f+ p7 [6 s6 p
由於流资源使用 RAM,当增加流资源时,应加倍小心。用户亦可6 [/ y$ F7 S5 }/ j/ Y  ]) }
以使用 configure 或 sysadmsh 增加特定的流资源,重新连接核心
6 m5 m- v  T! g* o或重新引导。
, [& U3 N7 {1 X5 ]+ a0 o
4 l& {' [2 m, b/ M限制通过 ftp 访问系统的权限; v6 n2 m' U1 h" G# y, V

8 y$ A. y3 Y7 u对於不想令其使用 ftp 跨网访问系统的人,可以通过建立
$ [$ C3 [$ N6 W3 V& l% E/etc/ftpusers 文件和设立系统帐户名字的方法,阻止他获得利5 @' x, O3 m7 o7 Z
用 ftp 访问系统的权限。: t3 e5 K& H6 S% `; p3 K4 z
9 d7 H; X( d* z8 F+ h
如果 /etc/ftpusers 不存在的话,先要建立。在单独的行上,加
1 M7 V1 Z0 G3 T- w% @4 I5 c上系统帐户的名字,表明不能从网中其它系统使用 ftp 访问该系/ f" w. q( D& [" |5 U( w8 i) u
统,在安全系统中,不允许 ftp 访问用户权和 uucp ,列出任何其% `. N! \$ P0 S) j: u
限制使用 ftp 的用户名字。
, s6 x% N# _( r. j) P0 h* X3 R4 u6 L1 R7 G. ]! C1 V

& |0 v3 o" H) z* u- I</P>
作者: huashi3483    时间: 2004-9-27 15:22
<>第十二讲:使用 TCP/IP</P><>向远地注册的能力非常有用,它让我们不用到远地系统所在处,
  J1 K% c; E/ m4 O! h* q' F! H3 N就能运行远地主机上的程序,执行远地系统管理,有两道指令可
0 P1 s5 n$ }# F# D- b用於远地主机注册,就是 rlogin 和 telnet。* J: U+ q9 j! A0 n  {6 O% z

9 u3 R* `4 `7 ~8 r使用 rlogin 向远地主机注册$ Y  Z0 w! _( p4 \
; ]/ h3 Y' B" ]% }1 \8 @
rlogin 允许向具有 UNIX 作业系统和 TCP/IP 协议的任何系统
0 P, ^- p& A! |. m3 n( L注册,而 rlogin 只能注册到 UNIX 作业系统环境,指令如下:. e0 e4 X- r/ \8 k

' c: y" Z( c% j- _& L$rlogin remot-host-name. B, V) W, O+ _6 `3 Z

" f' l3 W5 r2 e+ Q, @0 `要避免 rlogin 因没有提供远地主机上的同名帐户,可以使用下述
; W0 M. R& j# S$ j. ]' i" K% o指令:
9 M6 K- c/ _+ I, _4 o' Z
" `7 Q7 F% l( E' W  _6 U$rolgin remote-host-name -1 remote-user-name8 G7 ]5 P6 U( |" v4 ^! A# Z" X

$ O% [0 c/ R7 p! k-1 选项用於指出远地用户帐户。
# u: t7 j' a3 i" ]8 e3 Y: M/ ]. x7 v; d! X4 N6 s1 _
要中止 rlogin ,则要打入 ~.,并按 Enter/Return&gt;键;亦可使用* D3 [4 @$ G6 T5 V1 v# V$ h
logout 或 exit 指令。
6 g- e  a/ Q4 C+ H" A! H) J) M& v# ?; H0 C7 o
使用 Telnet 向远地主机注册- ?# p0 ]6 `# d9 P* j8 H

. M+ V! n! P- O不管其作业系统类型,只要能支援 TCP/IP 协议,都可以使用
- J2 B* j' R, y' v* }Telnet 指令,允许注册。
2 U1 P, l% X% g+ |8 E5 _# Y! _/ l$ x
" }' }1 S" j! ?$ q3 k0 t$ Q; H$telnet hostname
$ V3 s- e- L! t6 h5 x* X% w
4 ~8 Y$ j# ^5 V% s7 Z$ i
, r3 Y4 x$ l' N; M7 @* X+ I8 X+ c+ K+ r/ t7 Z: U
$telnet ip-address! Q* y! I6 h1 Q6 i' p! u8 |# ^$ N

. V( T& g; G; V- a  E/ P& \# b8 A8 I使用 ftp 复制或传送文件3 G4 e: e7 y- R$ b- K8 ?2 S
# f4 p) ^! _( i8 D
ftp(File Transfer Protocol)允许用户对远地主机复制文件,: _& V4 `! F+ ]4 m. e
用户毋须考虑作业系统类型,即能向或从任何具有 TCP/IP 的系
8 m6 q! y) Q5 O1 t1 a& f统复制文件。
2 T( b" ^* [" W2 i$ O. }
/ |; O! a2 o5 Q! _6 Q$ |ftp指令允许复制目录中的一个文件或所有文件,但不能复制多层& x9 j5 Q- W3 N6 _: _, k2 v- ]; e
次目录。使用 ftp时,必需在远地主机上设有帐户。' h/ f9 L" v0 U, y+ _% P
; A' D, B  a, @0 }
当 ftp 注册到远地系统时,并未得到 shell ,而是通过 ftp 指令
- y  r; j0 r; P, @解释程序同远地主机进行通讯。
  E( `  q. m  y) s9 i" ]$ e3 q4 o  m7 ?
) S! }; L+ g! S& n$ O$ftp remote-host-name
! @4 {+ Z1 o) T" l4 f9 ?
7 ~/ T. H  _( ]  ?) @4 V; c& ^& p8 U$ L
/ p9 X7 x9 H$ r$ Z
$ftp remote-host-ip-address
, G' z- `+ v5 \4 N, w
/ I( W- M+ b  @+ B- u$ l8 E一旦注册成功,就会出现 ftp 指令解释程序的提示。
# Z& h; L" L; l" p2 e$ j( ~+ q. n# d9 ?# p9 w& R
ftp&gt;/ ?  u9 T- k- N$ A
6 w7 k, {- v; g$ c' w6 t
用户可以在此,使用打开指令连接主机。
. t8 P7 k& C* v: N9 @1 ?4 R4 s) p
$ u! E! d/ b# x$ @2 Mftp&gt;open remote-host-name' H& D2 K: ~$ T8 u  D8 v7 t
- r2 e7 Y4 v1 T0 _
复制某一文件回自己的系统中,则用:6 o( K; a6 ]) {- k: A* s9 p

5 N" i3 Y5 `9 D6 ]! J& uftp&gt;get filename1 p" U& l. q! P: @5 e% S. z; D

. w$ g$ z4 }+ ^1 v* q, ?如果只想传送某一文件往远地主机,则用:
2 M# `+ D7 Q- C( y
. N5 p! S% \: Zftp&gt;put filename
" D' ?, }2 P4 p9 S+ V& X8 a2 j, D( M. B' b  l
需要复制远地主机的全部文件进入自己的系统内,可以使用如下9 F4 a$ x5 H& [& ?' x
指令:+ @0 t! B" P, c/ K) h/ R& @
. Z( h0 {! D3 _" O- ~: g9 V
ftp&gt;mget *
3 Z% O% E2 U$ a& P
+ S4 M/ \" k! l相反,如果想传送自己的文件往远地主机,则使用如下指令:
2 K% Y0 ^8 ?! ]/ f6 O/ t
) w5 o) C7 }4 S* `ftp&gt;mput *. J( W2 Y6 j' X
6 m! ]6 V. N1 }' @& F7 K8 s
rcmd' l! G6 r5 t# L6 G

4 q6 E; G& f. i4 w" C- V+ B8 Y9 wrcmd 允许用户不必向远地主机注册,而直接运行该主机上的指令,# Y" n5 \  \9 k9 n, H3 r2 c
实际上,也要进行注册,只不过用户毋须作其它操作。当使用 rcmd/ D" m" y, `/ ]0 ^3 E3 F# D
在远地主机上运行任何指令时,其输出的默认设备就会被更改为
* s$ N3 q  a  m6 ?  D9 {' Q终端。7 P' r* T& W$ B! g; ^' C

2 E9 t4 |) Y& o8 G4 B$rcmd remote-host-name man sh9 M0 Z: x% v% ]4 {  o" P
7 B) d1 o( v( k6 u' \7 ^4 M2 f
请求特殊终端处理的指令,将不含设备自身的功能,因为对远地
! A) k. w+ L, m3 u( L) F3 y+ J" b# w指令没有定义终端的类型,要求在远地主机上配置受托访问。- G% w: ~2 p0 C  Q

& Y# U  e) y0 @* B  V要列表输出远地主机上磁盘的利用情况,则使用下述指令:* C' R# j9 \  n  |

% m4 l2 I" |+ H: I* a; p4 M/ J$rcmd remote-host-name df9 v5 E# J# a- ~3 c

1 {; D; g3 x; ]2 z! u4 Y要列表输出远地主机上的目录,使用如下指令:& y- f- e5 n9 E+ X
3 B; Z; r$ ^& m4 M5 j
$rcmd remote-host-name ls /usr/games
1 Y5 i' [% `4 u/ G0 s: h5 _8 Q" O0 I6 T
要把远地主机上的文件备份到远地主机上的袖珍磁带内时,指令! z' r' L# ^5 q* z
如下:
# G0 Y/ C+ L. z7 C
9 F* y* ~3 _2 ?6 G. Y( W* v#rcmd remote-host-name tar cvf /dev/rct0/usr" U/ ]8 ~0 C3 B) E# I( {8 ~: t
9 k  s+ S! {3 ]2 m! l
; A) W$ c3 j: c5 U! a- I
, \/ G( ]2 ?& E
#rcmd remote-host-name "find /usr -depth -print|cpio -oc; ]2 l7 g! G4 {' }3 Y* U0 }' m
&gt; /dev/rct0
8 H; t0 G7 j+ D# ^0 s
7 U* m0 C4 h& [; J- s要把本地系统上的文件备份到远地主机上的袖珍磁带内时,使用: G# g1 Q2 O$ K: s& ~
下述指令:
8 F$ A! h) G$ I* F) ~$ A7 Y& d: S* Y" W/ B* A3 h, f5 K: k
#tar cvf -/usr|rcmd remote-host-name dd of=/dev/rct0
% s. g8 A- O- D: O* C8 N4 u3 I7 u, ~3 n8 H9 {) @

" ?0 z1 S" y% d" Z6 k
$ v4 w7 M. A3 k) i#find /usr -depth -print|cpio -oc|rcmd remote-host-name- V$ j' A3 C3 `& j" H
dd of=/dev/rct0
0 H0 G& t) u( z; J# L- W+ S+ N2 _" w2 n/ z+ i
另一方面,如果要把远地主机上的文件备份到本地系统上的袖珍
$ r- l# C. Y! O磁带内时,可以使用如下指令:! e* V7 K% n) U) l* n$ E

7 z* r' q1 p6 |' c0 g  m- X#rcmd remote-host-name "tar cvf -/usr" &gt; /dev/rct0
8 r+ X% l% G8 G& V; ^
8 C" E; k7 ~$ z: u- J5 a
6 F) Q4 N6 ?3 O, _  S8 N3 t% P8 S: X: @6 H
#rcmd remote-host-name "find /usr -depth -print|cpio -oc"2 e# w3 E" g( ~9 z! x) S
&gt; /dev/rct0</P>




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