数学建模社区-数学中国

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

作者: huashi3483    时间: 2004-9-27 15:14
标题: SCOUNIX基础讲座
<>第一讲:存取权限与文件</P>
7 l, R8 q' @3 ], s: n; H<>UNIX向来是强劲的作业系统,屹立多年不倒,但是,对一般使用2 C5 B- m* y, X- L" o2 m
个人电脑的用户来说,确是比较陌生,有见及此,编辑部选择了' y% d' q; x- R$ t) H
在个人电上也可运行自如,毋须庞大的Mainframe或甚麽大机器的6 ?/ z) a- C% [) W
SCU UNIX,介绍给大家,让各位对另一广阔无限的作业领域探首
7 `( W2 Y# d0 ^: W" m/ o# ^3 k一下,也许玩起Internet时,会有另一番天地,别错过这一连十* k. C/ z) _. S9 K! _
二期的「UNIX自学篇」了。, F" I1 {5 i5 O3 {& I
5 {. u6 U5 U2 {* s8 S, Y
可能有些人会误以为UNIX只是那些功能强劲的庞然大机方会使用
; e. a) x6 K% z4 S的作业系统,谁不知道在个人电脑上,一样可以使用,只不过所2 ~- K; M4 L' \- H; Y4 l
使用的是特别为个人电脑设计的PC UNIX,SCO UNIX就是其
# L5 M7 X% w( G( l1 a. ]中的表表者。& B& R  A# y+ r$ F7 _) [6 V
9 G; ?) \, v, K5 ^4 Y7 W5 _, b
对於惯用DOS或视窗环境的朋友来说,UNIX的第一重关卡就是那
$ {* H  t! h7 S# K' f些「敏感标号」(Sensitive Case),字母的大小写俱有不同的( x: `* s! X7 ^2 k6 ]
意思,Ls、IS、LS或Is这些指令全不相同,所谓「差之毫□,谬' e0 n8 q! ?8 o, Z, s
之千里」,它对大小写可是绝对敏感的。
% v8 c9 e' R7 ?) y2 @
2 U( j6 u9 G0 e. Z* ^文件名称
* M  `. \( V8 R8 N
6 v: {! P. V! s0 @1 F- J在SCO UNIX下,建立的文件档案名称,可以是包含最多十四个6 M8 p' I+ n: p6 k$ b
字母数字字符的任意组合,既可使用下横「□」,也可使用句号
: ]- e6 g: k0 ?' b「。」。
' ]7 y+ ]8 i5 S8 \$ l; f0 J+ ?4 k
& B+ v3 T% c0 b: _不过,文件名称却不能使用某些特定字符,因为它们对Shell来说% ^7 K# B" ^5 \. m* p3 A1 s: _$ i
有特定意义。这些不能用作文件名的字符,分别是「;」「|」、7 Q, j( p: m5 K6 E6 }& n4 e
「〈」、「〉」、「’」「$」、「!」 、「%」、「(」和「3 O) Y* a( d1 K7 i8 z; j7 l. M
)」,而文件名称中也不能含有空白空格等。
1 Q& R0 _/ y. u& P% E! B7 P: a; Z
文件存取权
9 f8 P! F  S. L
, |$ v' N2 j" x, h# {每个文件都可以拥有不同的存取权限,界定其它用户能否存取文0 I5 C0 ~( e( B- H# I: s0 X
件和目录。) \% N" |) T& T! v; _+ ^0 k
9 e6 e5 l6 Y# z" o9 W$ L, [
每个文件分为三类所有权:文件的属性、属主所在小组的成员(/ v. j3 G/ Z- ~
即组员),可存取系统的其它用户。用「|」的指令,就可以查
3 ?% i- e; v' |9 a+ Y9 {. H0 t看文件的权限。
1 s- T- m4 V& F: a$ u# ~. r- K8 D$ n  j7 ~
drwxrwx…
9 M5 M8 m% Z+ Y. Z! R" R& S, p7 ~# g7 V  |! x/ Y, R. R) f  [
好像上列的文件存取权限,第一个符号指示文件类型,减号为普7 }5 i: }6 U& |' d# N9 Y
通文件,d则表示目录文件。接著的九个字符分成三组,分别表
! \' t, a& f1 W3 U. t+ N  y* o  y$ }示属主、组员和其它用户的存取权;每组有三种存取权:「代表5 U4 s/ G6 j; f& n
读(Read)、w代表写(Write)和x代表执行(Execute)。而没! N" |0 r& ]% p3 T5 p2 R
有存取权的相应位置则会出现减号(-)代替。
" Q. ^$ q! M% T2 H& t! I4 _6 R- \4 {- c( O& g+ P) [7 e
目录存取权' P5 T7 s  v$ S

7 F6 `5 ^$ H0 l: ?$ C基本上,文件与目录之间的存取权的设置大致一样,但仍有些微; _6 R5 B) v! o: A/ R% o0 D
分别。% A' G8 t' \4 x5 n* U6 u8 B

  m3 v' U# c, U首先,要查看目录的存取权限,就要在「|」之後,加一个空白; S; b4 g- q6 q, V( ^6 s
处,再加上「-d」。如果要改变当前目录,则用「cd」。6 O' I" q* ~+ A0 |8 w* n
; G" q3 d$ x3 l: P" O' E
改变存取权限
  I" _4 [7 s, c) H' E8 Y$ z  a8 T5 l; H; f* J) z
要加文件或目录的存取权限,可用「chmod」的指令,例子如下:
5 b- J* V' S; O6 V) |0 s1 T. A+ b$chmod g+rw filename) l) t( I0 M) d% y5 S0 I
) Q& F8 z3 U7 E. z
g代表更改组员可以享有的存取权限,+rw就是让组员可以读与写
. ]) w; ?) Y; O6 F0 {该文件。而u则代表文件的属性,o代表其它用户;减号(-)则
, O1 |- @- n8 J& w0 N& y5 T代表取消某类人的某些存取权限。
8 f" w2 l# q* y# X& [, K4 |0 D  z, k( k* p
另一种更改权限的方法,就是使用八进制的数值指定存取权。每- q( y/ G+ t9 o* \8 d) V
个符号赋与一个数值,r是4,w是2和x是1。例如组合读与写,其4 e- N9 k# z( V7 @* e
存取权的数值就是6。又譬如欲使文件对文件属主、组员和其它用
# A# ?! c: A1 t1 ]! ?户均具读写权,指令如下:, d1 T0 T6 Q1 P5 @6 w
$chmod 666 filename
! e, I/ j3 v6 F' S& Z' Q8 T
0 K/ g- t9 _& S- x5 U更改用户属主
: S1 S4 t3 h& O* c' \* l  q: T! }
* J" I1 x) `1 ^4 G每当创建新档案与目录时,标记你是属主,你的同组人员为组员,7 ^  y, ?1 ^$ l( b( W
如果要把文件的使用权交给别人,只有属主方可更改,指令如下:
9 Z/ D8 L* G6 Q8 h$chown owner file. y/ a( F" @5 k6 e: @. `

( C2 c& z6 T% v7 O! _chown改变了文件的身分ID (UID)
) _* n" ]* }# X# Z5 N: v7 C
: C- ^: q4 f( T1 n改变属组要改变文件所属的组别--文件组ID(GID),指令变0 S/ [4 w1 N6 W! H2 s0 g$ L
为:& V: {, v: W$ e  H, ]# F
$chgrp group file) h: A! l7 j+ v8 y9 j
9 z& ~. U- `& C5 ~4 h1 a
浏览文件内容  `5 J% I3 x! f( x

( q" N0 Y% |/ o1 {& h. ?/ ~需要求助,可按?键。至於,浏览文件内容有几种方法,可使用( X9 _1 d2 w8 r! d1 T/ c. a$ {
more,显示大文件,指令如下:  y$ y) l$ g, I
$more filename% I) m5 z. _, b% S

" }( {* Q' F, ?2 o按〈space bar〉,显示正文的下一全萤幕;按〈return〉,转往  K" V0 E! G/ d* Y' k
下一行;按q进出文件;键入模式前缀(/),就可键入需要查找
' I: i$ e3 f. f% T的匹配模式,若模式找不到,则会显示「pattern not found」的8 R! ~' ^4 q& w! D7 e& X0 c
信息。! q8 T; T9 L/ T8 s9 G! I3 x+ c/ p
+ p- B/ {) K- U& x
按pg则逐次翻一个萤幕,而每个全萤幕後,都随提示符(:),
; S# z5 @2 N% @- I5 R; Y+ w按〈return〉,看下一萤幕,键入+n,向前移动n个萤幕;-n,. A) N5 @, X; l, T$ j( M9 r: H
向後移动n个萤幕;打入$,则移到文件尾。
$ V6 c5 x1 O. U6 n: t+ t; I' C9 w% e! z( D. W3 N( x
如果使用Cat看文件内容,就可以在全荧幕上滚动文件内容。在任
7 A. ^4 T0 k9 A! |何位置,按<ctrl>s,文件就会停止滚动;按<ctrl>q,则会* G; x. e: ]" V# w- i: L2 U3 L
继续滚动;按〈del〉则中断不看。
/ P* N# A) j& E- {" K, W
6 A" m2 o* ^5 s% G$ P! m. `) ~处理文件
; G2 }) f2 `* [
  }# S7 q. |/ p: bcp指令为复制文件,可以有多种用法。
1 o3 i% L9 P& a. W* `9 r/ x) Q7 U4 W4 E1 B) e5 C
(一)$cp old.file new. file
$ ^! `1 P; O: l, g1 e备份一个文件( R  ]; [/ x7 ]2 U8 i% o

# o/ ?$ q4 d" S(二)$cp file 1 file 2 Test
* _' v; g) y+ u" h! [% p6 a2 W将file 1和file 2复制到Test目录下
' x; {8 A  v1 \" j
+ J8 G, H0 L+ {至於,mv则为改名指令,譬如; f' X! S4 _8 X/ V  C$ g# O! q  m
% R: f) V4 a/ D/ {8 s
$mv fruit apples
. R9 s5 y' D) d4 r( w& S1 a9 v就是fruit改名为apples
# N3 b6 ?6 \! G% Q7 B! j
$ r" n8 m6 @8 \rm则是删除文件的指令。文件一经删除,就不能恢复它,故此,( k$ M" U; n6 ~
要加倍小心。: t, h( P& g& b7 b! o
2 Y" g2 L% m4 {  G( N; K
$rm- i filename
- F8 H9 d( h3 U4 [加上「-i」,删除前,系统需要确认5 u8 N4 Y- n7 ~  a; b7 G! j7 t/ F! h
</P>
作者: huashi3483    时间: 2004-9-27 15:15
<>第二讲shell环境</P><>何谓shell shell是用户与作业系统之间的交互层,用户修改其环境,设置或- J' j) H6 H# r
 取消shell的环境变量,迎合用户的需要和爱好。# @$ u' [* }& i

- I; t8 {; V; F# R0 x; k) d2 Z shell本身就是一个电脑程序,用C语言编写,为协助用户与作业6 i. H4 U. u( L. x% R6 \" F
 系统之间通讯而设计,管理用户与核心(Dernel)之间对话,并+ z% b2 N! [: H
 把作业系统指令换成机器代码,其实PC用户常用的DOS,本身就
/ X7 _. U  @9 N 是一个shell。
: S- p4 S. k! M' C
! ~9 J% p  Y! y3 @* S, w sshell的用途
: Y& J8 P; a& Q; M: A# j
: t) h/ j$ G. j! m5 x' D shell的主要任务是:提示用户打入指令,读指令,转换指令为核
  z# f% u$ E$ W! i9 E 心所能理解的语言。其实,shell可以看作为指令解释程序,提供
1 W4 c0 x/ g! u9 p8 ]0 b& A4 q 一些工具,亦可以利用shell的编写工具,构造电脑程序。  d2 Z- b3 F' Y1 a/ G$ j" @* s: i
! y+ K5 z( _, ^+ c7 O% C6 _
 System V shell类
: n! c3 C5 Z, Z, g6 k5 ?5 r
4 Z2 v/ ?9 i8 ?9 f SCO System V的shell可分为四大类:Bourne shell;C shell;
, I" t3 k/ z7 {7 m9 P Korn Shell;和菜单驱动shell。而菜单驱动shell可再细分为三! H3 ^' O1 c: y) T" _
 类,分别是Open Desktop,Sysadmsh或scoadmin和客户应用程序。- W1 c5 c1 p% l1 \' A3 ]; K
( ~8 L: b* f+ b$ x
 每个shell都有自己特定的环境文件,可以自行修改至合用,这些
  E- }2 f# s+ q/ N! G 环境文件就仿如DOS的批次档案(Batch File)。% _, k  C% N, u, G
8 y; l. _& {1 w  m/ M4 f/ ^
 Bourne shell
3 v- b! N& H: [2 L1 m. F( l# Q! W: p( {. m
 对普遍用户来说,Bourne shell可以说是第一个UNIX shell ,
+ c% h  d4 l% i6 q0 l 它是由AT&amp;T贝尔实验室Stephen Bourne所编写。默认提示(; Q7 T. e4 G1 {  R8 W! W) Q& \
 Prompt)是美元符($),其环境文件为profile文件,由於文件
3 s+ a" J. c9 E8 w# s; F4 T  z 档案不大,可以马上启动执行。
' y& D' S7 V" R, g/ s2 c2 {( x6 l/ i+ }6 w# d% ?8 S
 profile是存放在主目录下的普通正文文件(Text File),通过+ e9 A8 {$ b8 J: L" I( m% R
 设置环境变量(Variable)和终端模式,可以使环境个人化,每
# \; w9 |' m: ? 次注册进入系统时,shell会读入profile文件,并执行所列出的
& L' X/ s7 y) m; w# B! G 指令。
, Y: M% v, p, q( V, B* h  O
& u7 p7 R( V- e' `) v/ O2 p 每当系统管理员创建新用户的户口时,系统都会自动构造一个相
+ o/ S6 W3 n, O8 P 应的.profile文件;而整个系统的环境文件就放置在+ E/ k; n  I9 ?) c8 i
 /etc/.profile中。% K8 E- h' ?8 W4 U

6 I6 b2 C  n4 k9 S  Z( v 用户可以使用vi或其他正文编器修改。若要使用env命令显示,由
9 i7 `+ ]8 o4 \7 k 於注册时已设置了这些变量,也不一定需要另行设置。0 g0 K1 I. q% }8 t

% @. x, D) S! l2 U. k3 v. e; f C shell
- f2 [; Q+ c/ B& k8 U: w2 P( ?
- |- \) I6 h) w0 D6 t: D% l5 e C shell是由Berkeley的Bill Joy编写,是标准BSD(Berkeley5 a5 W) e* c0 r1 H! `( n8 n0 p7 i
 System Distributou)命令解释,其默认提示是份符(%),环境: x" ^& I3 w. E5 P, W# K7 m
 文件则是cshrc和.login。
! v4 y3 `. e7 S0 |* x, d. F* s. `& m! U/ s6 u  g, w; j. R
 C shell采用C语言,是UNIX和XENIX系统上公共软件的开发语- i/ r6 [, U$ ]% f
 言,提供了方便工具,快速打入,校正和再打入命令行。5 G: i2 k' G, Y, ]
* u& ]0 Q+ @9 j# U9 m
 .login是C shell的注册环境文件,负责启动shell,注册时执行
- \# X7 d2 O  Z% D+ I3 o8 B" [ 一次,而.cshrc则存放常用指令如alias等指令。譬如我们要创建( g* C0 k7 t4 x4 t3 Z! W
 一个永久别名,把命令who|sort|more别名化为wh,在提示(%)* X: H, p- ^0 J/ i
 後,只需要键入wh即可。用户可在.cshrc□键入下面一行:
) y% Z) G( ~2 @ alias wh 'who/sort/more'
3 j) ], }1 m4 V1 x
- F. D, u3 b7 ~. F5 l# H Korn shell% P( D7 m  {( ~

( ~9 X' X* p+ l- F9 f Korn shell是AT&amp;T贝尔实验室David Korn所开发,是Bourne4 d: E. K+ w3 I& v
 shell的增强版本,综合了Bourne shell和C shell的特点和约定,
6 S& h3 T: {/ X" n9 }2 g+ p 而Korn shell则比Bourne和C shell执行得更快。) \0 b6 L& B5 V* L& Z; T

3 y7 c" C  `) z Korn shell的默认提示与环境文件,跟其前身--Bourne shell一
0 g) E# B: P3 a9 Y/ t 样,同为美元符号($)和.profile文件。
- x, S7 n# ~$ t, S# J
' |5 t8 N$ y, ~# T( ]5 i 进程控制+ O# J& V, X: E

7 X) N( b* u/ }. s 虽然同一时间,系统中运行许多进程,但是某一特定时刻,CPU只
: `/ b% }5 J5 U' r) g5 I2 a" c+ F9 ^ 会让一个进程使用,而CPU则在行使中的进程之间快速轮换,每3 c; R" B9 W* Y0 `. Z( G/ I& p
 个进程所占用的时间,称为时间片。SCO System V为了保持、跟1 f" ^3 o) d+ \' }' q
 踪或调度每个进程,会给每个进程一个进程标识号ID或PID。( N. u; {1 C; h9 d0 B2 @3 z  n# J
: ?! n8 S5 t$ j9 P1 r9 g, p; q/ C
 要确定那些进程正在运行,用户可以使用ps显示阁下的进程;或
3 q6 A2 d. ~4 @1 T4 n( U 加上-e选项,显示所有进程;加-f选项,则显示的进程还包括已
7 P3 q- R8 I4 L 启动指令的执行中进程;-u login显示某注册用户的进程。! C: E" t" d1 A  {( }; Y! }

5 s) Z1 ^7 P; v9 ` 在SCO UNIX System V中,如果阁下拥有Root指令的作用权,4 a3 E% j1 A7 V9 b+ E  z! |9 u3 |. X
 就更可以看到所有进程。2 k: d* w& P* m, V- {/ y" }1 A

! b; O' s& S" a+ Z/ p4 d 当一个指令需要较长时间完成,可以在指令行後尾加入&amp;元字符,& M. W' h: j4 T% M# c
 该指令就会在後台执行,但对交互工作方式的指令就不适用了。% V: i0 ]' _. p

# b8 D) I% f1 V 菜单驱动shell
3 Q* m1 i. m- s: U. v: ?7 z( g  d
; \5 k+ f2 h9 l* p/ U$ B 菜单驱动(Menu-Driven)shell可再细分为三项:3 S7 D" y" D: s' Z" A

- g. f7 N6 M+ r9 g. Q5 h: J# I$ R 一、Open Desktop& p: R! v& O4 X, |$ @, M

2 c4 e3 e) v4 d- O2 ` Open Desktop采用XWindow图形用户介面,用户可用图符(Icon)
' {7 n1 v& c2 }8 v 窗口和菜单操作,如Open Desktop的作业系统就是SCO UNIX# A; z1 q% ]5 I+ n4 q+ _
 System V/386。4 p4 \, Y# P- ?

" x- @' N2 c9 q5 X% |8 W 二、系统管理员Shell:Sysadmsh或scoadmin
$ ^3 ~/ ^- V: D
0 `) q0 a9 e% } Sysadmsh或scoadmin则是字符介面,用户可不用学习指令行语法
0 H6 z# Z% X9 M/ C  a9 n 和选项,就可以执行大批指令。大多数系统管理任务仅由系统管
; W7 @8 B# r$ O 理处理,系统管理员则有特定的根口令(Root Password)。/ G6 C1 ~0 w+ l  H2 \' k* g

" @2 y5 u$ O- r 三、客户应用程序
/ n: O* e: b! Z1 D" u
; P8 w: _" Y) Y0 z" G% o 某些用户为了存取内部邮件、字处理或报表等应用程序时,方会* o2 K, r, W# c* ~4 y8 p
 使用SCO System V,系统管理员可以装上这些程序,令它们在注: {8 Y2 j. d9 i6 H" y" m0 J3 U6 s
 册时呈现。$ J" b& X' V+ g% B- f/ {6 _
% w# d2 Z; ?' p
 许多程序提供一个菜单选项,用简单打键选取一个选项,用户毋
" Y- N0 K" _8 r" S( I, k 须记著指令和指令选项,亦能操控。* ?' ?: A3 i) I2 ]# h& \3 Z4 Q
- C+ n: |1 s1 w0 Z; Y8 s: e( L
</P>
作者: huashi3483    时间: 2004-9-27 15:15
<>第三讲vi editor</P><>任何用户最常做的事要数创建和编辑文件,包括文档、报告和文
! J+ @* o9 j& T* t0 i' X   字,vi(Visual Editor)是一个有效而相对简单的全荧幕编辑,
( u# e- [! P5 N+ T2 R5 Y   使用vi,只要记著少量基本指令,就可以开始起步,再学习其他
! ]: b, K2 w& m" k) ~: z   更复杂的指令,而系统管理员则使用vi管理和维护系统。- Z( z( r" m8 L! Z% ~, G

  j9 h4 k/ H" u2 A   vi是包含在SCO System V作业系统中的全荧幕编辑,其实,vi不0 v  Z$ d5 y  B6 y5 `& q1 B
   独存在於SCO UNIX内,而是UNIX内相当普及的文件编辑。开2 f# L% w: r7 E! w' s1 u
   启文件
" e2 |1 @9 O9 s6 p/ Z8 q0 x0 t
5 u) |) x9 f+ ]! N  O+ F; J   无论是开启新档或修改旧文件,都可以使用vi,所需指令为:
2 L- b( o3 z, X; e
/ e) {& @6 i" G/ a4 @* {   $ vi filemane
  J4 v* A3 N3 G. `4 h( U" q( r$ `6 B! u4 e- G
   如果文件是新的,就会在荧幕底部看到一个信息,告诉用户正在5 n% @& y, i' J( f) R
   创建新文件。如果文件早已存在,vi则会显示文件的首廿四行,+ w# _) s& ]$ l1 b
   用户可再用游标(cursor)移动文件。
; ^+ s* {  y9 a8 V4 X6 ~* m
4 ]6 b' w3 D+ N" z# j' K' c& Z$ k   This is what vi looks like.
% _6 C* f0 J1 \% i& j' P, y: i$ v% o: I9 f* A! O8 W
   ~6 A9 e7 j0 z2 k1 k. o
' b- T; G, B& d
   ~
$ Q1 a  D( D8 {" D8 a) \9 `: e- \0 n' u! L" h+ W8 I1 ^
   上面是一个经vi开启的模拟文件,一行开始处的波折号(~)表; k5 \1 A& C" @+ `& _8 R
   示文件的结尾。指令态与插入态
, f0 x) M0 }. x/ e2 e  l
$ S# O* R* b8 q6 x. e  V/ b2 w2 }   vi使用了两种状态,一是指令态(Command Mode),另一是插入
1 J3 h" ~. X' B: }% r   态(Insert Mode)。当vi处於指令态时,打入的内容会视作指令
* e( R! }/ U* H+ W/ Q   来解释;另一方面,当vi处於插入态时,就可以打入正文(text)
, e7 X9 n$ c; ?; L   给文件。. q. C1 L9 ]7 u
6 L2 S4 M- K/ h% n
   大多数vi指令是单字符,由插入态改变为指令态,指〈Esc〉键;) t( j+ \& e! Q7 B
   而由命令态转为插入态,则可以使用下面的插入令,直接打入,
! O3 S/ O2 N3 I+ z   无需再按〈Return〉键。
' ?' R9 s/ E& }( r' y- y& e# ?: J1 ~9 n. A) n8 S8 Q
   —指令i在游标处插入正文
  |3 t( K( ~* Q/ r
/ c9 G0 y/ Z1 H5 h, d! t7 B   —指令I在一行开始处插入正文/ Z- `! }1 _/ W+ v4 ~

9 Q; B$ @1 D7 e' }! P4 }   —指令a在游标後追加正文! z+ D& \" B3 _, T( h
3 V5 I/ m5 s$ h$ l, A  n* ]
   —指令A在行尾追加正文5 B  L4 @0 b) N7 S' \# e; ?

  c: o" [' ^0 s5 P! W. e2 ?   —指令o在游标下面新开一行7 X- w  |1 H6 I

, o' `2 U& A* p8 [2 L) j3 W   —指令O在游标上面新开一行9 X# I) P5 {# L: m0 m

6 d8 F# h& B. c* h' `7 ?& R   要记著一点,在插入态处,不能打入指令,必需先按〈Esc〉键,* ?3 C+ b8 H0 g. c& |
   返回指令态。假若户不知身处何态,也可以按〈Esc〉键,不管处
1 j7 ~1 G  M0 [' H   於何态,都会返回指令态。' H. q* B; O, V" V5 M
0 ?3 n% r$ ^. M' d2 C2 |
   存档及退出
9 M7 T0 }# t" a0 @
$ i/ ^% H. c# }( _9 S# H  C   在修改文件时,如何存档及退出指定文件都非常重要。在vi内,
9 H3 S- B" u  j/ M   行使存档或退出的指令时,要先按冒号(:),改变为指令态,用! V* W" ^: d; \7 F
   户就可以看见在荧幕左下方,出现冒号(:),显示vi已经改为指
' O+ d; S  f( d% k9 }8 r1 t! |   令态,可以进行存档或退出等工作。) B$ H$ o/ ?" h9 w
/ J  p# b$ d) x3 I8 y
   下面就是一些这方面常用的指令。
" S- P% c4 x. O: p7 M/ C' `1 T# R* Z" h. ]/ _2 C9 d( t
   :q!放弃任何改动而退出vi,也就是强行退出7 |9 N" Y% ]8 S: b& i0 s

/ t4 r) g+ N8 ~$ i  _$ p' T3 F   :w存档
; p+ C0 b$ u9 h& M
( B: u/ n9 u+ W2 W- {' @: }   :wq存档并退出vi0 _1 q( G( ~  `
! s, U. L9 A& h/ E. F5 m
   :x与wq的工作一样5 V% x/ ]- K7 b4 s( w$ s1 w& E
2 `% r: q4 j% M# K) j" U/ r
   :zz与wq的工作一样删除正文
' a) E% z/ a4 M7 r# z; x
; f7 k5 a. I7 O" w+ x% V& k+ m3 w   删除或修改正文都是利用插入态,故此,下面所提及的指令只需6 w9 M- f4 H4 O2 V9 m1 I
   在插入态内,直接选入指令即行。/ M( {& j5 n1 |5 j3 ]

1 X2 ]( }' E' m, a/ v: g1 c   —x删除游标处字符(Character)
- H1 w% W! N: }% T3 j! O
- ^: S6 |" V6 Y7 }5 U   —nx删除游标处後n个字符5 P- d8 G; Y6 {3 Z/ C

2 |" I8 J/ N% |! P   —nX删除游标处前n个字符) E# z0 L3 N& D" R

) l7 x, t2 O% }) ]2 f3 u$ i   —ndw删除游标处下n个单词(word)* M( p7 c5 H2 W) ^/ ~% R* D

- q, h! P5 s/ e7 ]  l   —dd删除整行5 a4 [9 Y: b; y/ u- M5 s0 F7 Y

7 V2 J3 S6 x, Y( p7 b   —d$或D删除由游标至该行最末7 @  W! f9 C# y

1 l! B9 C! X# A2 O3 r+ }" s4 `   —u恢复前一次所做的删除! z8 Q0 \# @' D1 H9 w+ v7 [
" E/ }2 F8 o0 ^4 `, m& c
   修改正文
( j  w" Z7 P' T/ _# n9 a5 C$ Y: t6 p- |! d# L
   当使用vi修改正文,加减字符时,就会采用另一组在插入态操作
  J6 j3 R; _/ s0 L/ }* j   的指令。; w* |/ b) ]. {5 x# ^0 {# P
/ n1 E+ q7 i" f4 ?. q/ l2 R
   — r char由char代替游标处的字符0 F  v1 c# j- E3 V& |) C3 q

! L  w3 V, F' M* J- _  @! W   —Rtext〈Esc〉由text代替游标处的字符
# s: i4 V* D( o7 p) M" f* v2 V' F0 ]. I  O  E. u. n4 q& R4 p, P
   —cwtext〈Esc〉由text取代游标处的单词
& o( t' O" k* R8 c2 g
7 @4 t* g% E& Y4 x+ I; W4 `   —Ctext〈Esc〉由text取代游标处至该行结尾处
1 c- M! I2 C& r1 }5 K: O6 \2 L; ]
   —cc使整行空白,但保留游标位置,让你开始打入
4 F* S$ S9 b0 G9 Y7 O6 }
% c; _. o' `9 T2 W1 }/ ^   —如删除指令一样,在指令前打入的数,表示执行该指令多少次。1 r! ?: q5 O5 c. |6 A, ^; F6 e
   正文模式检索
, m2 m  D4 V- T; N: P1 F0 W8 H" n0 ?/ C! j' z, B
   要检索文件,必需在指令态下进行。所谓「模式」,就是一个特% f" A. d6 s  u% @
   定字符串,其中可含空格符。5 Q8 F, p% a3 p5 U! w

; j$ E- c, b' l  W/ C0 D. _   —/str〈Return〉向前搜寻str直至文件结尾处
1 c$ B) G/ l, d; H" q3 \4 z
+ [% v; B, y4 v# H; L9 N6 V- n( Q( ]   —?str〈Return〉往後搜寻str直至文件开首处, F3 M1 @1 c& _

" ]. t5 V5 _0 m4 _   —n同一方向上重复检索: S% @. M$ S% d4 G+ U* ]9 A! T

0 y9 h# q" c" m   —N相反方向上重复检索
, n# a% M, N( g5 x6 `5 w5 h  R; c3 C3 c4 E/ z  M$ K2 K
   —vi缠绕整个文件,不断检索,直至找到与模式相匹配的下一个
( m" U8 f: {4 l+ ]1 R   出现。其他5 t2 u. S# m/ e" s
2 H2 N, p& s1 v3 h( W
   如果要在 vi执行期间,转到shell执行,使用惊叹号(!)执行系: o8 c* p! s6 z- m% N% P; P& c3 E
   统指令,例如在vi期间,列出当前目录内容,可以打入, \( b% u- h% `" U* U4 ~: p! P
1 ~2 K  L; e0 M# Z! I8 }6 K* G3 t
   :!If
# K' u7 V& l( \
* X/ }2 F# A% x$ \+ n   另一方面,用户可以在主目录中创建.exrc环境文件,用set打入, p# @& ^+ l- N1 w7 X8 _. Z3 ~
   选项,每次调用vi时,就会读入.exrc中的指令与设置。下面是/ e- Z* t. R. ^4 r' c
   .exrc环境文件的实例:
# y, ^9 N5 T  @7 H" q" z1 |. ~
7 `2 a- v5 N) Q" w5 n   set wrapmarging=8& S' O9 l- s- E9 [' Q* {5 X
: W* b& F" d+ m0 ]9 E* \8 V4 v7 P
   set showmode( c; K4 D# ]# E: c! k* e
$ [2 ^- J0 D6 I2 \6 @
   set autoindent/ m. H& d9 w4 u3 w. o

% C1 g9 a9 A' h( P# A. R   set number
# g& d( X" I5 b* I' V! I7 H4 ~( t</P>
作者: huashi3483    时间: 2004-9-27 15:16
<>第四讲:系统管理</P><>今次要谈的系统管理员负责管理SCO UNIX的系统,拥有独特的+ U& \0 S) n" j
注册名--root,能够读取任何文件,写入和删除任何文件,执8 e3 f. \$ r1 i+ x1 {
行任何实用程序和指令,亦可以执行和终止任何用户程序。# r' S) }: @& k- G8 W
系统管理员的工作包括系统控制的任务,例如後援加锁和解锁终+ o( ]0 T* E# F. G4 `% m
端和记帐号、增加、隐退和撤消用户。亦可以给用户一些特权,
0 K; b/ ]9 @. Y1 Z让他们实现特权系统任务。
' d& ^% a2 j- X. A) v; M" Q/ q4 `' ]* y  B, |& Z2 k0 Q
基本指令0 ]7 y( S9 \. V( g) w' j

) f" x% H+ M+ K! l6 Y6 A& K5 ~) ?( `shell指令的基本数据结构是文件,因此,基本指令和操作包含以  o+ P5 i, b, O5 S, t- T9 \; z
下功能:6 T) _5 y7 b- f5 T: j* f

# M, l$ G2 |8 @( m-显示及管理文件中的指令
2 F- l+ N( T& t4 ~( k. h$ M6 \
9 l/ D" j. o9 I-管理目录的指令* j# i# V- B9 T% t  D
" z4 S% O4 }$ N9 D" b* X
-输入输出重新定向和管道,重定向标准I/O,并执行组合指令$
3 u+ u0 S) ]' ~( N; h% {W|grep 'john'〉john,file4 P1 q2 H% d0 |7 h- o+ S6 l
, H( y/ E# F- q
-输出重定向符(>)把标准输出重新定向输出到文件$ ^2 d& g6 ^+ l, q- L% k

/ H) q) R3 z0 o' n7 v9 @--输入重定向符(<)把标准输入重定向从文件输入
8 G/ z1 M9 ~! x$ S5 ?# M3 F7 I2 Y/ x( k! ?
-管道符(|)把标准输出重定向输出到别一指令- }# H  \& E! ^. B9 `  {# s, i
9 |1 n% J" p7 o& }5 a
寻找文件
* j* M+ ]6 z/ {( l2 M' |/ {2 h7 b( ?, K
find(c)指令可以在层次目录中查找文件,例如:" a6 p" t0 p! G$ P

3 f0 K5 I% @, x$find/-name filename -exec rm {};7 f, Z5 T# R9 z5 T) w1 v
* w8 f7 w) ^6 S" Z
-name filename指定filename
4 V$ H6 A2 o: `) Z2 ~' @
1 X' P& \2 b. I& k: Q) P8 O- T, L-exec rm表示在所找的文件中执行rm移动这个指令8 L4 J  o) V( M" U

! \# ^! S7 v" b! }5 o# f, T另外,用户亦可以加入,-print表达式,显示找到文件的全路径
& ^8 k" i% L+ n/ T, c5 x/ p; Y名。& ]$ r% P, Q) e* Y% t/ k' h

4 Z% V( m* q" u2 z9 ?' P) G除此之外,find(c)也可以用来找出特定用户或用户组所持有的4 \. Z0 f) P! L" Y& Y
文件,譬如:
! }9 _; O( N" Z: n; o$ T; Y) f
% b+ v* \6 m& ?8 E7 s9 ]$find/-user bin -print, C4 u5 ^; Q* ]8 c. c

! O* y1 V4 \; q# y; o$find/-group mmdf -print
- w: ?5 S! h2 N  ]; b
3 [6 a- `) u/ A2 Q又或者,用find(c)重新定向过滤程序,输出错误信息,例如:
9 B; v) h8 z5 l! ?! C% k& ]- _1 K# u. I& p. l& [- f6 S4 O! p$ `) `
$find/-name motd -print 2〉/dev/null$ P# x/ _2 g/ O6 B9 M2 ^
  F& X% f0 O% U' N7 B& _7 ]
SCO shell3 \! i! r6 n1 ^+ K0 j4 b

& l7 F; f3 w' S1 Q) w7 V使用SCO shell,可以让用户从单个菜单中选出应用程序,管理
+ F$ d3 k9 g. B+ e" T) V文件和目录,运行系统实用程序,要调用SCO shell,可键入:( f4 z% B% G: T

1 W* x& @# y+ b; H5 G: }$scosh8 A/ C9 k/ e: B2 W; `. ]
% C) q& n3 ?0 r# B/ Y' _) c
可以利用空格条键〈Space Bar〉或箭头键〈Pointer〉移动光标,, a+ i! i6 `; T& x1 @
加亮所选的菜单项
" @6 l& D; p; B" x
+ K0 @  q8 `, t2 w-按〈Esc〉1 [! ?1 F% ^. R# H: J

' r+ g9 t$ Y1 [" @2 P+ \+ R8 y回到上一级,或放弃当前操作
4 s' k+ c( G: ]0 v) I+ i1 I$ C
! y2 K: ^8 ^  i( T! b+ ~6 |+ ]5 x-按〈F3〉# k) E% w2 Z4 b* V) p
: O# w. ?8 I( Y3 ?; I9 Y* S
显示所在字段中可用选项表
' ?3 G& @5 T: X6 M- J0 D9 D9 {( `' B3 o: X" V
-按〈Ctrl〉v 在字段选项表中选出每一项
9 p2 Q: \) N& ^" T" ]
6 L8 @2 g. n% r/ ]-按〈F1〉0 K6 R* E9 w5 X7 E
7 l4 b  W: O$ q4 q$ g& U4 ?
显示求助信息* n+ @- K+ v: n$ p; U1 H" R/ a
5 r1 I* S. \& B& g" t! k, A! Z6 V' W5 h
-按Quit或打入q 退出SCO shell
" _9 C1 u! ^. O1 R' \3 U9 _6 L9 m$ \% Z' H0 P# c
系统管理shell+ e3 x+ C6 W5 s. y) n

3 |4 _" L" q6 U0 U4 q0 K, R需要调用系统管理员shell,应该打入:
. B# R3 ^( p4 n1 i" h; w% i5 F% ~% F1 T+ j, S
$sysadmsh或$scoadmin+ p% p9 U4 j  V

% y, z* @* }  _: K6 B. h4 t虽然每个用户都可以调用sysadmsh,但是,只有实权的用户才可4 g! z5 F+ q1 s1 v
执行有关特权管理任务。
8 E8 P1 g* v5 `# a
5 k3 O3 h% _9 g, v8 @* A1 O基本上,使用方法与SCO shell差不了多少,只是多了几个功能
! x& ]/ [# z4 |键(Function Key),例如〈F5〉搜索,〈F6〉改变目绿和〈F7〉
6 x( S6 _  {  k8 j! j/ X执行格式。而且,scoadmin更可以在XWindow的图形环境下执行,
8 l) @, @+ |0 z0 ~用户在图符(lcon)上找到不同的管理任务。
  P$ {* j. p7 ~7 h9 `$ e9 j# p9 C; _# g/ X
多重注册萤幕% T3 H+ P/ t) M7 b* I: V* s' k/ i

5 G+ {6 s' K' l" z: t, O0 v& v' U控制台上,可以允许用户最多具有十二个不同注册期的萤幕。多( Z* a7 z' T$ P$ F7 x. R
重萤幕令系统管理员可以同时执行几个任务。$ P# G* F" g0 P3 f+ r

$ d2 z0 ]/ p9 \系统启动时,控制台上的多重萤幕就会自动活动起来。同时按〈
- e5 z- K1 J  w# }. X8 gAlt〉键与〈F1〉至〈F12〉功能键,实现萤幕之间转换。4 s# ^) X/ L0 Z
" e2 U3 p& p1 V' f/ _$ A
至於,在终端上,启动多重注册萤幕,则可用mscreen实用程序," c  j9 f3 s, v2 o
为正确工作,mscreen要求为tty。例如启动两个萤,应该打入
. ^7 `  F' U& h. y% Q( f' R
0 l, y9 u, _$ s' Q( G  a+ l* Y; T5 I$mscreen-n2
- f& M  u2 c# B1 h' A* b! e- f; s, ?) M
然後按〈Shift〉键与〈F1〉或〈F2〉键,在两个萤幕之间转换,
" n7 c- u. }7 C+ e当注销时,确保所有萤幕注销。1 I7 O9 V9 N5 e: j5 z* Z! e
& T/ S+ m. h6 S$ ^# \2 _/ a
</P>
作者: huashi3483    时间: 2004-9-27 15:17
<>第五讲:电子邮件</P><>在SCO System V下,每个用户都有一个系统维护的私人邮箱,& V+ i0 a3 W) w, N# s- H( Y# U7 h
 用户能够与系统任何用户或用户组之间收发电子邮件,所收发的
% }, ^. U4 \# E/ Z! V& R, y, s 信息可以保留在邮箱内或作独立文件处理。 发送邮件
% w6 X5 p1 h, S, X" Y5 u3 }, I  d
; F7 O& P7 _' J 打入mail指令,後跟收件人注册名,就可发送邮件。假如发送邮
4 w5 S- a! A, s, w7 D 件给多个收件人,名字用空格符〈space〉分隔,而不是逗号。收4 M! G" x3 e% ^! e
 件人可以是一个单独注册名或一个别名,别名代表用户组,例如:
) ?5 n" h2 {; c6 j" Z$ u3 w% K8 P9 ^$ }: s" l
 $mail peter amy2 k& _4 G5 O- P$ i* ]+ Z

% R3 k: p* U  a* T/ [3 ` 接著,萤幕上会出现subject:的提示符,用户即可打入简短的信4 W2 f& h! n: o1 A: {
 息说明,完成後,按〈Return〉键,然後,就可以编写邮件内容。  V8 z; [# ?$ g

; B8 ~3 g/ {0 t- c3 m2 L 需要校正错误,就该使用空格符或左箭头键,用不当的空格符或
5 o# c% K0 y2 g1 y5 l' t 不合适的箭头键,即使在萤幕上看起来对,但是收件人可能只收, W$ q) d  U+ c: A/ s5 U7 A( t
 到不可读和篡改了的信息。请记著,mail内的内容编写,不是「
# }# S* d) F+ V. ^4 I. P 所见即所得」(What You See is What You Get)。4 @2 v, _- s% a: Q

' a& W7 @, S& x) R4 h, T$ `) Q 假若需要取消整个信息,按〈del〉键两次。写完邮件内容,按〈$ A- }" r! M# I
 Return〉键,取得新行後,按〈Ctrl〉d,发送邮件。d就是done(
+ p2 \. R; E& T* u 完成)的缩写。& ?" H- g7 Q1 E/ V& q& \- D8 M8 a

4 f6 O) M  b! D# J8 s) ~ 阅读邮件( y$ `' S7 |& T# i

% m% N! ~" w+ b( V! E 每次注册进入系统时,系统都会通知阁下,在阁下的邮箱中可有
! U9 W( H& u: i% `7 M 邮件,需要翻阅邮件,打入/ Q% y" P; ^1 i0 s
: O' D# l( [$ n4 l2 Q3 l$ q
 $mail, {) x, T+ x4 i! `6 p  ]1 H  K4 ]3 M
% s4 D0 ]( Q, J1 z% w, m1 j
 若有邮件,每每邮件都会显示出相应的信息标题,包括信息数,
: ]2 O0 F! K- j7 _( P( S 送件人及发送日期。下面是邮件范例:1 Z8 `% S; O) j  z7 \2 d+ R
. ?* Y& X* \) ?5 _2 D
 $mail
; @; a7 k/ L. `9 a' W5 B$ _% ]) e  s4 [9 o( u2 _$ y* u% k
 SCO System V mail(Versin 3.2)Type? for Help
* e4 C$ `" x$ U' v" H( \; ^3 z! {0 e3 I
 "/usr/spool/mail/joesco":2 messages/new/unread% ^+ k" k# H/ {" L4 }' j/ \( U
  Z, d- b6 f6 Q( d/ Q% v! o, T
 u2 mary Sun Aug 05 23:48 47/2109 level 2500
- f( P  ^; B' o% |! ]9 Q5 L
; _8 [1 E5 @9 L9 h n1 paul Fri Aug 03 08:01 23/6332 Tardy reports!
3 C( g6 P" s- z- `& ~" e
/ d3 B+ V* I. y) `1 O5 {) E5 h$ F 要阅读来件,可以使用箭头键移动选取,按〈Return〉键阅读,  F6 r% q9 q) b* B4 i2 N1 ?
 或在提示处,直接按入来件编号。若已读到邮箱中最後一批信息,) E5 }* ]5 ~& @. T2 w3 Y- G; ]
 mail在萤幕上会显示"Can't go beyond last message" 。8 p" D& {0 v4 G9 k

3 ?( u0 L5 F, J1 b 处理mail) `7 t- D6 J5 d( t0 z1 |. T

* A0 X! T/ J: Y! ? 当打入一个无效指令时,mail会回答一个问号,或"What" 的信息,
5 p* [8 X" b. V& f; Y, {5 z. ` 显示指令不清。假若用户想显示mail指令表,可以打入?;或打
( U6 g4 ~. j: s1 @. K  w 入h,显示邮牛标题表;打入l,则会发送信息至打印机。另有一0 x9 g8 _4 G/ w- o8 E
 些常用的指令,协助处理mail:6 F% i* M2 @6 o+ L* R
: ~% k; N, G$ r1 l' ^6 E
 一、保留邮件
; A( k2 b5 r3 P" h+ m9 `6 H$ f( v5 u# x8 ?: ]
 "s filename"按普通正文文件保存整个信息至filename内,连同: p' F' Y) w' B) z$ Z1 R' m* q) O
 邮件的标题信息,一并送入文件内。
. N! t- Y# {* d8 R: x# U* V& @, L0 j0 ~, s' |8 v6 i# ?
 "w filename"撇除邮件标题後,保存信息到filename内。* ]3 ^! d3 J4 H1 n! q, e5 U
1 _. x6 M) E+ v% i
 二、删除邮件
/ j& l! V; k6 ^" p& k/ o/ k6 D2 J- C0 I( l1 ]6 e& _
 "d x" 删除信息x这个信息号数
: W1 e7 y' T- f9 P' e4 p8 K4 A3 v, m6 r2 h  @
 "u x"恢复被删除的x信息
- O* {, t7 G" w0 `( W0 B- r
/ a$ c/ q  O7 R( t9 i/ q- E, Y 三、覆件0 d" q0 r, J- o% n
9 p/ e8 ~! h0 o. `
 "r"发信回答给送件人# `% Q0 M1 x0 x' P: k7 L0 @  n

3 `% ?% [( ]2 }  } "R"发送回答给To:和Cc:表上的所有用户
! [  L0 V" t- F! P7 a4 i! ]0 y# L* G. a. K- `0 q
 四、转发邮件6 [6 g/ Q; q" D. i
2 F7 Y* a6 r9 i; \% G3 s$ k
 "f login"转发信息,予其它用户,并分送来件正文(Original
4 z& r! d8 C+ A; L; ` Message);login乃用作的注名$ J+ T, U! E2 p
3 W% C2 k% j( `% S9 t6 Q
 "F login"只转发信息,不分送来件正文
1 t( m6 A" c  N2 P
; I% m# E: Q7 d4 ]$ U+ k 五、退出邮件0 m4 s  m: E2 J$ O
, V, i7 L9 k4 A
 "q"退出mail程序,并更新所有改变' p/ |. p" O  I2 Y8 W& Z( f8 \
# s( w$ A& w5 g# ]9 V+ b+ ]
 "x"退出mail程序,但不作任何改动! ^7 Q7 l0 G& @- G; o
: o5 D* g* {  e$ u& ?6 L
 其它处理邮件的方法1 A# H0 I. \6 T6 e. O

, S" T! J4 t* O" L$ K 除了以上所提到的基本指令处理邮件外,SCO UNIX尚有其他较8 c4 K4 T! R3 H4 n& `
 复杂的指令可整理邮件。在mail内,所有指令前都要加上波折号~+ j5 r. B" g3 D) n5 V4 k8 u5 \$ b
 v,调用vi编辑,一旦完成编辑信息,通过vi的指令,例如保存和' Q( b' ^) I: `8 u2 Z* j
 退出指令:wq,就可返回mail程序;按〈Ctrl〉d,就可以直接发
6 w6 }; x- u3 ?$ U: Q0 j0 [ 送邮件信息。5 o* a# E* u/ R- G
+ O! i) {& p% s, m
 其它mail的增强指令如下
' I3 V1 s( a, t/ k7 J9 N5 C  p, c$ X. @* |5 r4 }
 -~m messate-no.把邮箱中指定信息8 B* y4 r" B/ e6 I* y( Y2 }

. f/ z( i) B4 j; n1 v- O: x (message-no.)放到所编写的信息中# y% Z. X/ Z  {- o$ o/ k5 O( }& X

* Y0 t3 O; H! F. X4 n  b -~r filename读入指定文件(filename),送到当前信息中
- B5 [3 U9 \  R; U5 s9 Q+ r& C/ B& L* H; Y, \4 Y
 -~p察看信息中的当前内容9 a8 g# w, p" h6 u

; V! d$ s( d* D0 h, U; [9 Y6 c -~?求助
$ e1 t% i) b7 D# e# S' {2 h4 {
" [! N, t: M8 o3 c% G: t 为了方便mail通讯,系统管理员能够定义不同的特定单用户或组! p: h2 U% g0 ~! w% R
 别名,通过这些单个组、别名或名字,就可以把邮件信息发送给  [& y' U+ ^* O, e3 V8 b
 全组用户。发送给别名成员,可键入如下指令:
, F1 f/ S9 h( E, ?6 p  p( M6 S" j# \- \
 $mail aliasname7 e- O( z, W% X, U6 f7 U/ [9 i, v) t3 X

! [% u' o/ f  c; l! z8 g. z# j# K( I 如果要限制组员和其它用户的私人邮件的存取权限,可以使用
4 t& b# F+ N$ l- h, d6 S+ V' B! t chmod指令,例子如下:' C. W2 G9 L# O, ~: u$ q

) k- [" o& E, b  n/ \, d& E $chmod 600mbox
0 g, f$ S6 K) q2 I' O* Y
8 X/ y- R! r8 t7 @# C 在普通电子邮件提示处打入set,可以控制选项,改变读和发送邮: H, u: Q* k8 l# O& c/ |
 件,这些选项可以由系统管理员为用户自动建立,也可以自己修
1 w- r! }9 W' g+ {# B/ @ 改这些设置,例如:, D5 r. O9 L: r3 f" c

' b* e2 Z0 Z; r( c! Z% x' d set page〓10
( v3 Q! I3 h# T7 k5 [7 ]) c$ }5 W4 C6 W' _' {
 mailrc环境文件
& R1 r) E) f+ {! R& |) b5 s" j4 v
$ G& {7 v$ Z: z# o4 W7 v8 d mail的环境文件叫做mailrc,负责保存所要文件的永久记录。# X# E4 d* B6 N$ ?

& q% A  [- y! r" X 与其它环境文件一样,mailrc必需放在主目录中,它是正文文件,
9 I) I, U8 r$ v; d6 f1 `/ p4 S 包涵有效的mail指令,mailrc通常包括set指令和alias 定义。: l) b9 \/ m5 ?' D

' u. ?; I1 I6 f( c 不过,运行mail程序,倒不一定要有.mailrc文件。如要查看
' {& C8 B0 g( E" |& v6 A .mailrc,可以打入more .mailrc,下面是.mailrc的一个实例:# T( S' f8 d5 Q3 u2 Q

% n  H5 c5 D3 M& @ cd1 j5 ?. c, \& X' f% R& {( I$ H
( D7 E( k1 c: Z  W8 W; h$ W
 -在mail内,改变主目录nset autombox4 U% C8 T& X8 Z* i

; R7 p) s. [5 d; }* V0 C 删除自动把所读件转送到私人邮箱
/ |. Y& ^; b2 s  M1 Z2 K$ A7 u
3 O$ ]: [9 ^: d2 v set page〓20
$ Y+ c7 ~$ S* O& C, z; a" {. [" q' f( t! v$ x5 G
 -若信息大於二十行,用more显示
" K8 F: u0 ]2 Y( ?, s4 _1 C
/ n) U- _1 P9 E+ e7 `" G alias crew john wanda frank- z1 D" E+ a  O5 q
  Z& E* a) M0 G) K
 -发送给crew的邮件转发给表中列出的用户; C/ I  F1 h9 e8 m6 l6 y
; l* l9 n4 t$ r+ c" Y2 p, ^8 _
 set EDITOR〓/us/lib/word
/ ^2 h+ }) p6 A# b" Q5 W" m4 ~5 K" E, c% }
 -把word作为mail默认编辑unset chron
+ B' Y& H7 q& g, M2 o$ K- y: f
  r. P9 ~  ?" D* l! j9 G -显示当前最新邮件 上述的.mailrc例的□面,当打入$mail crew,6 Q0 h- x" }! x- R; o4 y
 就能够把邮件发送给john,wanda和frank。
# e2 Z& b+ J$ f0 C: M
3 t- P+ m( p; ?& M 监视mbox是默认设置,如果不想设置的话,应该使用unset9 H2 d* h/ S" ~! L/ {
 autombox,而当mbox的内容很快增长时,通常会删去旧信息。如0 F6 X" D1 ~7 y' `6 P! t
 果要读mbox中的邮件,可以使用如下指令:$mail -f mbox
/ ^4 }; f1 K  Y% u1 h
; S1 d5 a+ Q& S3 V, ]8 o# k: Q5 R' O</P>
作者: huashi3483    时间: 2004-9-27 15:17
<>第六讲:後援复制</P><>电脑系统内,数据可是相当重要的一环。贮存数据的方法,可以
5 n7 d1 R& \9 V- N$ z1 ~ 经软盘、硬盘或盒式带(Cartridge),盒式带通常为大量数据提
( ?4 P6 @3 R) _+ E# u! S7 j7 p 供後援(Backup)。
5 X* r, o1 }; y) o  s6 f) X' ^- G, Z4 k& d7 @
 复制目录
' w' E& G  m& S7 @
" K0 m) w1 }; u" m8 l) \8 ~ 在安装的文件系统中,把一个目录内容复制到另一个目录中,用
7 _4 C& [  {* u copy 指令:
) `' J) J* j! l( @
$ Q9 ?: L! l+ t4 s( Y  }! k8 A* n $copy source&gt; destination&gt;) T. ]' z6 R- d9 c
; H% w* c- I/ ?) V* B- n# ]
 #copy -mor source&gt; destination&gt;. s. O, Q8 g% p4 V. k8 Z# Y7 l  b
6 X, `  ]+ H6 e! W
 转换并复制文件' \+ n& A: O. r1 S- _8 _" |& b

" m5 |! h0 B7 g. q: @/ Q 使用 dd(c)指令,可以把一个文件转换成另一个文件,也可以选择( D7 a$ A% {% B& W$ |" B
 文件的一部份传输,在传输的数据中,也可以交换字节顺序。+ E/ j7 v6 V! {# U8 f6 G
3 l3 S( O2 v3 g, D$ X- a" n
 $dd if=/dev/fd0 of=/temp/save skip=5 count=86 bs=5k
# e1 a. u' {* `7 R, n. B" I  Q
7 Q+ q4 ~- i0 K' ]; x: d9 V 上面的指令〃/dev/fd0〃 是指电脑上的软盘,〃skip=n〃代表在- A' w9 [! y3 [& x
 复制到输出文件之前,跳过输入文件上的几个记录。〃bs=n〃则
# q! A8 C7 {& X 表示设置输入输出字节块长度,用 k 表示 1024 字节。〃count=n〃: W0 o" I* V7 j
 只复制输入记录的指定数。
* Y( J/ N0 {2 n% v2 Q4 R- a: k1 t8 ^+ Q3 p9 j, K; O9 Q
 同时,也可以利用 dd 指令检查归档(archive)情况,指令如下:8 O- L1 [1 I# O. h' x2 u& b
. Q. G: l# F: R# f* E2 `/ ~
 $dd if=dev/fd0 of=/dev/null bs=1k. q5 T& h' W6 M1 w- _; z0 K7 L
) |8 n; N6 u, S0 \& w
 1200+0 record read in+ S: C; S& J% \
, G3 A& {- }8 c3 x: P. y
 1200+0 record read out
1 E1 H, s. I* G! D0 r
! ?+ [" e. l/ N2 {$ P 归档文件:tar(c)
) e$ l  g/ I6 O+ Z" |& p- [7 Q4 q- G) I$ y0 q9 [! h8 Y1 q# U, {% f- A
 tar 是对非特权用户最易用和最可靠的实用程序(utility),从& C$ |0 _- Q$ a6 x9 {- v! R% R% B
 归档介质上保留和恢复文件,亦能从多文件归档中抽取单个文件。( o! M. e7 K6 c1 ^/ y$ g. w3 g: h
 tar 归档使用文件和目录的相对或绝对路径名。9 k6 f; E' G1 _, U; \9 _" @5 c
. m$ a$ @  l) D  @$ z
 打入 tar,即会显示所有变量选项;”cv”是创建归档;”cv#”" P  G* Z0 \3 N1 G
 用於来自 /etc/default/tar 的设备号 #;”rv”追加已有归档;”- C1 E, f7 N! j) S& I
 uv”更新在已有归档上的文件;”tv”显示归档内容表;”xv”- N- v+ L0 `" |, c
 从归档中抽取文件;”f”从指定文件中读入或写出;”L”使 tar' |  H% i8 M  b8 B$ e
 跟随符号连接继续追查下去,默认情况下则会忽略符号连接。
5 ^( g" p: ^$ q4 h9 d; g+ S3 I8 n8 r7 G2 y. ~
 譬如要归档指定文件,而复盖盘上的已有数据,指令如下:8 O* g+ G$ z, V* \; ]7 j( P  I

9 h8 ]9 R$ u( X! `; s $cd pub
% m0 J1 U( Z9 X, v1 p: I8 k  S1 S/ O  X9 W' e7 y  i
 $tar cv6 ascii greek
- y# G. G) P% w6 O) ~' O+ B! z* O: [& C% v5 ]$ |. a7 l2 ?
 volume end at 1199k, block factor=5k
* j3 S4 T5 D+ W, V
1 j/ @" C. f3 G seek=0k a ascii 3k
% S7 A# D) h  D5 @' x- e& ~3 [: Y/ ]7 J! N
 seek=3k a greek 1k
& z; e5 E9 T7 g2 j' ]; H, n# x
+ Z3 _: Y2 ?0 i- x: v 要列出 tar 归纳的内容:
2 b' p& t) q. c  }* M! V" }+ c7 o4 _% n
! {# z) }: [+ i5 n( e7 o" p* H $tar tv6
* P; d* a& P$ I  w! R* X- b( ]
 rw-r--r-- 2/22114 Jan 2 13:41 1996 ascii- y* @# p" n# @6 E

, U" F/ k( i5 d$ E9 f rw-r--r-- 2/2475 Jan 2 13:41 1996 greek; ^3 K9 b- B; ~0 n1 L; {1 V
  c7 u2 f- R% e, c* i
 创建 tar 归档,使用相对路径名,否则,恢复另一系统就会盖写' k9 @' y  C: d& _  S. \2 [
 其他系统的文件。
. Z& A( J/ L/ d
! j; j7 g, j. f* b& q #tar cv6 /etc/motd
8 J( N# O( G7 Q! l; e$ b
3 u) G$ }( {! h7 b8 N: s9 b3 ~ #cd /tmp2 a; D' O7 V' S* P9 G7 q" P
& o' y7 W2 P) v7 Q2 Q( S( s% h
 #tar xv6
( X8 Q9 z# a; S$ c  r9 y9 }& C
8 h3 k- P! L8 h, V0 E; M: q x /etc/motd, 943 bytes,2k5 K% S6 ^' k7 E$ v8 H" v

) Y6 y& E$ m. {. W" @$ T& h 归纳文件" T9 W. A, e; Z% G. A0 {

, t5 r3 [$ o/ A/ V# t+ e. L 当需要後援指定设备、後援空设备与使用匹配符的时候,就不能2 G2 h, ]. K: z7 ^8 [/ q
 使用操作容易的 tar,而需要转用比较复杂的 cpio,用以归纳文件。! L: I* N' w+ a/ `

2 X& O) J5 L; |1 F+ J4 p 譬如,需要选取文件建立归档,指令如下:% a- G  D1 K; u$ `
5 h7 N/ I% T9 X2 [2 C) N; c
 $find /u/bill -print| cpio -oB -O /dev/fd0
. ~( ?  {2 d" m- D2 {. x4 n
) n; x$ p8 B1 ~/ s2 X 20 blocks
# L4 s% v, I: K4 k2 _* n
  r) c7 o  ]" Q* u7 q& v: L0 Q 又例如,需要抽取 cpio 归档文件名时:- E; w( q$ [% ?- n

9 z( b- r0 m& a7 x# K' ]- S $cpio -idmuBv -I /dev/fd0  z1 D- M4 |9 B' w" R& F& h- E6 q
0 z1 [0 Z- K; n# J) G
 .profile
+ M; I) w* P5 g* H: O
0 h: I7 j5 `5 y2 e% L, D ascii
, ~9 X/ b$ h' ?2 E
; |1 k) r# O3 `5 _1 ^6 d' c eqnchar
* A) T7 w) s7 O- `
' L! M: X! ~+ N9 C5 W$ K. q greek! H* C3 b5 t0 H' S, j

! S) w0 K  Q& {; J 20 blocks0 U$ e( m1 G) O- A3 h' v
1 t- x  r* {: Z  [. ?) R/ Z
 cpio 主要选项为:% [: F5 B4 e/ f9 o* `. t

( U2 l# w6 y/ n* a  @8 e -v 显示工作
$ l7 {2 w, C* s
9 v% \! V( M2 N6 \$ j+ M9 ?- p0 M -i 读归档- \7 V8 X5 L. M) j1 g9 p

; }! g+ Q7 i% W/ H -o 写入归档! M& I  s" Y6 P6 O) C) Y9 y

# F8 e% ^# c/ W2 l$ a3 H# N- T -t 内容表0 k% [& n4 q- i4 ]2 @

2 v9 o( ^* z9 @2 l4 V3 X1 d -d 创建目录3 n3 A+ g, T# s

( U5 C7 [0 K+ i. K7 m  I5 z -m 保留原修改日期
1 B/ P2 y( r& z( W" Q4 Z. I! x
/ f  z7 O& j# Q# @3 o3 ^6 s -U 无条复制% m6 e+ U4 S" ^9 l% e; _, q! V

8 }. k/ m5 ~7 q# \ -B 分割因子置为 5k2 |8 W% v$ t! S; m; X) [1 h

: b6 k3 r: ?' |6 I" A -Cn 分割因子置为 n
  X8 L: g% G/ E6 e& a
$ b$ {* [! \2 j+ u  H: I -Kn 介质长度置为 n
8 |5 O/ {9 `6 ]5 {& j# x$ }' `1 ^( L6 Z7 q" q# k+ ~) B3 a
 後援复制, ?& W9 H1 T( K7 q" @: q
" O0 g) ^/ z7 W1 B
 後援就是要平衡运行一般後援的代价与损失数据的代价,确定要# d/ ]4 D2 [3 c
 归档的数据类,并确定要用何级实现,以及确定所要求磁带的盘
) |9 f: O% h" r8 \, e5 J/ z 数和带的容量,多久存储一次後援等等问题。
5 T  x2 T1 n# Y2 s; |: x3 F, U" O' F1 t. d! A% Y
 一般来说,後援复制可在 sysadminsh 或 scoadmin 执行。* m  H" R+ L( H! [) J
/ h+ n$ E2 G% y! J# N3 j9 K
 所谓增量後援(Incremental Backup Levels),就是只需要以上
' d2 d' {# c. N 次归档後发生改变的那部分数据後援。当实现调度後援时,在
1 o' g( W: p# m /usr/lib/sysadmin/last/中,将文件记录下来,可以透; u  {! t  ]# V. f
 过使用後援级来实现。2 w+ M' _% t% N6 c% x; Y
/ Z! n6 `/ {( t6 U
 後援级的 0 级就是後援文件系统上全部文件;1 级则後援以上次5 P6 j* c: D9 J% W: y$ ]3 K
 0 级後援以来改变的文件:2 级,後援以上次 0 级或 1 级後援以
/ ?0 g" K3 [) U- s: P 来改变的文件;3 级,後援以上级 0级、1 级或 2 级後援以後改变
; s9 ?, R' R" C4 D. g5 D 文件。
) V5 R$ [) C/ Q* q6 _5 w+ `  f; Y7 D* H. A* A+ n' P
 经定义後援工具後,後援调度(Backup Schedule)就可以更方便1 h3 b) R7 z# X: U& ~* L- O0 T
 地执行,配置档案则会被安置在 /usr/lib/sysadmin/schedule 中。
8 m; O, n4 K! \, e0 ^1 w4 s+ l
6 s* l4 l( j  b, `) L0 M2 w2 A 假若在紧急关头或特殊情况下,用户亦可以使用非调度放援,进
" t% V8 |' s6 [- t& [; d! N 行紧急後援。
6 q( v: ^& p" S: _+ ]+ t+ K/ m' ^& _* T2 V
</P>
作者: huashi3483    时间: 2004-9-27 15:18
<>第七讲:用户管理</P><>系统管理员的用户理工作包括:为系统中所有用户建立帐号;以
  N3 {# z  t- ~. T" [: F( A及当改变用户环境、口令与组别时,进行维护。' Z0 f0 a8 B& V6 q8 E

, M" u7 ]5 ~* K1 d/ \4 L分析用户需求
0 o9 y5 T0 V* p1 @8 W
' c# o4 z* @  P! `4 K每当需要增加用户时,系统管理员都会先分析用户需求,对每个
2 I* ]3 v8 t% v) n$ w帐号成分,通过使用默认选项来满足用户需求。要从sysadmsh中: Z1 s) q& u3 b% y& x
查看默认记帐选项时,可以使用以下选择。, {  k4 O3 x# s/ N
! i# W8 J' _5 M/ p) S5 s  A# P
Accounts□□〉Defaults
9 H2 w% q: n; [1 g! e- g- y) l4 \  a+ g1 O$ R* R# t, W, W& G
或scoadmin□□〉Account Manager' d, j" w) v+ f4 c$ C

9 l, W. o  a; j: T当建立帐号时,评估用户需求,查看是否需要修改记帐成分。若5 @0 y0 G2 A1 P8 ]
用户仅用一个应用程序,编辑用户的.profile文件,在用户注册
1 t% u- b) p: I2 h时,每次均执行此文件。
2 j" q+ t# o" ?* i7 G: ~/ X; k8 F6 j/ p5 o
默认值建立用户帐号(Default Parameter)- e! H: S  u0 h7 ^! t3 A
( o( U  g; f1 X
首先,打入用户注册名,小写与三至八个字符;填写注解栏时,7 c7 T9 ~) m; d* q& \: Y5 t& {
应包含标识信息,如用户全名、单位、电话号码等。另外,指出
0 n' T- }: q9 }  M0 v9 Y/ O是否愿意用系统默认方式建立帐号,抑或对帐号修改默认值,若
5 T( g  R( a, L8 s) `8 N+ [0 j7 E使用默认方法,则选No。确定你要增加的用户後,给出创建後的
- D( V! h" P+ K2 {文件和目录,再执行/tcb/lib/useshell指令,建立用户帐号,5 E( y3 c3 |7 t9 o; C
不过,在UNIX系统指令中,要通过sysadmsh或scoadmin才能运行8 j' [, X% B- e% w, c# e, E
此指令。
& q9 b0 G4 t, G* L
1 p- v3 m' G2 F: n6 m若决定改变用户记帐默认方式,则在建立帐号时选Yes,那麽就需; b. _" n3 r1 k% Q% A3 U5 E: Y
要填写每栏,在合适位置上,按〈F3〉或〈Esc〉,下面是关於非
# w$ \) k" F8 K  \3 {默认的设定。
" g! u# ~* N2 {3 l7 E2 }# e
3 y1 E1 {$ }! ?4 a& F指定用户组. F+ g2 C, O8 Z' x& z, u
/ A, B; Y4 D7 h
每个用户必须至少属於一个组。默认情况下,用户注册组是group。& ]$ a! U: E2 p8 O! B6 r9 p. A
在一个组内还包括读、写和执行文件的权限,附加用户权限给那
( H7 o% y( N; \5 ?+ U/ Q个组,作为指定组员的存取权限集。如要改变成组别,可用newgrp(
" o; f- b, C1 v' d6 R6 }c)指令。& A/ |4 O  E2 [( [
7 B! H) V8 \7 ^1 i. O! R: w
增加用户时,可以创建一个新组,或附加到一个已存在的组内。( x6 c6 t2 [7 L
有关组别的信息则存放在/etc/group中。凡增加用户创建新组+ z  C4 t! E0 s8 d+ T9 Z# |4 Y# {
时,组名会自动递加到/etc/group文件内。, E: n  n3 g! C* A' e

- `$ U3 n5 P4 J/ Q" i5 J组ID能够由系统产生或人工指定,但必须在100到60,000范围内,7 A% k4 M, ^' b; O$ ~2 N
100号以下的ID留给子系统和其他默认组用。当管理一个网络系统
- _. V# X# z! R8 x# @( q: z时,常需要指定GID(Group ID,组ID),避免混同各网络结点,
2 c1 F7 O; z6 e9 D2 {, A$ G所以,最好先选用默认组ID。: @( P! W3 O- [' H" E9 ]3 Y9 E

1 p/ R! n: O% T& E2 v$ p) `指定逻辑shell
8 |. r( x' i4 t* s3 V
& n& v0 e# K) W( M要知道用户打算选用哪个shell工作,SCO系统可选用以下几种不
2 h7 x, F; G. C! y5 d( y同的shell工作:
! y. L! K; @* Y8 |) y* d% N9 r9 O2 b' N! i% e( y, S
csh: C shell。) m- u" U; n) ?% ]  _# G
5 w! E8 `- m: d  N, K2 V1 F" c
ksh:Korn shell,组合了Bourne shell和C shell的特点以及指6 x9 f8 Y! K% S# P
令行编辑。
9 ?+ J, j+ ?9 K" N
7 i4 G# R! c6 ~+ \rksh:加限制的Korn shell。9 N' |0 @; h$ t7 s# z$ c6 x. v

/ |) e* {' y# i) srsh:加限制的Bourne shell。* ~( o) W% H- p
7 G. ?; B( p( q& x* @: P
scosh:SCO shell(图型化桌面)。
& w& S/ K- v0 ^7 e- h; s% ^$ x! L/ D# n% ~0 Q, q; ]
sh:Bourne shell。7 a% s% i, k1 E- j: |6 s

! c. f5 q; L, Q6 w3 r; vuucp:UNIX到UNIX拷贝功能,它本身不是shell,而是成功注2 B1 X7 ^$ |/ N( D, N# f3 b5 X8 F9 @
册後运行的程序。
( |$ ^9 g$ j+ m# Y" C6 D. R; @. N1 E
默认shell在/etc/default/authsh中指定,从/usr/lib/! E6 t# X7 b8 K+ y+ ^2 _5 S
mkuser目录结构内文件中,取到可采用的注册shell表。4 L- \! B: q8 {0 t$ _- J. m* R
- A( Q( S/ l9 F- l2 a$ }* Q
指定主目录( C1 l3 U. V; q6 [3 f1 w8 s0 y

7 {7 Z/ }) O2 ^- I* I0 @默认主目录在/etc/default/authsh中定义,从/usr/lib/
. T2 i* i& r' I$ G9 `* H6 Zmkuser/homepaths文件中,取到可采用主目录的选择。以及为用
8 f; ^" [8 l) K: I' N户创建一个新的主目录。
7 D) f- E# L8 T$ U! O% k6 Z2 d+ d  S) @7 z
指定用户ID(UID)必须是在200到60000范围内,指定在/etc/
; r* e( {/ A( v$ X5 x# m/ ]default/authsh文件中,UID必须是独一无二的,防止在网络上
$ U: Z' t4 F4 X9 J+ @有相同的UID,而且,UID一旦设置,永不改变。: j9 R9 S% j3 Y8 S; H, i. P) F; o
3 m2 S2 y' Z: ^  d6 t1 k8 c/ a) U: E
指定用户类. n5 u! B$ {/ G+ @  L

4 Q2 o. v4 @7 N: i+ A: J另外,还需要为用户设立他们的类别,种类如下:
! ~" P$ s8 ^0 y  ~8 j& m! H. X' F( g, h7 o
-individual:个人记帐类。- i6 A6 s, |; O6 C; V3 A1 o
8 K& `& N( m: D" ^' t  p/ @/ v
-pseudo-usr:为各子系统任务设置帐号,注册时个人不应给3 @7 A5 |7 B* _8 W* I# ?0 d" H% L; y
pseudo□usr记帐类,Operator、security officer和3 P) I! o& l: e. K
administrator记帐类是pseudo□usr的其他名字。
8 `1 |; ^& G' j6 w8 _+ T# ]2 O" D1 o' t/ u) m
-不能设置superuser和retired记帐类。
, G* X; r6 T8 q6 X2 J8 w( L. x* Y/ @7 D3 j3 v
如果要能使用su(C)(所变用户身分命令),该用户必需被指定
$ r* p1 C" q# i; a. U* S. d$ w为用户类individual,才能取用此域,为了用su另外记帐,用户
8 M' a9 h+ Q, A/ ]+ E" W必须有su授权,知道帐号口令。low、traditional和improved为# k' E9 K+ H% e9 x; X
安全默认值,被赋予su授权。在high 安全默认值下,则不赋予su授
; I6 D  P) x+ h! X) m7 F权。) g, m" x8 R# _' ]0 F
( x* P3 b9 U3 J  U4 W9 f! X* \
赋予用户被始口令
1 K9 @0 C# U, }( b' ?; B8 i# J$ @% Q( ]6 q
当创建新用户帐号时,就需要为用户设立或不选择不设立初始口
/ ~. f/ U; M5 L9 k# b1 y! H令。4 i! g9 j# q% s7 w' Q

# Z: s" w: w% C-New:现在赋予口令,用户在注册时必需打入这个口令。
" |' }- @5 r/ X6 e9 E& n! H! }0 Y% w
-Later:现在不赋予口令,在赋予口令前,用户不能注册。0 X) l7 D+ ^) L7 R2 n5 _1 j
! S0 G8 k0 _5 d' m' ~3 d
-Blank:赋予空口令,用户能注册,但在注册时,强迫用户给出; Z0 B# A* ?# o" A8 s
一个口令。/ n0 k6 ?4 O( o  ?- o- j2 O/ L) s
$ m( |5 Z. D# D( @
-Remove:不赋予口令,用户能不用口令注册。
8 u' P% m: Z( x% O; }$ a8 ?+ ^1 T' ~' p7 k0 _; }
-Force Password Change:决定在用户首次注册时是否要用户强
$ K+ E) \; ^$ O' Y; S2 J迫改变口令。+ U; ]' V- D2 o, p: t
( d1 p% }# }: @7 }( N* x
在high安全性下,必须为每个用户产生一个口令。若赋予初始口
4 ^' ?  `. V7 w- a3 `# u令,就应该告诉用户他的口令,希望他在首次注册时,立即修改$ ^+ f3 M  t. ^, K: Y  D) c# {
这个口令,修改口令时,不要选用别人能够轻易猜出来的口令,) ]+ R7 ]' x- X3 x7 @/ [
如姓名或生日日期等,最好在口令中,加有一个非字符。) }! S3 }5 q' N5 J; m6 F$ U+ b

1 V: }4 O* _8 a+ A8 m# g0 Y系统安全保护:修改用户默认帐号; P* f. K; |$ w. l, K2 ~4 X% J( B4 N
1 l/ r2 f+ ^* \, F3 M. o6 b# t
为了防止被人滥用别人的用户帐号注册进入系统内,保障系统的
* ?% C& g$ v/ C. R  U3 A) `& g完整性,系统管理员需要修改一些用户的默认帐号,以及检查用  X" d$ g  w  o
户的注册情况。) @) S1 F$ E+ }! F6 I0 J" Z

( g% {4 E  G: g8 w9 d2 m! ~( r首先,管理员会设定不成功注册最大次数,计算使用不正确口令
3 S5 M; }6 N1 _! \+ O注册的次数;当不成功注册超过最大次数,就设定加锁用户帐号3 E/ G8 W: _- l8 l3 P& T
和终端。如果在完成注册时间之内,仍未能设置口令,也可加锁! ~2 z; ]! j( G% e4 u) H
用户的系统,甚至根户用也一样。在成功注册後,希望享受优先6 J8 o1 h" _5 H8 Z5 [7 e
CPU调度,则可以用nice(C)值,给用户she ll及由它启动的进  O2 ?/ }3 M# p
程,以调整优先级。设定值会存放在/etc/system/default中。/ ~. P. `  X! Y

# w( I; U: e. z; _8 G: B2 ]1 |</P>
作者: huashi3483    时间: 2004-9-27 15:19
<>第八讲:监视进程管理</P><>程序是一个可执行文件(Process)是正在运行程序一个实例。+ G0 n1 P( g% T
SCO UNIX System V支持许多进程同时运行,各种系统通过调
$ k/ ?- h* v$ z6 x8 E用可用进程去创建新进程,与其他进程通讯,以及终止其他进程。# p; v- f! Q# R  [8 A  b
. K: u/ G8 \/ Z& M3 h3 j
进程族系
" H# n7 Q1 Q9 U/ E" k5 n+ V. c2 L4 u7 c$ S$ b) W# ^; v
新进程创建时,内核会分配一个进程标识号(PID)给它,并对
1 b6 h. e3 u4 c0 n; s. j, h进程表中添加说明讯息。
! z# o" w' ?1 ?1 A
! O: G( g; _' ^, d) `由一个进程创建另一新进程,老进程为父进程,新进程为子进程。$ N, I3 L7 b' L1 N1 a+ H) a
用户Shell执行的大多数指令又是它的子进程,子进程则运行指令。% c$ h4 Z! ?6 n
而父进程允许有多个子进程来实现任务等,待子进程完成。一个
3 M2 }: \' \  `父进程可以有多个子进程,但是,一个子进程只有一个父进程。
! N! T5 }# O$ |* n8 b1 X% O
; k. e' M' R; R% R前台及後台进程
/ @+ R0 c0 V8 T6 _! W. {6 q% j- U( B% [% C: y  X/ h$ L, H5 W
在Shell提示处打入指令後,创建一子进程运行命令,Shell等待0 a2 X& d: X2 c" m2 p' N; @8 E
命令退出,然回到对用户提出提示符,这道指令与Shell同步运行,  U& h( r% k2 |* y! w$ U
即在前台运行。
% q/ o" l/ h' w  Q" V7 h- |
4 o( D& i) ~+ H" k6 x5 R, d在Shell提示 处打入的指令,若随一个&amp;,Shell创建的子进程运行
9 V3 D6 C& t, i7 C此指令,但不等待指令退出,而直接返回到对用户提出提示。这$ }7 E, A9 `  p/ Q. u0 ?
道指令与Shell同步运行,即在台运行。
7 L* G4 Q' }; b: S8 \2 |) J! k+ ?
$ sleep 10 &amp;
+ d% U1 o5 Q- N0 |- j. p7 E% O! C8 c$ t9 p5 ]' M9 N: b$ f. M) C* g  U
精灵进程
1 }& |% n& c6 _+ `
5 V" ]+ I0 s4 D* s4 f精灵进程是一个进程,它与终端和用户都无联系,也有人喜欢称0 G" ]9 [# w! r( p) Q. h# t
他为管家婆。精灵完成一些周期性的事,平时它睡眠。用ps (C)' V7 b5 `& F1 Y8 ^
指令可看到精灵,它在tty区域中带有问号(?)。
7 C$ H; o1 c. G9 M8 i4 i% d' w) p/ j5 t# ~% |$ D) B2 T
-Sched:PID 0,它完成进程的程序在存储局和盘交换局之间交
' l* w7 C& z* K4 K! k  p# Q换工作。
$ b: n0 y2 `$ Q' T/ D1 c* j3 d* Z% p0 b4 O$ c, X/ T6 |7 o
-init:PID 1,系统自动建的第一用户进程,它负责初始化引
8 N! z# d0 y6 [( D4 ?8 C! t! O导和注册过程,也就是所有非系统进程的祖先。它会在终端口上,1 I" U- T) d( P# S# z
启动getty (M)进程。
5 R8 C2 @  I) A1 |" F7 [5 f: V4 K, U
-vhand:PID 2,页面精灵,它频繁地把储页面内容送往交换区。
4 S  T  k9 N4 V% n4 `9 M+ x7 g; Q0 p' Y  F+ s. H
-bdfush:PID 3,定期刷新高速缓到盘(默认情况,每13秒刷* v' K4 q4 `, L  Q, M. U$ h
新一次)
9 ?. ?; s* [, f' U$ l1 _4 c2 s8 t) ?# T; v# V8 B- p, }8 p3 a
-logger:归档系统出错讯息。* L0 k' n+ X! a" h' i$ ^5 S

3 b7 S3 E3 L) E% v-cron:在调度时运行作业。
0 m" Y2 ^- e8 u5 f; m3 @3 d% [! W) ~; n# W, ^+ U* s& m: e, g
-Ipsched:脱机打印精灵。4 m( Z0 z8 Q, \, C% C5 x
7 m! {" s# j/ ]" O
孩儿进程
+ {2 g0 ]8 r; n5 N0 I+ r
( m, Z$ }3 B5 G孤儿进程在父进程终止仍旧活动,由init (M)认它为乾儿子。0 X5 G0 G( ^$ ]# v' l5 ~% v# r8 E' W
僵□进程则是进程已终止,但进程还未撤消,因为父进程并未「
  S7 |6 D+ M7 k4 X. `3 q等待」它,进程表仍保留著这□体,进程表的□体是僵□进程所( ]0 ^# E  d, d# n1 J+ P# W
消耗的资源。2 C. U0 O* F* h  a0 a3 W" ~
# f" i) g1 r  n, D: s
随著新进程的创建,出现大量□体,但总数是有限制的,因此影
& n; U4 R' i% Z$ M3 ^! I  J响新进程的产生。而孩儿进程与僵□进程不同,并不会影响系统4 ]+ a. p% v" o/ {/ p
效率。
- [& p' l% e6 u! \9 w, o, S6 Z. ~- L. O: u/ {% l: |/ p
通常,在父进程死去时,才会移去僵□进程。若他们还未移去,9 E6 X4 f: y$ ?1 E9 F  W2 G9 l3 d9 M
应由init (M)继承并移去它。
9 K; q& H. |* l4 r+ a
( ]1 Y: O7 g. i4 L* K0 |监视进程
6 q; N* ]; v  E) o" U3 x$ Q9 R4 X9 f5 i5 ?  {% \
监视进程监注册户的数量,用以记系统的性能;亦会监视用户进) r0 U- T% u" ^4 H6 ]( C" F( H3 u
程,包括挂起进程;以及装载均值等系统性能问题。
# Z, _2 |1 k& A/ f; n* d2 u' k/ |8 T( c) q! b+ c
要显示进程信息,可以利ps (C)指令报告,进程状态。在默认
( q4 b2 `" T3 F6 z# {, q9 P情况下,仅会报告与当前终端有联系的有关讯息。若用户没有root权8 s# m4 S9 I2 p3 }# ^
限,ps仅限以说明运行进程,报告用户的进程讯息。若用户有root权
& j, q: \! ~0 i6 F9 f' \) J% x  K限,则会报告在所有终端上所有用户的进程讯息。2 F' i. O5 M" v
" n" j$ g5 Q/ ]. @5 i8 u9 J3 P
$ ps-u joana
) n6 ?$ o; C7 e; s4 M2 B5 \4 A
5 B( [  B# J  v' P  D2 Z: m--u 〈username〉选项显示指定用户的讯息。
; G/ \# a" m3 e. u" a6 r/ A) p7 z$ O* y0 j; j
--t 〈ttynamt〉选项显示指定终端有关的进程讯息。
1 z1 U; O- H+ W) J# p% U/ e8 o& C5 l
而ps -elf指令则提供了需有F、S、C、PRI、NI、TIME字段的
' |. T: N( \) z* h! L$ X使用讯息。
. Z3 c/ \! J2 a" C3 z8 \* G  A  c2 O% L' i. F8 i
-F是标记,指示进程位置,20表示在内存,0表示交换在盘上,$ Z# t& B; O. w: m0 c
31是系统进程。$ r) _$ o2 m* |* ^& X& c

  i1 G; R7 s: C( f7 y% p7 |-S是状态讯息,指示进程状态,睡眠还是正在运行。7 v! k: m* M+ ~; e- I1 [
+ v: @$ z$ J, U8 r  m2 P
-C是进程占有CPU的百分率) L. Y% i# @, L7 {) K2 Z( x

/ r/ W* ~% w: }( B-TIME是花费CPU的总时间。) `* E4 T  n5 D- N- q) {; v3 w1 g
% H- Z& f! _5 H$ g
-PRI是进程当前优先数6 }& s" ]" l0 X( t1 b
* u1 I! p" v# t) P" W3 ~/ `
-NI是进程的nice (ADM)菜单
. I+ u: I7 h  V) R9 [0 \( S7 p5 w. M1 G, x
如何创建进程
) s6 k+ d6 b8 u0 s9 z5 J& s2 c
& g2 S# }0 a: Q  W7 g5 `当进程分岔一个子进程,自己就会进入睡眠状态。开始时,子进
) u7 g1 [' F2 a% |- |# L程运行父进程的同一程序,由内核分配一个新的PID。当子进程5 k5 z9 e/ i; C4 j+ @7 E5 q
再去执行新的程序,保持新分配的PDI,新程序就会替代子进程% J% @! I' X& I0 J+ p2 n) w( X
的原先程序。
9 J( G! ~( a, t$ y) T/ ~% L% U5 ~1 u: w
当子进程完成後,内核会把它从系统中移去,再唤醒父进程,子
( a- w  C, n9 n# D# J6 S进程就会退出。& l: Q& R2 B3 v: `

9 C3 O( a" |6 F" Y! Z监视系统装载9 i1 J3 ]5 Q0 L1 O
; b1 A. N' `$ M0 G
uptime(C)指令显示装载均值(一分钟、五分钟和十五分钟),0 [7 h' s9 e, a4 @% [
即在预定时间上,排队运行进程的平均数:$uptime
- X; }, i& _0 K, A) I( _: n3 s4 z( z
W(C)指令产生如uptime(C)一样的装载均值讯息,并显示谁在; C' P" n+ v( y: W6 ~3 \
系统上做甚麽,若用户拥有root权限,W报告所有用户的有关讯 息。! e& {1 Q1 H  S' o3 |
若没有 ,仅显示与用户进程有关竹的讯息。# j" I( G1 T7 M1 s3 t: ~3 s

) D2 s+ Y0 L& X+ UPCPU(Process CPU,进程CPU时间 )显示某道特定指令已运; m+ W/ K8 f8 S! t. p8 j) V- c  \( ]
行多久了。对控制不了的进程,这种检查是很有用的。JCPU(
1 h- D# f3 g0 i6 ]4 dJoint CPU,连合CPI时间),显示一个终端所涉的所有进程的
' j) }$ Q4 L0 E8 T6 O8 A总时间。
8 M+ a. P1 ~9 W1 W+ u* K& U! Y! w% g, Z. p7 O8 v' e: N% W$ n$ O/ C
sar (ADM)指令是一个系统活动报告程序,显示系统资源累积
! z" R& R5 I" M# p, ?利用率。为指示系统瓶颈口(Bottleneck),sar 是非常好的实5 G1 v2 f- M. g+ W
用程序,指令语法如下:$sar〔-option〕 〔/ C: c# W0 Z, w1 F+ Z
sample-interval-samples〕
- p6 l+ H9 d) S4 C& _% v* S  t3 ~* C- ~' j
例如:$sar-u120; Y* I1 U1 B1 c! H; ^0 c

4 T* v! I7 u: U' G% T3 G  b9 d( t, w-u选项显示CPU利用情况。如果%idle一致地低,使用效能是上升,4 Y( O' l# j) Z- B0 _
不过,运行的进程偷不到未用的CPU周期。1 P1 |  g8 _7 d! f
8 u* J. P) F/ O7 h/ l6 D
又例如使用-q选项显示进程吞吐量。假若%swpocc大於20,就发生8 d8 r" N0 u7 n5 p7 T- n. n
交换(Swapping),可以使用大内存能减少交换 /请负活动。
. A4 }( N1 F: P' q/ |+ {% u* J$ n; Y% g9 _
</P>
作者: huashi3483    时间: 2004-9-27 15:20
<>第九讲:管理进程</P><>用低优先级运行进程
* O2 e* f. B6 w5 O, o5 ~4 f* i6 b9 u0 Y5 g/ ~# o( U
 nice(C)指令用於以较低的调度优先级执行命令,每个进程都有, p' S" t' _2 p! e8 @8 g
 一个 nice 值,用於计算它的优先级。nice 值在 0 到 39 范围内,
6 C8 X% F5 j" f9 @! @5 d 高值获得低优先级,不给实参的默认情况是 nice 值 20。超级用户* r8 R( y* @1 V& C+ T* [
 可指定负值,以提高优先级。
' p/ |) a9 M( }; D- i9 V8 H6 Q) d" y9 o. D
 在注销进程後进程继续执行
) M8 d$ |! L' y
/ x$ f, U  l8 _6 ?- `% M 後台启动的进程,默认情况下,当注销後就不再存在,但是,可
. [6 e$ y5 p; v- e 以使用 nohup(c)指令,让进程不受挂起和注销影响,得以继续
) c6 m8 R/ }. ~* H 运行,例如:
+ u* i4 B9 A  ~1 M+ u' _
8 c; \4 U, r: g# v( V0 l; F- [ $ nohup sort bigfile&gt;sortfile &amp;
/ e3 P+ X" o- r7 \1 {% K; N4 S1 N/ d2 c9 R6 ~8 a6 E
 4567. Q6 z0 ^6 e9 {  g& U5 `8 U

2 i8 h5 E& a& ~& W4 a6 n $ exit6 L- z2 _* X+ `" h1 l$ u
: d$ X! m- M3 B3 ^- E7 l: m
 当用户注销时,用户未用输出改向,输出将送到当前目录下的
$ |( \) c& \7 g: A  R: U0 G nohup.out 文件中,如果当前目录不可写,则输出改向到
4 Q4 }6 c5 a, x" |! N4 E $HOME/nohup.out。
1 \% |$ p) A2 w5 I! Y0 j+ ^6 s+ E7 V, P+ R
 重新启动安全级精灵进程+ h- c8 g0 q8 p/ N# s" p

" Y9 J4 x, v9 ^5 D 根据 C2 安全级要求,某些精灵进程用 LUID (Login User
9 W$ g* X1 |/ S Identifier)标记运行,如此只能用 sd(ADM)实用程序重新启
% Y, o' Z& z# _( F 动他们。
, M% W" [4 I+ \- z# h4 E7 \1 y
" R* \4 a9 C) z( Q5 u2 Q% e# n+ ^8 G 如果 LUID 限制有效的话(高安全级),只能用 sd(ADM),例
" Q7 n' m! q  D* X9 T+ n! a 如 cron(C)这样的精灵,在高安全级下要 sd 重新启动它。" C+ I! e* x1 Y" h. l! e. }0 n# H
4 m+ s4 g8 K$ Q3 x
 进程终止实用程序! ?, N  |6 c. E4 Y. ]& S; d. R
3 C! V# d/ w0 Y( W
 需要终止实用程序时,可以通过发信息给进程,使它自杀,通常
' k; s- ~4 j2 Z" C& S 会用在终止一些已挂起的或是运行的进程。
  d  o3 _/ L4 A: I! v2 I& L) r5 _. i# u! M4 D
 语法如下:
# c- M) C) j6 g) a# M* `' U
2 a) P/ D* k; ~3 {9 _; J! ? $ kill [-signal]. Z  H$ r( o- X7 \4 w! R
! M5 W5 }. i" e# L
 例如# E+ v% T6 B4 K1 U/ I% J

1 C- }! f$ C$ C7 \% r' e $ kill 4411
+ X5 A# a" E- k' K" \  n# R! Z& k. s" T% n4 R
 4411:terminated7 L3 [/ u; }. [, ^4 X0 W
, N( B1 }; G0 d. S
 这样,只能终止运行优先级大於 25 的进程,小於 25 优先级的进
, r: w; r0 Q! u 程只能在重新引导系统中撤注它。
" j4 v+ T! m2 D! b$ ~+ }3 ]  X6 J0 ~. ?3 Z+ ^2 U, N) l6 @
 调度单个作业执行% c3 b2 p! J7 J% @

" w* \# |; H! x$ K' G at(C)指令使得在某指定时间执行一组命令一次,主要用於在系统5 f. i' ]! @7 e
 活动较少的情况下,在预定时限(例如在半夜後或每日固定时间)
5 F* U9 R2 b; A, ]) S6 T7 o 内运行指令。
: ?; L) G$ t: {2 n1 }8 O5 R9 l. V; J, ]$ u! [# r# Z  e. I7 t5 E
 要重新定向,可以使用标准输入,或可文件输入;在打入完整的
* I. o. h! |3 j$ W5 g5 m at 指令後,就会显示出将要运行的作业号与时间。5 }" R4 W: K* D; Q9 T# F! E
0 N. }5 C& z* Z: p
 语法如下:
$ d- F6 P' f6 n0 M' e4 w; n: J( C3 e$ o
 $ at time [date] [increment] &lt; [filename]" w+ t. E. @7 b! z) m2 ]% h  Z
  U3 @# q% r- s# ?
 任何用户都能运行一个 at 作业,但必须给予授权。
) V0 X- T, J/ u
* v! {( }3 @6 E9 ?* [. b/ @! J 指定单个作业调度时间
( _' v) I8 p% Z  r
$ V9 w# ~6 v' F% S 时间格式为 hr:min 或 min,hr ,用 a.m 或 p.m 指定上午或下午,5 o8 E% {& h: |8 B# Y; ]4 _+ X+ t
 有效时间包括 no on,midnight 和 now,指定日期则用「月日* G* U  C  Y" O& e3 M$ B
 〔年〕」格式,例如 Feb14。一星期那一天也可用 monday、" x9 c& F, {8 Y# m2 m
 mon、today 或 tomorrow 代替。; ^+ J) Z: l" @3 V, \
# U* b4 _& B0 P* [9 m- J9 V  q
 .at 指令从标准输入中,读入打算在以後某一时刻所执行的命令:
+ L2 }4 m6 y  x4 _: K. U5 {9 q
/ d5 W7 U  j" ], C/ r $ at 14:00 Jan5 F& u: {6 M; O
  T4 u5 O! X( C8 m  ?. j
 sort /u/user1/file
' q  C8 }7 ]; l4 S
9 L* V$ B7 ^$ F8 `: @- ` /u/user1/sort
. z' U4 r# i  a8 [
# N  O# N* b) C1 y8 r+ W+ \ ctrl&gt;d1 h+ O! t6 ?6 t; }

! m: S+ U8 I0 a) I# k6 d( ^) X job 61202778.a at Thu Jan 4 14:00:00 1996. m) ~2 Y4 V- z3 x9 S; y

4 l2 T4 a. @* @  S) s4 Q0 w 记著使用时,要用全路径名指定文件。指令输出以电子邮件发送
8 D$ s3 V3 C- F5 u8 B0 j" Z 给用户,也可输出改向到文件或终端。0 v8 W$ V; t& J" C+ x' k
% ~* y8 \7 x$ k: h! L# I! h, \
 列出单个调度作业
: [1 _' t9 M7 q$ D3 b! C5 G  N2 d6 ~; T
 使用命令
' s$ T3 Q0 s# L1 L2 `, T: ~: @* z
- M: ^- w5 z! R0 Y $ at -17 ~+ a) g+ j' Y, B7 H% r

. H! D4 u% j2 W# ]- P& V job 612027780.a at Wed Jan 24 08:43:00 1996
0 k5 p; W. `& k# |0 v# {& H+ W+ q2 n. x7 ^& K7 s" t) p
 job 612027900.a at Wed Jan 24 08:43:00 1996* ]- [  y2 M* B# }
- R: Q/ U! _3 }) }$ H4 S' [
 若指定 jod_id,一般用户会得到一张自己所有作业的表,根用户
4 p: q4 t- a, O  I  Z 则能取得全部作业的表。& W" ~8 M+ l" }' ]
+ Q. `; {  e4 A% T/ A
 撤消单个调度作业
, Q0 ?) h- ^  `$ j( g' K/ B; T# V& t
 使用以下指令撤消作业:# s! t& ~1 H, u3 X3 c- r
) i/ O8 r) Q0 M; i" @! {
 $ at -r
1 A3 C9 m" B) @8 a+ X* W" N, N2 }
+ E- P9 \/ m% { 可以使用匹配符撤销多个作业。at 的作业存放在7 o2 G8 j0 y9 k1 l6 L1 u
 usr/spool/cron/atjobs
( d% ]& K7 [% m% c8 ?% ]
: m, a$ \6 J, }( M7 p 在一般数据库上调度作业
: H# n2 L5 J0 I8 s
7 i' j4 n! S9 j% `- p. F) n 用 crontab (C)指令,从指定文件或标准输入拷贝或编辑成用户
( v  g" p9 [+ w5 x& e 的 crontab 文件,该文规定了在指定日期和时间调度运行一些指
. z( f2 Z- }6 g/ ?1 J" H 令。
' I! g: h9 L+ ?% T) @& k5 W' J5 [" ?( S( D, ~
 crontab 指令提供了对 cron 系统精灵要执行的作业,清理 /tmp ,& m/ l5 r8 Y, r" H: @
 撤销在一般数据上日记文件或不想要的文件,以及检查空间,邮
* b  p1 O8 F2 a* a6 q 寄警告予用户等。/ B; E' C0 y8 K

6 F# W, `+ {+ d9 X /usr/lib/cron/cron.allow 文件列出了能使用 cron 的用户,# j8 E6 n. a$ C7 }; L* H# \
 /usr/lib/cron/cron.deny 文件列出了拒绝存取 cron 的用户,仅
% H/ T2 \0 a+ U$ \. s 当 cron.allow 文件不存在时,cron.deny 文件才起作用。. p/ t  ~: L$ b0 I+ L, [
2 z6 ?$ g2 n/ y
 指定作业及其调度时间
- K* {5 D1 \3 ]3 ]5 e
5 Y3 Z( O3 _* E 作业可能是单个指令或包含多道指令的 shell 脚本,指令输出邮
7 e6 k8 |4 T# i/ r. t. k. ] 寄给用户,也可输出改向到文件或终端。在文件中打入作业及运+ T% s# n5 d5 a# ]0 }
 行时间,以运行此作业。文件可取任何名字,但是,不允许包括
3 R! e- e  [6 |8 P$ ^/ s- \3 V 首尾部和空白行,而且,最好取 .cronfile ,这种取名反映其功
  l, O0 ~3 `% g- K 能,易记易理解。.cronfile 文件可用正文编辑或 vi 创建。
' E9 @- F6 Z) \
4 ?" B7 \# s7 T$ d7 c% Z0 ~ 每个用户仅提供一个 .cronfile文件,每当执行 crontab 指令时,
2 n+ [8 g2 Y1 ~! O) J 新文件会盖写原先文件。编辑已存在的 .cronfile 文件,增加或
# n% B) [( z, f  K1 G' i 修改一个作业,然後用 crontab 重新提交 .cronfile 。而每个用& d7 q- r& z% T5 Q5 c3 N
 户的登记项会存放在/usr/spool/crontabs/。
& ]% B: T3 A# `  D2 c7 J7 R
: d3 {; C& d3 ?6 z1 F! r4 U2 x 列出或修改 cron 作业
4 R6 {, g3 C$ w! m* e* T
1 d. k. Y1 r2 v+ l) I6 t) n) Y5 z 要列出当前提供的 cron 作业,可以打入:! j) I# x2 ~! L; t3 d  D

7 T4 {+ G; I, `) N$ {' C $ crontab -1# Y; W, R# v* ]7 {) ~

0 {1 I4 o$ s  k; f9 {/ H1 R 修改 cron 项,使用指令:
1 `, t, H: g. j7 z/ ?0 {! Q- r# a! U9 P! R) q
 $ crontab -1 &gt;.cronfile
1 M% i1 I; Q( }7 t/ q  P# S2 m1 V; r
 $ vi .cronfile7 I% c$ Q8 ?0 _

9 q# @  d3 `2 t' T+ D $ crontab .cronfile8 c1 b$ x+ a- T( o; U( q

: m# b' g1 }' j7 A! o 如要撤销 cron 作业,则打入:4 v, B( T7 {4 K. t8 i) b7 j, n
) k* x# T& A: S+ [* P# D% {
 $ crontab -r
6 h' R2 U# O( x' F) d' `2 z: ]</P>
作者: huashi3483    时间: 2004-9-27 15:20
<>第十讲:打印管理</P><>打印假脱机(Spooler)程序在系统引导时自动启动,负责打印服: l1 ]& d/ {+ |  Y3 s
务的安装、配置和管理,在指定打印机上,将用户打印请求进行. m% U+ U6 r- U$ ~! O6 c3 K
排队,能在不丢失排队打印请求下暂停打印。* {4 P, n) V: }$ ?' h; }) B
( Z4 ]( r: [1 x0 W8 _) D
打印机队列
( }+ P- P6 ^& V" @
# R# j; m; f& d打印机会被分组,每组共同存取一个队列(class)。而打印请求
0 y7 R& o7 C4 {5 W$ ~$ b& I* \* X可以送入一个 class ,也可送往指定打印机上。
4 I. I7 j3 [7 z0 N& |4 n: W& Q. E. T% h6 l+ m
在一个 class 中,可随时移去或增加打印机,用 sysadmsh 菜单或
7 n5 {2 ], _1 O, A2 F$ B. ~% v5 \scoadmin 的 Print Manager,可以增加打印机往已有的 class 中,
7 N7 p# X- I8 Y+ C又或增加一个新 class。
9 e3 g) v5 }0 q" g
4 D6 H$ b: y. W打印机过滤程序
# ~6 j/ n8 V5 D0 a! S) D) R1 o
: E1 [/ p( ^- D2 Q8 P0 j1 k使用打印机过滤程序,可以转换用户文件或数据流,在给定打印
7 s8 {- `2 f  d: Z  D1 l机上,合适地打印出来;处理两边打印,草图或高质量文字打印9 ?! X$ P) k- e, {/ c6 j; \; D8 o
等;如发现打印失败,会通知打印服务,然後告诉用户使用上出
6 A/ B8 ~- ~  Z+ X& A9 J现问题。$ c$ `: \- S& L6 R7 i0 a( S' ~$ B
0 @, X6 \( ^  ]% a, g. T
打印机过滤程序又称为打印机定义的接口脚本,存放在1 t0 c/ E, B! u, _, b8 m8 U  Y
/usr/spool/lp/bin。" p0 d0 D6 s; H2 l. |

! E& o) ]0 a" ?" j( P9 W' H安装和配置打印机
0 E" ?9 u8 z- h& Q1 G6 Z
1 V' r6 h- I* ~! Z/ T$ n要把打印机接到并行埠(Parallel Port)上,SCO UNIX4 S$ b0 j6 [* O$ v" Z$ r  L
System V 支持两个物理并行设备(/dev/lp[0-2])。当用主并行) {5 X, c. }! g
埠时,用 LP0 或 LP1,中断向量为 7。第二个并行埠,/dev/lp2,/ z1 d0 P! x( x) F3 Y( L# [
中断向量同为 7。
! X+ L6 Z0 C# S/ F5 a& p' J! Q7 l4 @: p% Z
要把打印机接在串行埠(Serial Port)上,最好接上智能卡工作,
, j+ f+ q6 b& c7 W打印机能用任意有效串行埠名联系。若不要求硬件流控制,可以
' C& Q, T6 R' o5 m4 s使用非调制解调器控制埠名。, f4 x, _+ s- I! ^# e8 C- F% c
; v& _! n4 Z( A- g- u* @
另一方面,可以从终端辅助埠上做局部打印,指令 lprint (C)" k2 n7 g0 a3 h; H! N- O
使用户从附在终端上的打印机上打印。; Q9 ^/ z" P  J
! n2 M8 P" Y/ b3 j; g$ _1 O. t
安装打印机
3 F( }+ a9 S" @& q8 \% e. `8 l
  c0 q2 r/ O$ V4 d要安装打印机,先找一个未用的串行线路接上打印机,连好导线,
3 P- a5 ~) o* c) b: l打开打印机开关,检查硬件连接。
5 {0 d. Y- e( E) e' P8 t9 ]
, V5 Q2 h- T, G然後,调用 sysadmsh 菜单或 Print Manager 上,加入打印机,用
4 E+ ^. a6 A/ H合适的信息填好格式,指定打印机的 Class,若所指定的不存在," C% J( ?1 G/ n$ W* k& B0 d0 q
就建立一新 Class,包含接口脚本路径名。许多打印机都能用/ U8 {9 u6 g1 v' g; u- ]
standard 接口脚本。
: z) n7 f. u$ C0 ^4 }+ @  Z6 K; a
4 d9 ], |" l8 E3 L7 }! t1 r5 N打印机管理5 `: m! F; |, \9 |8 A

. v. B: Z, c& T4 R9 A5 s修改打印机配置时,可以增加或撤消目的地;改变打印机接口脚
7 b' b# A' \0 ]本、设备等;以及改变默认打印机目的地。7 [( ~, V5 {- U

' ~. S7 W/ x  P0 J! T管理打印机调度时,有几种选项需要注意:9 B+ x) g2 z0 T  J/ T0 s8 |6 Y

1 l, M9 b. I2 u6 h+ n-Stop:为实现某种打印机维护,必需将假脱打印机转换成 off。
+ ~2 Y+ G% W4 {% k7 \. p
$ t' x2 B, i. ?4 S' N-Begin:假脱机转换成 on。: U0 i1 v0 O) |0 \2 t1 m
; E8 f1 o- v9 n$ M& l
-Accept :允许把打印请求送往打印机或 class 中。' M1 P; {4 j3 u/ {4 X( ?

$ L' |: I$ W. W-Reject:阻止请求假脱机打印。4 b; `; p. q7 O& @5 Y8 g
' y; k2 a" w9 n1 |; _
-Enable:允许从打印机或 class 上打印。
9 R% ?+ v4 A1 G7 A, W& y( d' s: ~* [$ }! [# T$ A8 w/ \
-Disable:阻止打印,但允许假脱机出现。
9 B+ m! U  _1 R: _6 I- P/ p! `! ^9 v
每个打印请求都会赋予一个优先数,决定何时打印,优先数据取+ L2 d% T2 h) I  x# |
值范围为 0(最高)到 39 (最低)。默认优先数值同样是 20。
9 h: Y# w: |+ }% a  q) N
# p1 f% ^* {* C9 l0 y4 ^所有打印请求或单个打印请求都能移到不同的队列或打印机上,
+ G/ J: z7 B; i- N4 O6 f若打印机的队列阻塞或打印机不能用,就要移去打印请求;打印& G1 Q- G/ F$ ]) n  K! G! i' [
机要维护,也要移去打印请求。如果已移去了所有请求,这个打
' [, w( ]$ P1 p' P印机就不再接受新请求,直到打印机启用为止。4 F- L! S! _9 H- l
( f1 O: A4 P. x; ~  I
要清理打印机请求,先要指出打印机或请求 ID ,若指定了打印机,
' X6 k8 a5 D, ]7 F8 {( f$ d8 w则当前正在打印的作业也被清除,但是,不能使用通配符去匹配
8 Q; O# E& I: R2 J4 c清理打印请求。0 P, c6 Y( y/ i7 l/ `

2 D' k- \, u2 l: _3 p8 [</P>
作者: huashi3483    时间: 2004-9-27 15:21
<>第十一讲:TCP/IP 管理</P><>IP(Internet Protocol)地址是 TCP/IP 网上为主机之间数据6 `, [: C  O- x' l" r9 |9 g
选择路径(交换)的基础,但是,用户通常不甚喜欢使用由数字/ X& T4 G* _$ x7 r
组成的 IP 地址,而比较喜欢使用多由英文字母组成的主机名字--5 b9 p$ ^7 e. r& M% b+ `
URL(Uniform Resource Location)。
  f- h. K+ `3 o# T; x$ B7 o, N
) e; a' Q+ q$ N+ z不过,主机名字必需映像到 IP 地址,而方法就是通过 /etc/hosts
1 v6 o2 G8 t% z* B0 {9 H% v, f9 T文件完成。# @" ~2 a$ c/ J) V

+ ^1 l/ M* O: S! r" S# ^$ U: |配置 /etc/hosts
6 {" `: R; m- u# _3 K& V& O; ]" z& f
/etc/hosts 的格式是:地址--名字--别名。, y; ]$ z0 {+ e- b* m* p
5 Z8 u; f, k, ~" f3 H5 ]
例如:+ }4 O4 p5 \! K- `: Q/ {1 @! o% K  Q' K
* E' C, N# b% P) O& ~; y5 m
127.0.0.1 localhost localhost
/ j$ q7 e; n' \  ]$ V$ _5 C
! Z& a$ q4 ?0 J132.147.18.1 vision vision.sco.com) X. g4 J% l' l2 Q, ^0 ^

3 c- U: @, J% H9 bIP 地址必需是一行上的第一项,在它前面不应有任何字符,例如) g) `/ J1 m7 L  Q& U
空格符或制表符;名字是简单的主机名字;别名则在很多情况下
3 @" k. |/ [1 _' y: W: Z都不需要,但是,全限主机名字、简单主机名字和辖区名字都归* D8 U" @. K$ u+ P" m
入别名之列。
+ Z4 v7 Q9 v- g
* i7 K- B7 S1 B8 Q$ Q7 u检测 TCP/IP 配置4 A: o. o) |+ \# s- P3 z

, X, q0 Z* L3 J8 \TCP/IP 协议的软件部份包括 TCP/IP 协议层架的顶三级,即" m" d* W9 d' j$ a
应用级(Application Protocol)、传送级(Transport Protocol). f! [8 h+ Z/ A8 \6 U9 r" S
和网际网级(Internet Protocol)。特定的主机名字”Localhost”6 ?7 l/ ?" u1 Y7 q
是特殊网络”loopback”上的本地主机的别名。
5 i1 W) m2 B) c- q2 @+ t
( H  v- d  J/ B0 Q7 D' ^要检测 TCP/IP 协议层架的软件部份,使用 ping 指令:
0 u: Y0 s" d+ ?" @( N: g
4 v- N/ \/ ]4 X#ping localhost
! m) g9 n  {* o/ y- N2 o, i7 _6 y9 H" @6 J& W
如果 Ping localhost 失败,则使用 netstat -i[n],检查网络接
! t  j7 D+ ^" k2 u3 k口的状况,显示网络接口上分组传输的统计讯息,指令如下:4 I* R' O1 u+ \
, s) I* T: M5 n2 f+ H
#netstat -i[n]; Z" W( K% b  H7 n; f
) r  x! W1 ], Q
n 选项强行显示编号,而不是名字。netstat 查看自环驱动器 lo0 ,. k' R; Q7 l0 y9 L
如果 lo0 失败,则在 /etc/tcp 中”ifconfig lo0”行指示坏了或
7 i! i+ [! B3 D- j, y; J( Q有错误。
, @" s; w( a  j$ X# {! _& K, N: Z" Z1 u4 P
检测 TCP/IP 硬件+ v2 [( x9 @' ^* l. a

1 m- d  k4 U4 d/ |$ j审核引导过程中,会对所职别的网络接口产生的配置报告,而9 ^- W! s1 W4 F3 s* _6 ]* `
TCP/IP 协议的硬件部分包括 TCP/IP 协议层架的底两级,即" i% ~, r, B$ Y9 P: a
网络接口级和物理/硬件级。( u$ Y' U! {& f4 v/ `
+ G5 V- m% A7 n6 ?  f4 r( r7 j
对网上另一主机的任何通讯都是在「物理」网络接口上传输,并
7 o# a' {/ [- A' P# E' e3 O不会引起数据传输到「自环」网络上。
9 g1 d, _5 q. c! t7 ?  \2 S
0 d6 A+ I2 s0 J$ Y- i- u使用 ping 指令检测 TCP/IP 协议层架的硬件部份。0 h. v1 q9 ^# T9 B; ^$ A1 H* K
- ~( d; J. N. y9 U3 i1 N
#ping hostname8 u8 O+ R' e/ j

6 j% C* l3 W8 ^, ~9 |* `% }/ e  q, O6 y

- M+ D; L: W0 _; s% S2 A& j#ping IP-address
4 u8 U) }/ h& Y( b! v4 U! W0 C2 z. y. u7 x. j! p: R
如果 ping 指令失败,则改用 netstat -i[n] 审核网络接口。
: \0 d4 j. X2 Z1 \  h$ X% D) X
. C; W# g: e; `9 s了解 netstat -i 的输出
  Q3 N! Z8 t, e- R3 V. T6 z7 x/ E
8 E) I/ s" c6 r如果远地主机上使用 ping 之後,Opkts 和 Ipkts 仍然是零,那麽,7 F; A% |# `+ l/ f* Q* P( n
网络接口大概使用了不同的中断(Interrupt),而不是它的设备0 \2 {( ]6 q$ r4 s' E% X3 b2 V. h
驱动程序。
- O9 \" a$ j* q; R3 {" [
# N! f( S3 ^4 h如果 Ipkts 不是零,而 Opkts 等於 Oerrs,那麽,网卡的 I/O 地址
* I! f8 w& A) |/ g可能不正确。如果 Ipkts 是零,而 Opkts 等於 Oerrs ,那麽,可
# ^8 b' H! j  n/ u5 x能是网络电缆连接的不合格。
" }5 K7 f4 O1 k4 t) z8 Q6 @
: P$ k5 E/ k9 n* f6 O通过用 Opkts 除 Cloois ,再用 100 乘所得的结果,计算冲突的百
9 d$ T+ V/ I8 _: }份比。如果冲突的百份比少於百份之五到十,那麽,所有网络接
& B5 b8 a0 [- D( M: r' A口是有效运行。
) ^- o1 j0 p8 d( }7 [, O) ~# W  {1 R( L) q% K' t* x4 Q
如果 ping 失败,并查出网络接口有问题,那麽,就该验证网络介/ P- ~, f, T/ Z& ?) z
质操作。
5 a8 u" u- U/ B, ]* }0 R2 W3 @8 K. O) t/ @- {$ O
调整 TCP/IP 的核心参数- i. ^" }" `# D! t9 J2 |% X: n

1 \! Q) N" ?+ g: Z6 W- ]: ]没有足够的流资源(Stream Parameter),网络程序是不能进行9 t! i( N3 Q1 ^; b
通讯;流资源不充份的话,经常会导致较慢的吞吐率。
7 P5 g5 ]  ]0 Z/ m7 N3 ^3 D- ~8 P% O& g0 x% v# b9 n
要核查流资源,使用 netstat -m ;也可以使用 crash 指令考察流9 C) k. t, M: P3 n* C* N% ]& T
资源,在出现 crash 发出的提示符’&gt;”时,打入”strstat”。
* s- p. n. ?( n
( V" @, R$ y/ N& P" w# p: Z如果在 FAIL 列的下面有不等於零的项目,那麽,同一行中的+ Q& D+ h, t- Z5 X
ITEM 的项目可能需要调整。如果 FAIL 列下的数目大於或等於) N/ T+ m: A- ~0 a
TOTAL 列中数目的百份之十,该资源每次应增加一或二,但不
  t6 c& i* K1 _8 `1 H1 j能将该数目加倍。
% F/ \! b6 T7 S$ t  c- o; B# g5 K  q5 l
由於流资源使用 RAM,当增加流资源时,应加倍小心。用户亦可
0 H1 j) [) C4 q6 N( L* B以使用 configure 或 sysadmsh 增加特定的流资源,重新连接核心
1 Z6 W" }, S: _2 P或重新引导。. {3 Q1 A1 T- @1 z8 E, `' C* X
! @7 K* q+ `# N; e" o% g' c
限制通过 ftp 访问系统的权限: Y/ Z# h" V- Q; Y( e
8 |) }0 V. Y4 m7 T' |& n
对於不想令其使用 ftp 跨网访问系统的人,可以通过建立
' u  ?* `5 e8 K7 i2 ~9 u7 f5 G/etc/ftpusers 文件和设立系统帐户名字的方法,阻止他获得利
4 `* }9 d% y6 F, _+ o- H用 ftp 访问系统的权限。
, R; u% Y1 g' y$ g% M
4 s3 R' }. p3 A8 M* u如果 /etc/ftpusers 不存在的话,先要建立。在单独的行上,加
9 y- g4 ^" W6 w7 l8 l* }, t上系统帐户的名字,表明不能从网中其它系统使用 ftp 访问该系# y. l: q5 C$ C! C+ |7 S+ b
统,在安全系统中,不允许 ftp 访问用户权和 uucp ,列出任何其% a! ~! q- P3 f7 g5 Y
限制使用 ftp 的用户名字。9 R: |# e0 a0 `: l

  a9 [# c% ?/ s, X
% Y. W2 t% P3 U+ W# A" X</P>
作者: huashi3483    时间: 2004-9-27 15:22
<>第十二讲:使用 TCP/IP</P><>向远地注册的能力非常有用,它让我们不用到远地系统所在处,% Y7 `4 L" E- G! x% y- c
就能运行远地主机上的程序,执行远地系统管理,有两道指令可" d* A' ]4 n- u" W! D5 S
用於远地主机注册,就是 rlogin 和 telnet。
0 Z* S4 Q2 ?9 @1 G$ G
0 _4 C7 P2 n# R使用 rlogin 向远地主机注册
' b2 {! S! ?- J/ d+ ~6 X) J
+ c4 o& ]9 w  B; orlogin 允许向具有 UNIX 作业系统和 TCP/IP 协议的任何系统
* l7 H1 G7 w4 D注册,而 rlogin 只能注册到 UNIX 作业系统环境,指令如下:
9 w. R: ^9 ?' \3 r. Q8 U
# x2 e2 g% p( s; F$rlogin remot-host-name, s; x$ `! ?, i
& t3 E/ y" G3 A+ E8 N' Y- @
要避免 rlogin 因没有提供远地主机上的同名帐户,可以使用下述
3 x4 f: `3 c0 U, v# k指令:7 U9 ~" Z  x; k8 K8 t! f

; b1 r: U( B( Z; \1 L- ?$rolgin remote-host-name -1 remote-user-name8 r9 k' u* A" c

1 x' |4 o3 Q- }" ^* G3 ~5 R5 i-1 选项用於指出远地用户帐户。
$ D$ I5 V* M# P: }$ [" G. t0 R% X2 E  H2 _9 }! p: S. T
要中止 rlogin ,则要打入 ~.,并按 Enter/Return&gt;键;亦可使用
! \* W7 Q/ d) i2 A- T* [logout 或 exit 指令。) @% a1 r) N" _* K: x, u

1 ?9 y6 ?1 h! R+ M( N4 f+ e" t使用 Telnet 向远地主机注册
" Q, Y# x! |7 Z1 c2 h7 e& i- f; h6 Z
不管其作业系统类型,只要能支援 TCP/IP 协议,都可以使用9 [7 N/ T% m, \( U
Telnet 指令,允许注册。1 z2 ^1 ?( O$ c3 u5 [, i

: O! U" E+ O* F  p. ?$telnet hostname9 ~) u& M6 V, G9 C6 H

! o2 ^4 v8 s& p& W  X) i% B6 L/ f6 c/ q, a- o1 |0 i

1 l- k+ O4 y7 r; w$telnet ip-address3 v0 N0 w/ }7 A$ P% q" p! U8 o

/ C) X  `# @" h: V, p/ e使用 ftp 复制或传送文件8 r. _2 C+ s- F3 q; T! {0 f
; ~+ p, R# P) r
ftp(File Transfer Protocol)允许用户对远地主机复制文件,
& n* O8 Y* i9 I/ L" x用户毋须考虑作业系统类型,即能向或从任何具有 TCP/IP 的系
* Q6 O1 w2 h8 Y% u6 }3 a统复制文件。) x: P. x4 i4 j5 f3 y* A
1 z0 X) a# d( Z! l  m9 N% ?$ a
ftp指令允许复制目录中的一个文件或所有文件,但不能复制多层
" H- x  z6 s$ o5 |9 R  U次目录。使用 ftp时,必需在远地主机上设有帐户。7 c2 C* \4 P; q! c
. s7 f" h7 B' G
当 ftp 注册到远地系统时,并未得到 shell ,而是通过 ftp 指令
9 c3 q4 [) @" p4 z: U2 w6 j解释程序同远地主机进行通讯。* M, i5 k2 _* x9 [) I( R6 I9 q
; J& w1 ^. Q+ X* _2 K1 J
$ftp remote-host-name
2 ~  q# e2 e3 p9 M! q% e
0 X9 O& K: p) ~+ L2 Q- U, U3 Y: W4 q! c
' @8 J. C3 }; _" P7 \* `6 z6 [$ }
$ftp remote-host-ip-address
, a$ ^/ u: [4 Y8 {7 A
8 f  L5 _% j. X, }% e" q$ y' c一旦注册成功,就会出现 ftp 指令解释程序的提示。3 L9 j& ?4 d1 ~. K$ X$ E; F

( s" V$ x$ v9 A! N& w( y6 q) Aftp&gt;8 S' Q  P1 P' ^- Q& G& O
; B# h6 Z% W- B6 \, z
用户可以在此,使用打开指令连接主机。
2 f+ o! X# O5 ~, s: w) F# A
4 C  ]: |0 e! U7 \% \+ @1 O! zftp&gt;open remote-host-name
- a. O  p! J. {( S+ C, F: G1 ~2 z+ A( Y# I: Q
复制某一文件回自己的系统中,则用:  E1 M* {/ e+ Q$ y6 g+ J

1 b5 \, N9 G* \* @  u0 p% Gftp&gt;get filename
& m" ]2 y* X. B  Y
5 K* Z* u$ H' y' b+ ^+ r" k如果只想传送某一文件往远地主机,则用:/ a0 Z, v- |) W# X/ e; T; S
1 ~5 V7 H; h6 ?2 ^" \$ I: q4 {& T
ftp&gt;put filename; m+ ^) y4 U6 D4 r, y9 S
* R) M8 J- N" @; S0 H
需要复制远地主机的全部文件进入自己的系统内,可以使用如下
; t" u! {$ n8 C: i4 {: q* p$ v' F指令:) K% v7 `& K0 d

5 X5 [1 I5 n$ m/ `ftp&gt;mget *
0 B) P) @5 f1 n* V
- p4 ^$ i! P; r9 _相反,如果想传送自己的文件往远地主机,则使用如下指令:
$ `5 V. C) b0 d& p, Z0 q) i) M- A6 I' s5 k" ?
ftp&gt;mput *
( {1 ~- a; h. l! P8 \$ Y! G1 x! S7 m1 R9 C9 k6 z: p7 M
rcmd1 k3 }+ M. d  F* c; z* c

3 t* F- c" c9 n3 ercmd 允许用户不必向远地主机注册,而直接运行该主机上的指令,  m. W- d8 u4 b, {9 w
实际上,也要进行注册,只不过用户毋须作其它操作。当使用 rcmd
3 i6 u4 ~. d) W/ V( R在远地主机上运行任何指令时,其输出的默认设备就会被更改为
7 e3 V: V! x. }2 N终端。
' t+ g  Q4 _+ L: [  H9 }/ P3 d' S; G/ f9 c+ C; R5 X
$rcmd remote-host-name man sh
3 X  |! v% w1 g6 ]+ {# _; I
9 K) n& Z& y6 [3 Z- N& t请求特殊终端处理的指令,将不含设备自身的功能,因为对远地
  f. ~4 `& \* J8 l' r4 G% o' Q2 d指令没有定义终端的类型,要求在远地主机上配置受托访问。8 I% C% Q) r% ~( K! w; k

* C7 s* T( z, x# B- p8 }7 X0 z$ _要列表输出远地主机上磁盘的利用情况,则使用下述指令:5 \/ Y- V+ v: Y* f- i$ {$ j' Y5 `
" l* W& B3 Y3 u4 t3 y1 S5 M
$rcmd remote-host-name df
- R3 ~" h& j% g( H: v0 P. r! p! O" b7 P6 z' Y
要列表输出远地主机上的目录,使用如下指令:
. V% e2 G0 K' ~+ G) _1 n" k9 R; i1 G  v4 i: I( A
$rcmd remote-host-name ls /usr/games( F5 T# ^. h$ P! ^9 b

0 P  X3 h  i6 b( h& N要把远地主机上的文件备份到远地主机上的袖珍磁带内时,指令9 q3 L8 m$ M( z& j- A% {% Y4 r  q
如下:
1 D) }5 j$ ~) Z/ `, \& }$ ~, `2 c' C
#rcmd remote-host-name tar cvf /dev/rct0/usr
) q7 Q  t0 ~' N1 }8 F; G! ?
9 w7 w1 \8 p0 w0 {5 V$ b! \3 @
1 U& s5 n. U  Z3 {1 N  X3 R' b/ e  F& U; Q
#rcmd remote-host-name "find /usr -depth -print|cpio -oc# X5 Y/ e. {' ]- v9 G0 N
&gt; /dev/rct04 m3 d7 ^+ b1 s, U3 V: @* c

* s" Z8 ]# m. i, B1 @要把本地系统上的文件备份到远地主机上的袖珍磁带内时,使用
3 f. R' `. R, l1 w下述指令:
% w- _1 Y' ]" s: A  U# w2 U7 ^8 f; R
#tar cvf -/usr|rcmd remote-host-name dd of=/dev/rct0# u. X* p4 f* s. R, D* y  g" O

( ~& ^3 Q3 B/ V% h8 D+ k% I9 H1 i( a7 r) O& e; o( U( r- h, ~
2 o5 n4 d3 s! c
#find /usr -depth -print|cpio -oc|rcmd remote-host-name
: p( N6 ?: C4 C2 Sdd of=/dev/rct0
: }) l3 M" V  d' {0 l/ K) k: o
- T- K* {. o- g. `5 f4 v& s另一方面,如果要把远地主机上的文件备份到本地系统上的袖珍
) o4 z( \( R# p( r磁带内时,可以使用如下指令:$ m5 h* S$ e. S; R1 z" i

% Y4 z1 q+ o; y1 }% B#rcmd remote-host-name "tar cvf -/usr" &gt; /dev/rct0
5 \, ]6 {0 r  S) ]
# q* Y( R  ?' a+ ]
! A: H1 Z9 f, D; N* m" ]7 M' b7 `4 V2 ~' C% f$ s1 b: C4 C6 K
#rcmd remote-host-name "find /usr -depth -print|cpio -oc"  T0 l' Q8 R$ w3 m' a
&gt; /dev/rct0</P>




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