数学建模社区-数学中国

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

作者: huashi3483    时间: 2004-9-27 15:14
标题: SCOUNIX基础讲座
<>第一讲:存取权限与文件</P>
" B! p5 A( l, F, \: U9 s<>UNIX向来是强劲的作业系统,屹立多年不倒,但是,对一般使用- V% w& ~+ J$ T" V
个人电脑的用户来说,确是比较陌生,有见及此,编辑部选择了7 h" e; b0 c& t% `9 W
在个人电上也可运行自如,毋须庞大的Mainframe或甚麽大机器的
/ q' D$ O! w: Z7 O. ASCU UNIX,介绍给大家,让各位对另一广阔无限的作业领域探首
' K  x( l1 L$ R- f& u2 l一下,也许玩起Internet时,会有另一番天地,别错过这一连十
4 u' V! Z; b6 q: \; e# I二期的「UNIX自学篇」了。* @& |# y; J$ m; X/ B8 H( d, ^1 Z- d
5 v& c- l" S5 ?! }0 a; _6 M
可能有些人会误以为UNIX只是那些功能强劲的庞然大机方会使用
; k6 l) a! {6 `/ s' f4 _9 P的作业系统,谁不知道在个人电脑上,一样可以使用,只不过所  R3 _/ G  U5 F& d/ L8 i" y% x( w
使用的是特别为个人电脑设计的PC UNIX,SCO UNIX就是其
  X/ B* j' o* x- K3 }中的表表者。
5 z3 Y/ o/ `% d5 Q- P# b+ r
7 P8 }8 ?" H: O6 q; Y对於惯用DOS或视窗环境的朋友来说,UNIX的第一重关卡就是那# s  Q" ]- W$ o2 A) L3 u! B3 i
些「敏感标号」(Sensitive Case),字母的大小写俱有不同的. D3 d, `- i2 h  y* P& ?
意思,Ls、IS、LS或Is这些指令全不相同,所谓「差之毫□,谬
3 `4 G% V3 p$ @% r; O( N之千里」,它对大小写可是绝对敏感的。# }4 B/ R% f2 ?

& a& \5 ~/ R! ~6 d/ T文件名称" E6 ^/ Z& O8 b8 T& D+ @2 [

& e) z  P( o3 w* p在SCO UNIX下,建立的文件档案名称,可以是包含最多十四个
4 l7 s8 K) L: v) D字母数字字符的任意组合,既可使用下横「□」,也可使用句号4 i7 n! C( B) k2 x2 B2 f2 f. X
「。」。+ v1 t1 e1 ?3 {# M

; S& a" S2 u! E1 v6 ]不过,文件名称却不能使用某些特定字符,因为它们对Shell来说
& J; u( G& ]  d4 _- F; ], D/ }有特定意义。这些不能用作文件名的字符,分别是「;」「|」、
4 B2 {0 C5 ]' u( Z% ~9 c# V& D「〈」、「〉」、「’」「$」、「!」 、「%」、「(」和「4 t2 Q% Z8 I1 c% G, S
)」,而文件名称中也不能含有空白空格等。; N* o) A1 ^/ u
6 m, ^1 R, t2 s! \! q, |
文件存取权
; V6 F$ O5 v6 x8 g0 _  a
; N2 K' m' N* w4 F; E每个文件都可以拥有不同的存取权限,界定其它用户能否存取文5 ]% C, i% z9 L: d, |) x3 M. w
件和目录。
7 D5 u$ j/ p" p3 q( I5 a5 Z/ W  H
每个文件分为三类所有权:文件的属性、属主所在小组的成员(
# s! |7 W- ^- i- \+ r# l+ Z+ L即组员),可存取系统的其它用户。用「|」的指令,就可以查- {- T2 j, u) B
看文件的权限。
3 b' @$ u+ m6 \' e8 p$ P$ b, Z2 U9 t5 Y+ x: C0 k- M# k  T/ ]/ Y$ M7 I
drwxrwx…
, c* l6 {) F* E8 @+ H
9 T. q, J% B/ ^, k9 k- f好像上列的文件存取权限,第一个符号指示文件类型,减号为普
) f( Q$ s$ p5 K) w' z+ P" A通文件,d则表示目录文件。接著的九个字符分成三组,分别表
. n" @$ d$ W9 p$ A1 E示属主、组员和其它用户的存取权;每组有三种存取权:「代表
4 M5 q/ [" z8 J' K& O读(Read)、w代表写(Write)和x代表执行(Execute)。而没
" }( j3 n) R, }; w+ t有存取权的相应位置则会出现减号(-)代替。: Y. }8 `1 T( p2 `- c

& k. n" g; T' Q7 w7 b  ~+ N6 f目录存取权
! P0 ~. C. z% v$ f3 ~6 L. p: w7 q
基本上,文件与目录之间的存取权的设置大致一样,但仍有些微
3 q  H; p. }1 F分别。/ Q+ ^7 R' O+ Z* u/ w& ~
8 g; {; q; T: A$ v7 M
首先,要查看目录的存取权限,就要在「|」之後,加一个空白- {$ N9 p0 ^. e1 p
处,再加上「-d」。如果要改变当前目录,则用「cd」。$ ^- c1 ^+ {" }( d

7 o5 `7 i2 n' [改变存取权限; ?3 X4 F8 d3 Q* o% l
( O# j" H! g4 S2 J. Z5 I
要加文件或目录的存取权限,可用「chmod」的指令,例子如下:" N$ A$ |7 V' M  G
$chmod g+rw filename3 _* t7 q. C' ^0 m

+ f8 M! Q% ?6 X7 J: \/ ng代表更改组员可以享有的存取权限,+rw就是让组员可以读与写
' g0 C; c: ~! ?- g7 {9 \8 ^该文件。而u则代表文件的属性,o代表其它用户;减号(-)则7 D$ w8 k& b! [2 A( ]# w7 \
代表取消某类人的某些存取权限。' \1 @/ }* `0 \1 n6 G+ F4 d
" n; C2 x! f0 s0 d; r( k; l# o5 T* p
另一种更改权限的方法,就是使用八进制的数值指定存取权。每: r' O- J: p; G3 A* n
个符号赋与一个数值,r是4,w是2和x是1。例如组合读与写,其9 g+ I+ C/ i& V" L6 x! `, F/ Z0 v
存取权的数值就是6。又譬如欲使文件对文件属主、组员和其它用7 r0 n& x* G, N& O4 |2 m# m
户均具读写权,指令如下:
% k' x- d) @- P7 B3 D: a$chmod 666 filename
* G( f* ^- e+ `2 f* a% [4 D* F, ^4 |$ b9 D4 ^0 N, i3 O8 K
更改用户属主3 u( h$ u" }) p$ _
7 O8 V7 Q/ E( w
每当创建新档案与目录时,标记你是属主,你的同组人员为组员,' F9 p# l$ \: M0 S! u" R
如果要把文件的使用权交给别人,只有属主方可更改,指令如下:
% G1 O% ~0 G8 e5 c6 [$chown owner file) d( X/ ^0 a( K
' p' K- x# x2 d; W4 Z; Y* m, l
chown改变了文件的身分ID (UID)2 y5 o( X% n: G; }* [- b  X( I
# V( ^1 c' J7 ]7 n' E5 d
改变属组要改变文件所属的组别--文件组ID(GID),指令变
" i% |- p0 ?/ ^4 K* s3 J9 t为:
/ b& Y2 e: L. S# p! F$chgrp group file
7 F. q  F, O$ V4 F& x  Q3 c: M
/ j( @* {+ a6 H1 B浏览文件内容
- y9 v8 @% t0 k& h4 Y( n+ J( A
3 A- H0 Z, S) s! K; l! G需要求助,可按?键。至於,浏览文件内容有几种方法,可使用; W/ I) t3 {# e0 f( d8 T) P
more,显示大文件,指令如下:, D$ d0 n8 B1 D! |. j3 d) c' Q$ g6 r
$more filename
2 M* y. |9 u$ R, z
3 S, J3 Y4 U+ R5 W- @$ ]) a9 ~/ D按〈space bar〉,显示正文的下一全萤幕;按〈return〉,转往0 c+ Y3 O7 E4 z
下一行;按q进出文件;键入模式前缀(/),就可键入需要查找& d$ |3 G) h# n2 ?4 _8 u
的匹配模式,若模式找不到,则会显示「pattern not found」的8 G& U( L, g/ q! D( U
信息。8 m7 L4 \! n1 a3 a- L

- X1 o2 h2 c7 l& a9 Z按pg则逐次翻一个萤幕,而每个全萤幕後,都随提示符(:),
7 }1 e. e: m$ r5 r0 s) r按〈return〉,看下一萤幕,键入+n,向前移动n个萤幕;-n,! r5 o* S6 t& F8 Z$ N
向後移动n个萤幕;打入$,则移到文件尾。  O" J6 t) [1 W: y) v" \) M, P5 J

. M2 K3 o0 r( |; c/ @4 b如果使用Cat看文件内容,就可以在全荧幕上滚动文件内容。在任
, Z2 I7 [' W1 o: C何位置,按<ctrl>s,文件就会停止滚动;按<ctrl>q,则会$ t' J0 ~& i2 R# d3 L9 [4 m& _
继续滚动;按〈del〉则中断不看。  E( |1 @/ F1 v; w

$ `. `3 z3 I. h! L3 ]* K处理文件+ x7 H) n) f, a/ H+ ?4 g( J! b1 s7 a

' \3 n3 @" m* o9 t6 hcp指令为复制文件,可以有多种用法。* b  C2 m+ x- y& L7 g; E3 q
' D! u5 }4 k" n+ W$ r$ ~
(一)$cp old.file new. file
1 g& E5 P9 N/ m7 \/ J* V备份一个文件
- T& u1 E* X! k" t: u+ N! q% y
& H7 L1 u% o  N8 l  q) d(二)$cp file 1 file 2 Test
% j" k, z. V0 h# ?- I9 X3 p4 E, C将file 1和file 2复制到Test目录下
1 }( Y6 T; G" S  @) o9 m6 V* j7 t6 a$ q) N3 y$ |" J
至於,mv则为改名指令,譬如- f  j" v/ o2 K( g* r, {; n
9 \; l) K7 C+ Y
$mv fruit apples
( |' ]2 r* C# w. y2 j! e% J+ g/ c就是fruit改名为apples) B/ o$ o' a9 W
9 W# B8 b0 L! U5 r4 G/ P
rm则是删除文件的指令。文件一经删除,就不能恢复它,故此,0 d1 I, D) A& v3 ?" k" {! A% z
要加倍小心。4 p/ X# Q8 P9 Q

0 w/ t7 x6 z4 {! ]* G& K+ p; ^$rm- i filename
! c  f7 b0 n" m3 j' D# k9 o: j加上「-i」,删除前,系统需要确认
+ m3 f( y) k6 V; y</P>
作者: huashi3483    时间: 2004-9-27 15:15
<>第二讲shell环境</P><>何谓shell shell是用户与作业系统之间的交互层,用户修改其环境,设置或! h8 o: b3 i. G- ~
 取消shell的环境变量,迎合用户的需要和爱好。3 u1 e# K9 j) N) I9 e
9 y6 z0 H0 _( n9 N4 }
 shell本身就是一个电脑程序,用C语言编写,为协助用户与作业
- D7 W, l; N. ]3 H# R" A# _2 m* K 系统之间通讯而设计,管理用户与核心(Dernel)之间对话,并1 ]+ z0 j7 y% l6 U, j
 把作业系统指令换成机器代码,其实PC用户常用的DOS,本身就
: G$ d# a& O4 b8 p- K* ?! H 是一个shell。
6 \& @# G0 \* H+ E* o$ q* N$ b: O! k, Y3 g
 sshell的用途
1 J: b3 I7 ]% V1 T
! G* V8 b$ ?) y( k# S shell的主要任务是:提示用户打入指令,读指令,转换指令为核5 n! K; B) ]% h
 心所能理解的语言。其实,shell可以看作为指令解释程序,提供! ]+ z% {7 ~$ h% ]
 一些工具,亦可以利用shell的编写工具,构造电脑程序。& w$ n" H+ G8 a! f  i9 Y1 c2 ?

. `$ z8 V( }# U. Y  K& j8 R System V shell类4 D0 G) F$ c" |4 G

: U, g5 w$ [2 s, n5 s SCO System V的shell可分为四大类:Bourne shell;C shell;
9 b' B+ {, J, \: i4 m& s1 l& j Korn Shell;和菜单驱动shell。而菜单驱动shell可再细分为三
% _. K9 d. @% U+ P, | 类,分别是Open Desktop,Sysadmsh或scoadmin和客户应用程序。
) }/ p1 S/ n0 m. a3 i2 j# b0 F2 t0 D- h9 P3 o3 D1 @9 o4 m9 ^+ R) O
 每个shell都有自己特定的环境文件,可以自行修改至合用,这些
8 }( L9 i, [6 ?3 F 环境文件就仿如DOS的批次档案(Batch File)。
% r& i8 _! q1 _/ |# J8 ^. z( o4 C
. m5 R, D0 s  E' T! D+ J Bourne shell; s/ S7 O1 p" w* J

$ E( |) }3 u* t9 n% o' _ 对普遍用户来说,Bourne shell可以说是第一个UNIX shell ,# f8 w0 S& ?( x+ v. e, p% s0 G
 它是由AT&amp;T贝尔实验室Stephen Bourne所编写。默认提示(7 z4 D; ?. ?+ j& o: ^- B
 Prompt)是美元符($),其环境文件为profile文件,由於文件
: N+ q7 g( k6 n 档案不大,可以马上启动执行。
( p7 A0 ?1 Y/ ~' R# v) ]0 y& H+ u4 {
 profile是存放在主目录下的普通正文文件(Text File),通过# v$ h0 I3 D, a* c
 设置环境变量(Variable)和终端模式,可以使环境个人化,每* A$ c& W# R6 q! Z4 D9 D
 次注册进入系统时,shell会读入profile文件,并执行所列出的# G+ v9 l: d( l# ~1 {1 J
 指令。
2 ]% w; D0 s7 C  e: h( K" A6 L6 l' G6 u9 \8 u
 每当系统管理员创建新用户的户口时,系统都会自动构造一个相  c, J8 [4 v! }( D* k
 应的.profile文件;而整个系统的环境文件就放置在/ ^1 D+ U- t! `+ s+ r) S
 /etc/.profile中。' A* C& s5 G5 n2 [- x# Z; T

% j1 n5 |- A& F 用户可以使用vi或其他正文编器修改。若要使用env命令显示,由+ G$ [) I. @: q
 於注册时已设置了这些变量,也不一定需要另行设置。
. q2 \) u: _% o' }0 Q( X) v  s
+ h! R3 j! z3 F' T7 ]4 m6 v C shell
' [  L! f3 W7 p' W9 n/ I% \) M2 _$ x) f6 \& {" K9 a0 ~0 d, W$ x
 C shell是由Berkeley的Bill Joy编写,是标准BSD(Berkeley
5 m1 g4 d" g9 ?2 V& B, m System Distributou)命令解释,其默认提示是份符(%),环境. \- k5 f, Y: E; Q
 文件则是cshrc和.login。* O! ^8 Z, V  \7 _3 K

9 a$ G' R) W2 d$ ~ C shell采用C语言,是UNIX和XENIX系统上公共软件的开发语
" E0 j$ O3 ]6 P2 b5 {; p$ k 言,提供了方便工具,快速打入,校正和再打入命令行。3 z; P0 e9 W+ P# ^9 R5 P

1 D9 v  C7 [: M! d" Z4 F+ T .login是C shell的注册环境文件,负责启动shell,注册时执行
- _! L7 h1 Y( y0 B+ P/ t) O 一次,而.cshrc则存放常用指令如alias等指令。譬如我们要创建
+ V# D) @$ i2 Y" M 一个永久别名,把命令who|sort|more别名化为wh,在提示(%)% u0 a' l4 S- s; L+ |
 後,只需要键入wh即可。用户可在.cshrc□键入下面一行:( M8 H1 C  H. k1 [  C4 l
 alias wh 'who/sort/more'5 Q; @8 \5 T4 _" k

' O. S2 x3 C' G4 Q, u Korn shell
- _( F1 ]+ R' @8 U" J+ f- }! c7 a1 S6 ?
 Korn shell是AT&amp;T贝尔实验室David Korn所开发,是Bourne
& P! M! e; [% o% [0 @ shell的增强版本,综合了Bourne shell和C shell的特点和约定,
& h0 S5 I" N5 v 而Korn shell则比Bourne和C shell执行得更快。+ U9 U( H' r3 B& d

9 i# @  l5 c5 U) A4 X* X Korn shell的默认提示与环境文件,跟其前身--Bourne shell一
8 }& r2 T  S8 s6 c. s+ W. k% G2 l 样,同为美元符号($)和.profile文件。
( b$ t9 [" v4 k6 v% m4 i, g! _5 |' ]4 O# w; Z: n
 进程控制, c# e1 }. {  t" t! T5 ?* A) ]- m

) O! J" T8 H% V/ N% B+ I 虽然同一时间,系统中运行许多进程,但是某一特定时刻,CPU只
( x  Q8 R7 A* r7 Z* h2 n 会让一个进程使用,而CPU则在行使中的进程之间快速轮换,每) }+ A, c* u* t! V
 个进程所占用的时间,称为时间片。SCO System V为了保持、跟  n! h7 ?6 }% b* K) @3 f; h% k6 i
 踪或调度每个进程,会给每个进程一个进程标识号ID或PID。" B% u, |+ W3 f, F; R8 K8 ^
7 E. Z1 H5 u" M7 T+ q) V
 要确定那些进程正在运行,用户可以使用ps显示阁下的进程;或
4 \- l$ O9 {4 @7 \( T6 @ 加上-e选项,显示所有进程;加-f选项,则显示的进程还包括已" I* d5 k: k8 F) ?1 d7 W
 启动指令的执行中进程;-u login显示某注册用户的进程。
: A) q: X3 y" n% v- M4 ~# ~, ^: R6 N
 在SCO UNIX System V中,如果阁下拥有Root指令的作用权,8 `6 H7 u% l4 _  p( f! M5 ^
 就更可以看到所有进程。- L+ F- h4 g/ {' _0 @; X
" n# Y) B8 L5 Z' R; @
 当一个指令需要较长时间完成,可以在指令行後尾加入&amp;元字符,/ w7 n7 j, O" l1 K  T
 该指令就会在後台执行,但对交互工作方式的指令就不适用了。
  s% A2 P! q$ g. a- e
, L5 i3 ^7 e4 ? 菜单驱动shell
% U3 n8 }: W% W" i/ r9 W# o+ b* N/ v6 t9 ?! r
 菜单驱动(Menu-Driven)shell可再细分为三项:
. h8 o+ z$ Y+ E6 R7 `0 J0 V" i3 N% F' V! H
 一、Open Desktop$ N; g5 X" n" I1 c' w
% P! }: z' u% G# Y
 Open Desktop采用XWindow图形用户介面,用户可用图符(Icon)
4 ~) }2 V5 X7 E5 t7 j! N" ~7 J 窗口和菜单操作,如Open Desktop的作业系统就是SCO UNIX! ^8 Z% E0 v$ ?; q0 M( l  h
 System V/386。
6 @- V$ }/ ~, U; d
8 l: C7 [# ~! J: k. p 二、系统管理员Shell:Sysadmsh或scoadmin
+ A2 L! P: ]% F9 p' L3 Q6 @
6 j0 |! ]3 R3 n* a Sysadmsh或scoadmin则是字符介面,用户可不用学习指令行语法
3 z9 j. z* i' ?6 a" ]# v# @ 和选项,就可以执行大批指令。大多数系统管理任务仅由系统管
2 v; O' l& u7 v0 r% ]4 H. d+ V 理处理,系统管理员则有特定的根口令(Root Password)。
. M  ^% {" L7 q- X8 N4 \- J6 ~
! |: s/ Y, p0 _0 l& u$ a 三、客户应用程序5 y7 T% V+ x% _' m9 `7 `; D6 l- i

" z5 s. J- e; S. E* [, f3 l0 m 某些用户为了存取内部邮件、字处理或报表等应用程序时,方会0 i. i! ]' v8 J: z) c
 使用SCO System V,系统管理员可以装上这些程序,令它们在注
% Q3 I5 J9 a. z2 K6 _& K 册时呈现。
1 p3 W4 o7 H6 M, y& ~' |
' G: J& u$ x$ A 许多程序提供一个菜单选项,用简单打键选取一个选项,用户毋
! F: O  t! l2 R; q  Y) h* [ 须记著指令和指令选项,亦能操控。9 D, R" M( e, [$ h9 f: C9 |

% @2 {. {) ^; v5 A) ?" H: U# F</P>
作者: huashi3483    时间: 2004-9-27 15:15
<>第三讲vi editor</P><>任何用户最常做的事要数创建和编辑文件,包括文档、报告和文8 [- N# A4 C( K  ^# [7 @. A
   字,vi(Visual Editor)是一个有效而相对简单的全荧幕编辑,& F. ]/ n1 r8 b6 |9 b2 w
   使用vi,只要记著少量基本指令,就可以开始起步,再学习其他) W0 y9 l3 c0 K8 j% a
   更复杂的指令,而系统管理员则使用vi管理和维护系统。
- Q: S9 {  q6 v8 N% B. v5 A1 z- h) _, F0 N$ E) \
   vi是包含在SCO System V作业系统中的全荧幕编辑,其实,vi不( i2 l& t8 ^) W" A6 \+ h1 L7 x
   独存在於SCO UNIX内,而是UNIX内相当普及的文件编辑。开
' K0 T$ p$ _& s   启文件2 D1 M6 y& J* X; t! w
$ Q1 d+ y) s( c3 _
   无论是开启新档或修改旧文件,都可以使用vi,所需指令为:: q0 X' i, l# l( G4 B5 ?

4 `# M# Z+ a- x( |   $ vi filemane
' \  a" i2 [2 D- a( G( F0 q6 b# ~7 Z8 p3 s9 l. Q2 v
   如果文件是新的,就会在荧幕底部看到一个信息,告诉用户正在' U) d( ?* v) Z' Q% N8 }3 l
   创建新文件。如果文件早已存在,vi则会显示文件的首廿四行,7 r/ _5 C& _: d( |4 j6 W- `4 |
   用户可再用游标(cursor)移动文件。% n8 j9 i5 X( U8 {4 V; G

  m& v  K  O" s4 Y2 H1 t7 k7 D   This is what vi looks like.) N" A1 [5 |+ o" S) X( s" X4 t
8 k+ }/ T# q: f; Z
   ~' s: ?8 C* ^3 v( E: t; o" |- d  N
' i7 @5 i0 J) q8 h4 x: ^7 t2 C
   ~: Z5 A3 p2 v- @; P% q
9 `! L, S& Q$ D  ^- T  t7 k0 ^
   上面是一个经vi开启的模拟文件,一行开始处的波折号(~)表+ L' n- L$ ~, r0 f- d; }
   示文件的结尾。指令态与插入态; I( H: [: W* S8 Q* V0 X; n+ e

5 m) G! E2 c! R   vi使用了两种状态,一是指令态(Command Mode),另一是插入3 l3 U. P3 m8 M- h* S- L; n$ M, S5 [( m" Z
   态(Insert Mode)。当vi处於指令态时,打入的内容会视作指令( N* q/ H" x5 X8 `  ~, r: L9 G8 b* ~
   来解释;另一方面,当vi处於插入态时,就可以打入正文(text)
& J& }5 c3 s  l& I# j. ~0 x   给文件。4 b: p- e3 Z) t0 @5 r
5 s3 J: Y$ `3 P7 }$ \
   大多数vi指令是单字符,由插入态改变为指令态,指〈Esc〉键;
4 M( N- t" `- Y5 M   而由命令态转为插入态,则可以使用下面的插入令,直接打入,! S) V+ Q8 I0 m& f# `0 N4 N1 J
   无需再按〈Return〉键。
. e4 Y# S/ K7 c( ?
. A& j- @9 m5 N' \  q' m9 m3 O   —指令i在游标处插入正文
( ]  F3 T9 j, R% `5 T6 z' d! w0 S) b5 h) z" M  H& `4 K
   —指令I在一行开始处插入正文" ~" g% D) I" f+ G% }; e2 S. Z6 {
0 {# Z1 d. d9 H
   —指令a在游标後追加正文
& \, Y$ t0 V: X8 ^$ \
' o& r$ q& S1 Z0 g   —指令A在行尾追加正文% k& k+ d4 I) _

" I  C# E% K! J" i   —指令o在游标下面新开一行2 @& O9 M$ X+ M6 k  o

* f2 V4 S: O2 |6 w$ S: |   —指令O在游标上面新开一行
- O3 I' J6 a/ A) g5 P7 ~' Y
0 F/ K+ x2 V% }, B! V( o9 }   要记著一点,在插入态处,不能打入指令,必需先按〈Esc〉键,2 L4 K2 |* U) i5 o7 l4 S9 i0 g
   返回指令态。假若户不知身处何态,也可以按〈Esc〉键,不管处
. g. Y3 u9 o% q: s   於何态,都会返回指令态。1 L" x2 i. ]4 `# _0 ]6 ^! r8 U( t5 [

* P4 K0 V' |4 F5 |   存档及退出
+ q# x( x# e3 A! H$ K  O0 Z. @' B3 I
   在修改文件时,如何存档及退出指定文件都非常重要。在vi内,
' Q4 F9 j, o4 U% E   行使存档或退出的指令时,要先按冒号(:),改变为指令态,用4 M  D9 y7 `; M, p& @4 w; O
   户就可以看见在荧幕左下方,出现冒号(:),显示vi已经改为指
+ {# {; ?- p# N* _3 d! G; n   令态,可以进行存档或退出等工作。
7 D( ~7 I, \% c! [
* q% i, c! m; O, D4 H. ~5 J1 K   下面就是一些这方面常用的指令。' }% i% W1 l) q: L% g
8 Z; a! F" j0 n# L& X8 z
   :q!放弃任何改动而退出vi,也就是强行退出
( U: b( l' B/ V5 _! {/ v2 M) E7 e3 I. e" T7 k/ Z
   :w存档9 ~: p% C# n/ r0 [8 W
7 r% }6 u  n' B0 s: u6 D
   :wq存档并退出vi/ L; a# Q: U1 u- R, k, e5 ^, m# o

( n2 q* I" `. K% c  n& B7 S) a   :x与wq的工作一样
/ g9 G7 p: l. D" `, V; H, c6 J, U, z8 d
   :zz与wq的工作一样删除正文) `1 C7 k* b8 D! X) m$ T! ?  h, W
4 ^1 W7 v' a( z5 \9 t
   删除或修改正文都是利用插入态,故此,下面所提及的指令只需
! w. J7 j, O" j! ~   在插入态内,直接选入指令即行。. J' C- C& M' ~, X; Z

  w: S+ X& @- u( x   —x删除游标处字符(Character)
1 P2 s" p0 J* Z& ^
  D, c, E& S, Z& n) _   —nx删除游标处後n个字符
( t" L4 A* J8 K& X5 I
* I5 D2 f, E. Z1 f4 d' X& q   —nX删除游标处前n个字符# ?' L$ i; R  t/ i. ]
) G$ I& u6 I* b2 a/ x8 @) Q+ v: Z
   —ndw删除游标处下n个单词(word)
+ a* R+ D; Z; Y. l' i4 w% S6 {& E% K$ c1 J6 k3 h, g
   —dd删除整行
/ U; m" R! E7 F& E8 k: T( k; S9 S1 W1 i" h- [6 H
   —d$或D删除由游标至该行最末
' f. ?2 u& a, d! J" a
5 [, ~/ ^& @: n$ O! s6 q   —u恢复前一次所做的删除
1 a& U2 K. Y8 [( u4 r  P- B5 n* {, E' y$ V
   修改正文* J$ Y% P  i8 N  x& z* P' z& }% L( g
( @. v: N. X! Y- J1 F6 V1 P
   当使用vi修改正文,加减字符时,就会采用另一组在插入态操作4 Z2 D# X9 \& C/ y
   的指令。
8 ~8 J0 h8 {$ Y" `. p: m! y, O" Z# _
   — r char由char代替游标处的字符7 b- A: }. f# E( k

. D; a" ~7 B5 ?$ x. Y   —Rtext〈Esc〉由text代替游标处的字符
* L0 f6 m" O. U) E8 c0 X# E: T& `6 B& x7 h) D0 \3 e1 g) i4 ~
   —cwtext〈Esc〉由text取代游标处的单词% h1 F1 ?) j+ d2 c: w1 D5 _$ y% z

3 s8 y: A! J/ i   —Ctext〈Esc〉由text取代游标处至该行结尾处) B( w4 X( d8 l

- ^& ?- ~& \9 s! |* w' i* ^4 V   —cc使整行空白,但保留游标位置,让你开始打入: I$ N5 d' m( ~. e" L, f  \

. s* \+ s$ z* |% b1 z) V   —如删除指令一样,在指令前打入的数,表示执行该指令多少次。' U: r, x; X$ C# H  D
   正文模式检索
/ k: J! U9 k5 o5 V% o; U
7 L5 l3 G' _9 [, _, ]   要检索文件,必需在指令态下进行。所谓「模式」,就是一个特8 r. a1 T, j2 g% f
   定字符串,其中可含空格符。
+ R1 Q+ Q! h& R2 P8 g) _3 s
9 l  O* G8 D: H3 T7 j! w- w- c   —/str〈Return〉向前搜寻str直至文件结尾处
6 `; X; c0 r. B. J
& ]$ V! Y5 k) C+ B0 U2 H   —?str〈Return〉往後搜寻str直至文件开首处) T6 Z+ K6 P5 v4 F' g
6 m5 ?/ ^2 _% C* e6 n% s+ ^9 D
   —n同一方向上重复检索* a  W% I! R9 h  c
1 E, l7 V- W. k9 g  x
   —N相反方向上重复检索
2 \+ Y0 G1 K! h5 }2 B) ^. O% F6 n5 H) \' X* H( Q  s
   —vi缠绕整个文件,不断检索,直至找到与模式相匹配的下一个
- y2 k& U' ?( q- m/ |) t" Y' m   出现。其他
5 p0 X# X+ l2 t/ K# N5 D% v0 j3 C0 R5 m) i7 V* s
   如果要在 vi执行期间,转到shell执行,使用惊叹号(!)执行系  c0 [( w* ~0 h/ Z6 H2 L
   统指令,例如在vi期间,列出当前目录内容,可以打入
' J) A/ N4 ?! S7 J8 b1 k  W9 g
" j: Q0 v5 \3 Y* g; `" s6 v' B   :!If+ M# m  @* y. f4 b& k/ a9 ^

& J. v$ B& c- ^$ `+ @0 G1 U   另一方面,用户可以在主目录中创建.exrc环境文件,用set打入' x. h5 Z6 \4 j9 U
   选项,每次调用vi时,就会读入.exrc中的指令与设置。下面是
; U% |& L4 m( @: R' e" @: H8 {+ \   .exrc环境文件的实例:" b* [7 a5 \6 e" {& Q4 t
+ t8 ]- {+ `7 C  e
   set wrapmarging=8
1 O( ?( U9 i  d6 G& ]$ T; @+ n0 e  O( G: n0 q( s1 ]
   set showmode9 u: Z& }; g0 l  Z/ u6 U) Y
* U! q+ K. z3 r1 {+ @$ R
   set autoindent1 O. z$ p( s) W3 `6 t

- ]  Y8 m" V, n* Q   set number
; `1 Q9 T$ h' F; E</P>
作者: huashi3483    时间: 2004-9-27 15:16
<>第四讲:系统管理</P><>今次要谈的系统管理员负责管理SCO UNIX的系统,拥有独特的' P' l. H  X% D( O( p( Z
注册名--root,能够读取任何文件,写入和删除任何文件,执7 @" l) x, \* O: T1 N2 d, [
行任何实用程序和指令,亦可以执行和终止任何用户程序。/ q, ^" y) _# u4 i  y2 ?5 W! y
系统管理员的工作包括系统控制的任务,例如後援加锁和解锁终
* u: w/ A0 O3 g端和记帐号、增加、隐退和撤消用户。亦可以给用户一些特权,; h: J$ B' A, O) F1 [/ x9 D
让他们实现特权系统任务。  ]0 {3 {( `* L2 G3 T

1 F1 v$ U, K" [& m5 L. L! }基本指令3 T+ z; s) j6 r* j4 [: M" C- T0 K

6 s! j3 C% i" j3 Lshell指令的基本数据结构是文件,因此,基本指令和操作包含以
+ b6 p( j- ]- O) u$ @% B9 c, @下功能:/ o2 ]8 c# Q) a2 s5 _9 L( G  C# n8 y
/ L$ \- H9 @# c5 d- `3 j  C$ ]
-显示及管理文件中的指令5 S  _- A/ ]; q$ o& \

0 U& U9 [  A& U0 U-管理目录的指令
' Y1 X/ p7 _4 \( ?3 X1 P$ t6 k, u: x0 N) j) y; N
-输入输出重新定向和管道,重定向标准I/O,并执行组合指令$
' s" i1 a% R: W2 ^3 @4 T& Z3 JW|grep 'john'〉john,file/ z$ E3 C7 v& Y$ O" W
0 ?& |3 v/ q% T4 a8 y% ^3 ~
-输出重定向符(>)把标准输出重新定向输出到文件" B  g, g, I- J3 R4 [) E

: ~# L- `# U; D--输入重定向符(<)把标准输入重定向从文件输入! Q5 `/ I5 i. D

7 l# o4 y4 i" z-管道符(|)把标准输出重定向输出到别一指令
; [/ L( f' x' X) U, Z9 y$ R* x
- X! X; Z7 J/ z+ h% w, O2 o寻找文件
* d- ]+ E2 m$ l0 e' R3 \" T7 X" F
find(c)指令可以在层次目录中查找文件,例如:
- A8 g1 }# {& g; Z, y$ f6 R. ~) s" e# B$ T2 o5 v4 v) Y
$find/-name filename -exec rm {};# L0 k) t+ u) ^
' V- I: i8 O/ e4 C/ J
-name filename指定filename
* k8 A" Z6 m. |+ M* Q7 b
9 ^' N, N9 F& b2 K" p% ]-exec rm表示在所找的文件中执行rm移动这个指令; @, e' B5 V4 {8 Q4 n
/ c1 ~0 x; L$ h4 M' I
另外,用户亦可以加入,-print表达式,显示找到文件的全路径
( B' H! X* {' B8 [; w# U, \名。& c8 v0 j3 P3 ^
- W: Y8 Z& ~2 ~2 W, @
除此之外,find(c)也可以用来找出特定用户或用户组所持有的5 `0 p5 d" M0 F7 R( H& P/ r- F
文件,譬如:5 a6 y0 }1 C4 d8 b( k
# K# p% T% m1 c7 s% H4 V
$find/-user bin -print
; W5 K3 b5 s, W: }  y* J. l: `1 Q0 V  K
$find/-group mmdf -print
' ~$ y+ J5 v* s" G9 m; J
) e# r. [- `- u& T2 [  Y2 S: y又或者,用find(c)重新定向过滤程序,输出错误信息,例如:5 _7 r: P4 L# X
  i9 r# T2 X% D/ v+ Y
$find/-name motd -print 2〉/dev/null
0 P' w# s5 @% ?+ Z+ V4 M, x' a7 Z2 M
SCO shell, u9 U$ F+ P4 y: `* k

$ G$ m2 p4 d2 p9 _2 s使用SCO shell,可以让用户从单个菜单中选出应用程序,管理
* q& O6 ~5 p  b  Z6 W5 u. f7 e9 X+ v* Y文件和目录,运行系统实用程序,要调用SCO shell,可键入:
) L* ?0 @0 O. P7 z
" f3 u; R8 r7 b/ h$scosh% d  x- G" A9 [- j% L9 m

) u9 O) O4 T1 X3 J可以利用空格条键〈Space Bar〉或箭头键〈Pointer〉移动光标,/ B& q! K" v2 E8 z% m0 H5 ]
加亮所选的菜单项* K+ f* Z. G  G/ J) }) Q; b7 q
' @* N8 ?+ S8 H- l
-按〈Esc〉/ X" D2 e3 b2 O4 m! c

1 c4 t/ a# g) a# i' |回到上一级,或放弃当前操作
: ]' @8 ]4 J# O; r% Y! s" `. H. r$ T  E
1 R/ _% q4 P+ Q# ?-按〈F3〉/ g: _% _8 E+ [
' z2 {5 [; K+ m' e+ }7 k1 o
显示所在字段中可用选项表
" `0 n! p) d1 e! D+ Z
4 a  d8 D$ e* @& H' G-按〈Ctrl〉v 在字段选项表中选出每一项
2 o5 J' j& _! L; I- `; T) m# W" k$ }/ R& d% i+ e  {/ [
-按〈F1〉5 T8 O; ]# T' x( g' z5 p. q# [

: O8 w$ O3 p  {& O8 W3 g显示求助信息" ^8 C/ e+ ]7 W. F$ t2 f, [

! X" E: }0 s& z; l( P& R1 Q-按Quit或打入q 退出SCO shell
8 z) j4 ]  J% J& ^; m; f0 f
6 i3 n+ M6 J. E; ^! q  y: W2 A系统管理shell
% u+ ~% t! F# R. x# e' a  ]6 [! T# j* m; B, l" P8 b3 V
需要调用系统管理员shell,应该打入:
7 m$ p4 F2 a4 t1 ]" u2 \" H. ^# N9 r
$sysadmsh或$scoadmin2 k& z; ~" `+ c4 S4 @6 b

+ i/ }. R* D! Q虽然每个用户都可以调用sysadmsh,但是,只有实权的用户才可
) |0 H5 R1 u- g4 _/ w& w4 ]执行有关特权管理任务。$ I4 w- {( ~  s

7 K& \, y! [! V基本上,使用方法与SCO shell差不了多少,只是多了几个功能
2 `/ M0 R' u, N/ X  o键(Function Key),例如〈F5〉搜索,〈F6〉改变目绿和〈F7〉0 J: `# m6 Q, f& C" Y' O: s( k
执行格式。而且,scoadmin更可以在XWindow的图形环境下执行,5 b- x) y" k9 X( N/ x- `
用户在图符(lcon)上找到不同的管理任务。4 _) }0 @4 S4 s; k) u! @

% I, J6 w8 Z2 Z4 S/ R& e多重注册萤幕% |- u% Z/ G% }7 c0 b% T+ }% Y
( r4 V  M% s4 F1 [; C
控制台上,可以允许用户最多具有十二个不同注册期的萤幕。多
1 v' M6 A, K3 S3 j7 }( P$ Q4 |7 T! f# Z重萤幕令系统管理员可以同时执行几个任务。
. ?% c$ h: Q  H  v/ d% Q
: a! v) Z. K; Z, P系统启动时,控制台上的多重萤幕就会自动活动起来。同时按〈
% p2 X7 X( k9 }5 sAlt〉键与〈F1〉至〈F12〉功能键,实现萤幕之间转换。
4 E0 o# k& D8 H) h$ L; n# h5 Y4 ]& T. N
至於,在终端上,启动多重注册萤幕,则可用mscreen实用程序,$ L$ G3 M" Z" l/ p
为正确工作,mscreen要求为tty。例如启动两个萤,应该打入
' [: L0 u, o' I1 N  O, z* S# l, g  N" ]  @1 Z2 T& i  B, D
$mscreen-n29 F* A* M* p& p3 \  Z1 _5 t: ?9 ^
" r0 y5 R6 C* Q8 \. H
然後按〈Shift〉键与〈F1〉或〈F2〉键,在两个萤幕之间转换,1 c5 Y9 k' U! A$ G. b, K7 `; V! v( T
当注销时,确保所有萤幕注销。+ Z$ y8 Q& _; E. ?
4 G5 M4 ~; R  R! b; a3 o/ v
</P>
作者: huashi3483    时间: 2004-9-27 15:17
<>第五讲:电子邮件</P><>在SCO System V下,每个用户都有一个系统维护的私人邮箱,* v+ ^: O- d6 ^8 A' L) K& A
 用户能够与系统任何用户或用户组之间收发电子邮件,所收发的
) s/ U6 E& t% n- {8 } 信息可以保留在邮箱内或作独立文件处理。 发送邮件
, o3 \% i5 n0 N8 u! V$ e6 u9 z8 b: ]  C) ]* J7 L
 打入mail指令,後跟收件人注册名,就可发送邮件。假如发送邮
- l. ?2 f6 {9 o# b 件给多个收件人,名字用空格符〈space〉分隔,而不是逗号。收8 v/ b* U0 k& W: V9 D9 T6 O
 件人可以是一个单独注册名或一个别名,别名代表用户组,例如:
- x8 z# X$ A) R1 E+ q
. F% ?5 h* R2 h: s7 L2 T5 N0 i& @2 ^( B  w $mail peter amy7 o( x' S" m' @+ Z7 y4 ^3 @
1 M6 f7 U7 [' q: o) Q% \9 |+ c, M7 r
 接著,萤幕上会出现subject:的提示符,用户即可打入简短的信% x9 _9 z9 p; n; A! |: B/ _
 息说明,完成後,按〈Return〉键,然後,就可以编写邮件内容。  z' k6 ^/ g6 y9 d! i6 O

7 K( z1 o. m/ r4 a5 @" C 需要校正错误,就该使用空格符或左箭头键,用不当的空格符或# @, f# T1 D5 k) I
 不合适的箭头键,即使在萤幕上看起来对,但是收件人可能只收
* o6 |1 V/ h7 B' h# o 到不可读和篡改了的信息。请记著,mail内的内容编写,不是「
  I) O6 j' C: V/ p- J: x 所见即所得」(What You See is What You Get)。
$ f* g8 h' Z& ?1 D7 {4 i6 G% g) G: j
 假若需要取消整个信息,按〈del〉键两次。写完邮件内容,按〈1 }/ p" w* a" Z3 v
 Return〉键,取得新行後,按〈Ctrl〉d,发送邮件。d就是done(
8 A3 ]* U* E( u$ { 完成)的缩写。
# L& I. F  M& G0 n/ `4 p0 a+ l4 F6 n* ?' a5 E; \* r* ?$ o
 阅读邮件
) `  O9 Y6 C# i/ R  g, [3 @# `9 T* V! o! t$ X
 每次注册进入系统时,系统都会通知阁下,在阁下的邮箱中可有
0 s# z& G4 I( U3 [' \# ~4 K5 W 邮件,需要翻阅邮件,打入6 y. k  t) E4 _) [) f

6 M- u8 R: ^( D3 A+ Q* u5 { $mail
$ _, j4 F: _; E% g. `* T$ J* F2 ^/ i: W1 l5 }: y
 若有邮件,每每邮件都会显示出相应的信息标题,包括信息数,
3 i3 i7 {9 e4 n- z1 L 送件人及发送日期。下面是邮件范例:' t' }# Y/ k4 V
/ N1 W3 [, i9 a+ A* M+ M; c8 N) q
 $mail
7 Z. V4 l" f- p9 d  V  `
5 j0 I% z1 E  E  B) L SCO System V mail(Versin 3.2)Type? for Help" Q* }5 \7 Y8 n% d/ f

; ]+ L+ r4 }3 ]: y) S# ]4 l "/usr/spool/mail/joesco":2 messages/new/unread+ C3 ?& P" y* I- b" k
0 X1 l5 c  U3 `1 w, l/ S) k
 u2 mary Sun Aug 05 23:48 47/2109 level 25005 J0 B. m0 x" u5 G8 f4 Z

5 m0 z* E0 ^4 |; J/ A, e7 }5 n- t n1 paul Fri Aug 03 08:01 23/6332 Tardy reports!
- \6 J6 E2 E/ o6 f' W: {  j- y. d$ b2 _3 _/ N1 B7 }
 要阅读来件,可以使用箭头键移动选取,按〈Return〉键阅读,, m* N; _5 h& ]7 S8 z0 b9 p: C/ z" J% ?+ z
 或在提示处,直接按入来件编号。若已读到邮箱中最後一批信息,- c+ w8 Z  f' U& |) c
 mail在萤幕上会显示"Can't go beyond last message" 。
$ M5 [+ m' f  x- {0 K5 e* ]( e: D
4 C; o7 k* ^2 ~$ T 处理mail8 h. k' ~3 S+ r0 A: H( q4 H4 W

1 x6 ], q! b9 I, F) y9 Y 当打入一个无效指令时,mail会回答一个问号,或"What" 的信息,
) s- H2 ?. `5 l" a2 G8 D 显示指令不清。假若用户想显示mail指令表,可以打入?;或打
) M5 m7 H+ N5 t& |5 z' E, Z 入h,显示邮牛标题表;打入l,则会发送信息至打印机。另有一/ t% ?8 o  {( b" I! ^
 些常用的指令,协助处理mail:
( p; @6 n! s+ w6 {+ j, ]7 `
* b8 x3 ]/ d- M2 Z- _, o, @ 一、保留邮件
1 e7 e, Z# G( K; j0 P  _
. {7 t/ I1 [2 v+ r8 v "s filename"按普通正文文件保存整个信息至filename内,连同5 s+ _& Q% e& l- [7 @+ s- |
 邮件的标题信息,一并送入文件内。7 N5 J% e3 c6 D) \# Y: o$ ^

$ q5 W+ y# o/ S% ] "w filename"撇除邮件标题後,保存信息到filename内。
& y6 q6 m) L( b5 I
( S/ f3 E; n9 o6 d$ u 二、删除邮件( L9 P( R  _8 ]: D

( |3 f7 p6 t! F: X5 f! G0 c "d x" 删除信息x这个信息号数8 d3 a- d% m& F' b

+ z$ E8 k* ?7 D% |; u  l "u x"恢复被删除的x信息
; `& y, c, D! I' E# N* a( j, Y8 |/ |4 f
 三、覆件
( `+ p. q; V' L$ a
3 ~! T9 b* F: I, b "r"发信回答给送件人1 x9 F; X5 \. {+ j. l2 n- `! Q4 w
  C2 \( ?" H2 x7 u" T
 "R"发送回答给To:和Cc:表上的所有用户
$ a, A! ~3 ^5 d, l- P
( Q1 c1 g. {9 x7 _# I" J# { 四、转发邮件0 O9 @+ o* y  X; J$ I! k9 y
/ r# O6 c" k; ^
 "f login"转发信息,予其它用户,并分送来件正文(Original
6 Z/ I4 K  C0 { Message);login乃用作的注名. L0 C" d# N# c4 Z5 Z' q7 a
2 ]8 C. l+ y( Q% w7 F
 "F login"只转发信息,不分送来件正文
* s  Z4 r5 @. Z1 s7 C
* Y2 @$ Y9 F1 _. U# M5 l. e4 b 五、退出邮件; e0 v+ @9 u1 e
  ]! R8 A, _$ Q( {$ E) a
 "q"退出mail程序,并更新所有改变
7 [% }) S8 b! d; K+ D
, \1 v) y4 U, @4 g+ Q1 ?' P, O "x"退出mail程序,但不作任何改动
1 n% Y2 n, f# G0 J8 |$ u, Y+ [7 K8 E' n8 C
 其它处理邮件的方法
: r# L; b* P# T, r7 H% O+ a  A5 C
- O4 F" n: Y- o3 _! [' M  Y6 B 除了以上所提到的基本指令处理邮件外,SCO UNIX尚有其他较2 X& \3 y& |7 f- W- U  e, Q9 d. r7 b6 h
 复杂的指令可整理邮件。在mail内,所有指令前都要加上波折号~# ]6 Y  G1 K3 `# p, C, N- F) k
 v,调用vi编辑,一旦完成编辑信息,通过vi的指令,例如保存和9 {7 I/ P  d/ K  k7 M
 退出指令:wq,就可返回mail程序;按〈Ctrl〉d,就可以直接发3 f) N3 ~7 R$ j4 K1 {3 J4 Z0 f/ w
 送邮件信息。
  K7 Q- v; ?# g6 X5 u
( }/ i- g7 X0 _ 其它mail的增强指令如下
$ B  P* y; G1 n! c  q; h
  p7 D: v: E; g% C3 E -~m messate-no.把邮箱中指定信息5 ?% A+ d0 I. p9 D) [& j

, D, p, J& t. E (message-no.)放到所编写的信息中
' L9 [# I( u6 h8 V) d3 w6 Q$ i" z) u( c. e5 K9 o
 -~r filename读入指定文件(filename),送到当前信息中3 A1 w3 P+ m7 N9 M% |( A
# P+ I! l4 r  ?( o& |" N6 @
 -~p察看信息中的当前内容3 [. {2 ^) O% y! ~% b0 g0 c' M% o, R

5 A; O. I. {6 g) x4 b( I/ Z -~?求助$ @+ h# ?7 q8 B8 @; |$ ?) i

6 p4 S2 @( @! F0 u 为了方便mail通讯,系统管理员能够定义不同的特定单用户或组% Z$ h; Z4 w6 e* k# A& E7 k
 别名,通过这些单个组、别名或名字,就可以把邮件信息发送给
+ i" x3 B$ N! M* u% r 全组用户。发送给别名成员,可键入如下指令:: O" Q7 F" S0 a3 m# l

; x- J7 J3 }* m* d $mail aliasname
% }. i3 M. I9 x: I
4 K- i. q+ T' W  `5 Y1 E( m( O 如果要限制组员和其它用户的私人邮件的存取权限,可以使用
& p7 V! E4 e  Z3 Q- o chmod指令,例子如下:- a4 `; X2 F8 m  ~6 P# Z
+ r' }$ u4 ^' e! n
 $chmod 600mbox6 E% o2 B6 O9 V
1 {) C5 m0 h) H3 I0 f1 I( {2 A' ^
 在普通电子邮件提示处打入set,可以控制选项,改变读和发送邮! D3 o+ r; o4 x1 k1 S/ K6 ~
 件,这些选项可以由系统管理员为用户自动建立,也可以自己修  m% Y9 O% ]* D
 改这些设置,例如:% e' _0 w9 F  g. q6 q; U; _0 }

/ P8 h( k/ m7 z set page〓10
8 |; R- j3 M( n# [8 q; W
# E5 Q$ u. K* B$ _0 y4 }" G  a mailrc环境文件) ^& i/ Z/ A% g
" G, Y& A0 W2 ^  C) L$ Q8 i" K
 mail的环境文件叫做mailrc,负责保存所要文件的永久记录。
3 H# z! X' Z5 s; ?' S
2 Q( x; L( ?! v$ U  p* I 与其它环境文件一样,mailrc必需放在主目录中,它是正文文件,% x: K  v1 v: d6 F3 u9 t
 包涵有效的mail指令,mailrc通常包括set指令和alias 定义。. j& S3 _( X: t$ Q9 o. h
; \  q. F4 F5 t7 o: y
 不过,运行mail程序,倒不一定要有.mailrc文件。如要查看
" B( k: K5 D4 u% V( p2 Y( m6 B .mailrc,可以打入more .mailrc,下面是.mailrc的一个实例:( I1 C  `1 O* ^# _9 ]! `5 B- p

" }! p3 |, g: P cd+ j: O6 G+ i) }, L7 O, D0 O3 }

& q3 f: I. U- v& Y' U -在mail内,改变主目录nset autombox
1 |5 t7 _& n- ]3 F0 Y' Y
% p$ S" L1 S4 N; L 删除自动把所读件转送到私人邮箱# `* D; B. j) O$ z7 B, M* j
$ f+ R' b% _. s3 |) s( W6 \
 set page〓20
/ P- v# ]/ o; x. `' m7 x
: z2 W1 l" f; D5 g -若信息大於二十行,用more显示9 ~* Z$ ?* X  R0 c2 G

, V5 _8 x" W5 w alias crew john wanda frank' M* I1 R+ H$ o; x+ e9 x

) ?0 {% a1 l' b -发送给crew的邮件转发给表中列出的用户% h( e& I+ X' [' |) t; J9 F$ A

5 }. y3 \+ }0 Q0 W set EDITOR〓/us/lib/word! I7 J1 s% u" O) s$ [# o. [' \% k
3 u1 X+ B; H9 C6 w% j* {0 P
 -把word作为mail默认编辑unset chron+ {) f' r5 F1 b  N$ L% k5 `/ C

6 ?6 s- A  P! V- c, b& @* [: \ -显示当前最新邮件 上述的.mailrc例的□面,当打入$mail crew,, [0 j- ]) M4 B$ p7 T  G0 e2 p
 就能够把邮件发送给john,wanda和frank。
0 c; y- Q& ^8 B# H- p. y% X, Z3 u0 j, b: f% b0 F
 监视mbox是默认设置,如果不想设置的话,应该使用unset; R, R% s" o- j& L+ ^6 }7 P! w
 autombox,而当mbox的内容很快增长时,通常会删去旧信息。如
8 \% e. @7 P1 ] 果要读mbox中的邮件,可以使用如下指令:$mail -f mbox3 Y3 d  p$ L  w6 v- U
/ N7 j9 H7 ^. b
</P>
作者: huashi3483    时间: 2004-9-27 15:17
<>第六讲:後援复制</P><>电脑系统内,数据可是相当重要的一环。贮存数据的方法,可以
4 m9 R0 I: w  S% Z: [* R* e# | 经软盘、硬盘或盒式带(Cartridge),盒式带通常为大量数据提# c- {6 B5 W2 a' Q& M& B1 q9 f( \
 供後援(Backup)。+ ]" i  H$ h% b, M

2 M$ {, n, I, s 复制目录
, Q2 j- z/ V- f" @5 W/ n2 o" h" ]3 N+ `; i% s3 X
 在安装的文件系统中,把一个目录内容复制到另一个目录中,用
- K, y% S$ t+ }# t: i copy 指令:. D$ _$ T8 Q6 W9 d
( k: F7 J. C1 y; o5 ^3 `9 P
 $copy source&gt; destination&gt;0 I; A6 n4 l# y0 c
2 s  ]$ I( q- L/ h# u0 D
 #copy -mor source&gt; destination&gt;
$ Z- Z9 i8 y& G, S; R- j# d$ P# \; F% o7 m5 b5 h4 t+ X/ V3 a1 m
 转换并复制文件# G% D; |4 s4 J$ B$ e: S2 e

  k2 @4 ]6 Z  U7 h# _" i 使用 dd(c)指令,可以把一个文件转换成另一个文件,也可以选择
( U% _5 \. _' y1 e$ I$ n 文件的一部份传输,在传输的数据中,也可以交换字节顺序。
. V' s' `' r8 t, i/ a/ l) i* F# [5 V9 Z# h0 v4 F4 P2 i+ g
 $dd if=/dev/fd0 of=/temp/save skip=5 count=86 bs=5k5 @5 K, o4 C0 v

- @1 _" L4 x% X* V6 ^) t) ?$ T" ? 上面的指令〃/dev/fd0〃 是指电脑上的软盘,〃skip=n〃代表在
( Q* |, P7 M9 a: h8 F, M 复制到输出文件之前,跳过输入文件上的几个记录。〃bs=n〃则
/ [3 k9 S; d* H. T/ E 表示设置输入输出字节块长度,用 k 表示 1024 字节。〃count=n〃
& U# \% {5 L; _) E  V 只复制输入记录的指定数。
0 g3 H( b6 [0 I3 e) L' ?( R% Y
 同时,也可以利用 dd 指令检查归档(archive)情况,指令如下:, }* R, z; E, z; H' A
8 J0 g1 R1 g: Z$ y" X" a! U
 $dd if=dev/fd0 of=/dev/null bs=1k
4 U6 l0 |6 u* c, U1 G( E- x( C' w  l  q2 K+ J( X
 1200+0 record read in
! D6 n2 J) J0 \* V, T
" j- |& b$ M# o: [1 x6 R 1200+0 record read out) w/ x; v" l/ T7 ]6 }

' N, K5 S# y: `' m1 m; Y& p9 n 归档文件:tar(c)
8 T: X3 h& {4 Y: s/ p: T& u
, v1 ?3 D1 Y9 |. O4 z5 r tar 是对非特权用户最易用和最可靠的实用程序(utility),从
% I% R% x% u: v7 C; [. W) [! Y% ] 归档介质上保留和恢复文件,亦能从多文件归档中抽取单个文件。
9 P' |9 l* p, h& K1 j: Y6 {; Z tar 归档使用文件和目录的相对或绝对路径名。+ c# {% _' Y/ K# h, c$ }+ a8 x$ G9 i' I& U
9 V8 e9 [6 |( o) q6 m' R& G
 打入 tar,即会显示所有变量选项;”cv”是创建归档;”cv#”
7 \+ j3 r, I4 ^# p5 B 用於来自 /etc/default/tar 的设备号 #;”rv”追加已有归档;”5 e- w  P1 e( l1 [
 uv”更新在已有归档上的文件;”tv”显示归档内容表;”xv”
' ~0 J8 n" q+ z3 I: Y 从归档中抽取文件;”f”从指定文件中读入或写出;”L”使 tar
4 {6 Y( ~2 L$ P9 y8 ~) G 跟随符号连接继续追查下去,默认情况下则会忽略符号连接。
9 Z! ?$ v1 p! [8 ]$ K
, k! H) }, ?% }8 E9 J3 p 譬如要归档指定文件,而复盖盘上的已有数据,指令如下:9 b$ W6 i/ K: A

$ q& ?* e0 N* ]# g6 w9 L% a $cd pub% Q) L9 T1 ]* _1 a! |
+ D- q. w0 Z! J
 $tar cv6 ascii greek
1 m! j9 y; d' r1 U7 `/ [" c; M" h
* B  x9 g3 {* C" s volume end at 1199k, block factor=5k
% B& S- \9 R/ W
) h. u# \! d% L. [5 ]" {  m seek=0k a ascii 3k4 {* k$ ^$ M; \) p: N' j

& ~6 n+ N1 }5 u2 L( E& L2 d" @8 i seek=3k a greek 1k
* v! @' f+ m( j0 n
# t; V4 p$ c6 x 要列出 tar 归纳的内容:: F3 Q6 _; d! o9 V

$ R  L. v/ g$ S/ o3 l3 F% }2 K7 M $tar tv6
1 m# h& o" z6 O' f$ Y0 v) h2 _5 l2 {9 a4 P% F
 rw-r--r-- 2/22114 Jan 2 13:41 1996 ascii% r2 H; T$ g3 J0 S, |
  c9 `8 n7 @+ _8 K1 N
 rw-r--r-- 2/2475 Jan 2 13:41 1996 greek
; z8 L# E; `8 y, R2 x+ \# B( F* {/ ~6 T, \6 u7 |( c1 J
 创建 tar 归档,使用相对路径名,否则,恢复另一系统就会盖写% E7 l# @7 E, C
 其他系统的文件。, T; G- o+ h1 L, f1 I

' K8 f5 \+ e; @/ u/ b+ [ #tar cv6 /etc/motd1 e- U; D2 p" M9 `& P$ M- H

( x" e! e' {- @( c. u4 T #cd /tmp
$ F3 y% N1 Q8 {, t( @; Q) n. B. ^* R( k
 #tar xv66 i9 a, j' L! |4 q5 J
8 ~9 G2 S$ ^( `
 x /etc/motd, 943 bytes,2k3 X! t, m+ k) H: U

- b) r  o( E6 W5 z/ Q0 p+ d( H 归纳文件" z  R  y2 M, B7 \: b- Z

% u# n, r0 z. @2 ^" q7 M 当需要後援指定设备、後援空设备与使用匹配符的时候,就不能% a+ x8 \# x% `9 v7 O7 L
 使用操作容易的 tar,而需要转用比较复杂的 cpio,用以归纳文件。
6 w* D) z/ Q( J$ N5 |8 q1 }
% P* y& B$ p9 U4 F 譬如,需要选取文件建立归档,指令如下:
5 H" [: Q9 V" W& U5 v- F9 I! Z) `2 ]
2 E) S3 ]* M0 }  t& K- p $find /u/bill -print| cpio -oB -O /dev/fd0
9 G# j  T' e6 x, @% Y3 P+ i) F3 L7 ?/ q
 20 blocks
- ^) t/ M5 s6 @5 S( T; D  U' E1 [. x3 d  v& ?  U
 又例如,需要抽取 cpio 归档文件名时:# M/ {. h; c0 b+ `4 _

. d5 [3 L$ d% u* s. R/ n $cpio -idmuBv -I /dev/fd04 ~; {7 P9 h7 r+ ~
, P# B: j) ?+ s8 N" X
 .profile  f" v# o  [/ K

# E+ v: j% K/ b9 U ascii- H) {- n+ f' U4 \* F

8 l& T* k& R& K3 r eqnchar7 ~) |+ @& i2 b( J

9 c/ l8 x1 |+ h- J greek/ r" w/ m: E0 e; d* u" ~
5 _) K5 i9 U$ |3 r0 ?8 ~
 20 blocks. E. `8 u$ B( s: J

& c, h8 U. A2 V$ r. F& A cpio 主要选项为:; E' X. l1 L. o- \5 |% U3 D
: i: |! m$ v+ U" L5 h1 _
 -v 显示工作" f: i  I# j. |

" ~1 x: `2 ]4 B2 z' v# x -i 读归档
' ?2 a* K2 ]1 i# l3 j: j# u' c' T. X& V2 n+ W1 L/ o
 -o 写入归档
+ o4 L! A, N1 w3 }9 Z- y! w
* j0 J8 b  X! H# Y* C0 b& I. G8 E -t 内容表4 ^5 h5 |: K, |0 W& |

# U  \" `' G' S9 f5 D# M1 T -d 创建目录
+ t% c1 c) U) X$ U2 ~
% n6 R7 C0 E1 m -m 保留原修改日期( V5 R: B* {) W
; U3 }6 R3 s3 P& h0 ?
 -U 无条复制
8 Q8 {& `  O8 y8 W$ @
8 S6 Z: j" m- L  O -B 分割因子置为 5k9 ?8 v. }& H: ~; s6 y' p- r( |
' g/ V7 P# l- u: c0 S, W  {
 -Cn 分割因子置为 n5 p. W# D  e, {! f8 q5 W+ Y2 N

. u! v8 k& x6 W+ } -Kn 介质长度置为 n
+ g3 b4 V4 @; X) v( K1 v1 ~
. r5 R- T5 _  r# a 後援复制
6 r0 B3 v3 x# f8 I
4 f* Q. @0 w+ R9 |- C" j2 @ 後援就是要平衡运行一般後援的代价与损失数据的代价,确定要
0 l! v* e, I& q5 ~2 `. U 归档的数据类,并确定要用何级实现,以及确定所要求磁带的盘
  _- P  v) b3 |/ J5 T( ~6 b' G7 M 数和带的容量,多久存储一次後援等等问题。6 \/ P6 Q9 a, x; U# B
% L! q$ \+ D4 T1 Y6 A, l7 `3 E
 一般来说,後援复制可在 sysadminsh 或 scoadmin 执行。
* O! |5 Z7 c. ~: B1 M7 ]6 U
3 G9 Y! m' y" d/ T9 q 所谓增量後援(Incremental Backup Levels),就是只需要以上6 D- g' m# o" c5 C8 }
 次归档後发生改变的那部分数据後援。当实现调度後援时,在
, n" m5 U/ b+ m9 E0 [$ J /usr/lib/sysadmin/last/中,将文件记录下来,可以透
' L2 d) g& l2 S1 `+ {9 F 过使用後援级来实现。. F+ G! U( }% J0 }4 U7 e
7 q) v& v) j6 ]6 Y" q; X9 h
 後援级的 0 级就是後援文件系统上全部文件;1 级则後援以上次
2 f8 b0 x8 Q: U( S- u: K# K 0 级後援以来改变的文件:2 级,後援以上次 0 级或 1 级後援以6 h) u8 o6 u7 Q# B
 来改变的文件;3 级,後援以上级 0级、1 级或 2 级後援以後改变
  Q1 U- w- Y8 C$ f, d9 a$ I 文件。7 |" F6 Z6 D4 ^. s! j
# k2 t+ |; @+ v* j' i. C
 经定义後援工具後,後援调度(Backup Schedule)就可以更方便
9 j: W  m# q  Q4 L3 g5 G+ z 地执行,配置档案则会被安置在 /usr/lib/sysadmin/schedule 中。
. i9 l+ v% Z/ C0 W% A) a9 y0 X
. R+ |/ I  d3 V3 v6 H 假若在紧急关头或特殊情况下,用户亦可以使用非调度放援,进
: Y9 a* b1 o5 t+ a; z0 j! n7 W9 s7 r 行紧急後援。
5 X& B) @+ [, o4 H' L  U/ u( @$ A4 q3 k! t7 I
</P>
作者: huashi3483    时间: 2004-9-27 15:18
<>第七讲:用户管理</P><>系统管理员的用户理工作包括:为系统中所有用户建立帐号;以
: z5 |, l. t  ^- u( X" r9 A及当改变用户环境、口令与组别时,进行维护。
8 K2 C8 @1 l9 j; u# }% l6 j/ h1 K* `# g. O% J
分析用户需求
* |3 g: c: R' ^$ f7 w2 F7 n
, }5 k$ z: h7 H6 D" W  z1 I每当需要增加用户时,系统管理员都会先分析用户需求,对每个' w* p: g. Y+ F
帐号成分,通过使用默认选项来满足用户需求。要从sysadmsh中
) G- U9 O! M: q, g4 S查看默认记帐选项时,可以使用以下选择。( k6 }) n+ C. Q* Y$ w# @+ x/ Y
- K& n- H/ X9 x: r# L8 P) @6 r% j
Accounts□□〉Defaults
2 W6 E6 [3 y+ o) S  f' v) U8 O% I; m" v- L/ k+ T
或scoadmin□□〉Account Manager( V: n0 z( Z5 b% J

  R2 J$ e' k+ x当建立帐号时,评估用户需求,查看是否需要修改记帐成分。若2 H" ]3 {" G  x9 R9 t% k
用户仅用一个应用程序,编辑用户的.profile文件,在用户注册
  J. S* F4 v' {- s7 s% U) |时,每次均执行此文件。
" o7 S" D5 |( n2 \. w( g8 A* N$ c1 \* ]' B8 O* u6 j. N0 r# D: H
默认值建立用户帐号(Default Parameter)
! S; C( R) T) E# B3 q$ f, c  I3 G& F; s$ ^" P" z
首先,打入用户注册名,小写与三至八个字符;填写注解栏时,
# y0 L8 }. }( T6 R# ^( _; d* ]0 S应包含标识信息,如用户全名、单位、电话号码等。另外,指出5 W( J! p; J) q1 N9 o9 ^7 T7 k; Z
是否愿意用系统默认方式建立帐号,抑或对帐号修改默认值,若
$ c( L" R! j: i3 Q3 q使用默认方法,则选No。确定你要增加的用户後,给出创建後的9 N' ?) Y4 Y4 C/ s& Q
文件和目录,再执行/tcb/lib/useshell指令,建立用户帐号,
) d; ?4 N! x7 x9 v' U不过,在UNIX系统指令中,要通过sysadmsh或scoadmin才能运行2 \: I& q5 O# I6 G0 r9 W
此指令。
# i- O) Z1 D3 Y" V+ m8 Z1 }# B2 S' E5 j& z
若决定改变用户记帐默认方式,则在建立帐号时选Yes,那麽就需* n5 [+ H  U: `0 e
要填写每栏,在合适位置上,按〈F3〉或〈Esc〉,下面是关於非( G" }4 K: V- K6 d! i% q
默认的设定。
2 R4 e$ S3 m* I6 t: J# `: _/ O* c+ E! O0 T) \# i7 d9 K8 ~
指定用户组7 z' |& e+ Q. ~
5 D7 B/ A" A4 N- O
每个用户必须至少属於一个组。默认情况下,用户注册组是group。; I8 k; Y" h4 M  D
在一个组内还包括读、写和执行文件的权限,附加用户权限给那
2 d5 H4 \, ?. f6 \% v个组,作为指定组员的存取权限集。如要改变成组别,可用newgrp(
$ A9 n8 O; b0 }, C$ Vc)指令。% g% z3 C. K4 O, C. ~, g

0 ~+ D9 l9 f+ B# Y增加用户时,可以创建一个新组,或附加到一个已存在的组内。
  h" Z2 C+ }: ^' b3 m! D; p/ i有关组别的信息则存放在/etc/group中。凡增加用户创建新组
0 D  a, v- p- B时,组名会自动递加到/etc/group文件内。9 ^7 d* Y) N0 l( L: d, D. I: U7 J

* {; g& I+ M( n8 `组ID能够由系统产生或人工指定,但必须在100到60,000范围内,5 N1 k+ c  ^( ^) Z! C4 w
100号以下的ID留给子系统和其他默认组用。当管理一个网络系统
. C; P/ g8 Z8 B) E4 c时,常需要指定GID(Group ID,组ID),避免混同各网络结点,/ l" H* c  T( ?
所以,最好先选用默认组ID。9 v( n2 k0 O$ f0 H& O/ U  [5 `% s

* x' s# z! K9 K7 e) ]$ z指定逻辑shell- {2 j* V  T% M0 d( d, i/ r

. U6 x9 ^3 t" Z1 {9 G) e  D要知道用户打算选用哪个shell工作,SCO系统可选用以下几种不
0 y% m. F. @3 U3 I" |/ K8 a同的shell工作:
9 h# A" D* Z" q& n& x' R3 W8 L( W- y" Q
7 S) i: `: R2 \' K/ }! J3 lcsh: C shell。8 R/ R4 k& S% d2 I9 _: o5 t$ E
4 D( Y& l  [" X% o- {( T* K
ksh:Korn shell,组合了Bourne shell和C shell的特点以及指
( e2 [* T2 `7 m7 H8 u4 H; f令行编辑。
0 P& W3 R* c$ \& K* g* r9 l  T* i9 @) l3 M% r+ M! D
rksh:加限制的Korn shell。
! Q+ E/ G& V) v3 X" |  x
# G( x" C; y" }5 crsh:加限制的Bourne shell。) n( ?5 D! z' y# ^. z4 _! K0 E, M( t

. r# j. {. ~9 V* `scosh:SCO shell(图型化桌面)。- p& i5 @" ^: h3 I
$ {! i/ i# u4 z6 r; n
sh:Bourne shell。" C0 v# i+ K( Z1 ~& e) s; F* x1 ]

% P5 w  H* l7 b2 Q8 Tuucp:UNIX到UNIX拷贝功能,它本身不是shell,而是成功注6 J4 X% Q: @3 m  v/ Y4 `
册後运行的程序。
7 I6 i, ]- D+ A; O. s
  r$ h7 I% @" b3 H- z默认shell在/etc/default/authsh中指定,从/usr/lib/3 n+ m; `% H* b- F2 N
mkuser目录结构内文件中,取到可采用的注册shell表。
- R/ }7 S3 ~; c  X3 D& G
" J* O( h, C4 K指定主目录
3 s, {: F0 K  T! m0 o9 e7 `% W! F2 L& z
默认主目录在/etc/default/authsh中定义,从/usr/lib// m# _2 D7 Y: f0 b2 B/ ^# e
mkuser/homepaths文件中,取到可采用主目录的选择。以及为用
6 Y( h( T. X( y户创建一个新的主目录。
/ d1 E% A9 P, m- N# M3 r
3 O5 P% Y- ?7 P4 t: q指定用户ID(UID)必须是在200到60000范围内,指定在/etc/
  ~5 k) d4 L& o, |. l+ Wdefault/authsh文件中,UID必须是独一无二的,防止在网络上. n4 @3 O1 s! z4 w/ v, a8 `# e
有相同的UID,而且,UID一旦设置,永不改变。0 r  r. s* u" b: [# ?
/ U( G6 T8 `$ {6 g) y$ k8 P
指定用户类3 U5 M9 ]0 r$ s" r7 J/ O% H
' f: E; A( L: J" p4 b1 v
另外,还需要为用户设立他们的类别,种类如下:$ L" p' p1 A! [( I

& @! j! d7 C  i) i9 w- ?/ f-individual:个人记帐类。
! X3 `3 `/ G( k8 e7 c7 E
6 f! y6 ?5 V. s7 U: A) x  n4 Y) e' e-pseudo-usr:为各子系统任务设置帐号,注册时个人不应给
$ w' g' L% F  d; F6 w* Hpseudo□usr记帐类,Operator、security officer和$ r0 L" @8 A! C, c3 W, @: h
administrator记帐类是pseudo□usr的其他名字。: `/ F) G: X9 ]9 ?, p0 \! W
& g& }! K) @8 C% K4 x+ i" D% J7 J
-不能设置superuser和retired记帐类。: V6 ?, v+ y# Y/ f) U9 T

! u' ^  M# Z) \3 A1 ]  z如果要能使用su(C)(所变用户身分命令),该用户必需被指定6 g: x" t7 q  `, z( Z$ \
为用户类individual,才能取用此域,为了用su另外记帐,用户
$ _' \; U" I7 F8 K! M4 O! O, v必须有su授权,知道帐号口令。low、traditional和improved为
) b" |( z& c& J  S6 n3 a安全默认值,被赋予su授权。在high 安全默认值下,则不赋予su授
9 k, ~$ i( U% s) u" B6 }+ |权。1 Q" Q$ O5 u4 e! _1 P- L& c

' [7 M% C/ }' T- N赋予用户被始口令
5 F! w6 N7 E8 g
) C$ ~+ s5 h( M7 B% Q) e; |当创建新用户帐号时,就需要为用户设立或不选择不设立初始口
  K8 v+ l$ k( t: q$ G: Q: U1 a令。, [0 o& C( o$ T9 Z, Q

* i: {7 S  W- ]4 H-New:现在赋予口令,用户在注册时必需打入这个口令。
' X! i  K' T4 A, J2 r% ^( K
  y" z8 D+ e4 U# L% E-Later:现在不赋予口令,在赋予口令前,用户不能注册。
  @) O+ b/ E! b6 H( T3 [
0 F5 S  h# i# `" B4 n-Blank:赋予空口令,用户能注册,但在注册时,强迫用户给出
7 D+ p( [# T: y* ]一个口令。2 z" R& {7 ?% c3 x& }% g

/ Y, t- l" ~* x9 U5 V! h-Remove:不赋予口令,用户能不用口令注册。/ K2 N- W& o; M2 ]
- a) |1 I' Z- Q1 A
-Force Password Change:决定在用户首次注册时是否要用户强
8 k1 P6 [4 K' y迫改变口令。* ~# `3 Z  [3 j

) K& r+ Q. O- w# u; B+ c2 [) h9 t7 `在high安全性下,必须为每个用户产生一个口令。若赋予初始口
: R# T& F1 F: c. K7 y令,就应该告诉用户他的口令,希望他在首次注册时,立即修改9 i, N( w# ~" h/ r! I6 h  E/ F' y# i
这个口令,修改口令时,不要选用别人能够轻易猜出来的口令,+ g% V9 F1 H$ |, f) f
如姓名或生日日期等,最好在口令中,加有一个非字符。( I, i0 l  K  P) S0 w9 T
! T0 [4 v: g' E. A& g5 E0 A9 J
系统安全保护:修改用户默认帐号. F/ V7 X9 p4 o2 U3 ]; \. M

- a# ?. ?$ k1 {& l( I; H为了防止被人滥用别人的用户帐号注册进入系统内,保障系统的
+ ]. M* P8 U+ V3 R4 a完整性,系统管理员需要修改一些用户的默认帐号,以及检查用
% |( g2 ^" Z. Q户的注册情况。8 [1 S9 }& J4 O/ Z3 r$ n! X

2 {  z' D6 E1 X; {首先,管理员会设定不成功注册最大次数,计算使用不正确口令. ^  Z3 M4 |# ~, `0 G
注册的次数;当不成功注册超过最大次数,就设定加锁用户帐号
3 k! l0 P  T, w和终端。如果在完成注册时间之内,仍未能设置口令,也可加锁
9 @4 f. s6 k! L9 U1 A& F用户的系统,甚至根户用也一样。在成功注册後,希望享受优先0 G. Z( a- V1 D) j" L
CPU调度,则可以用nice(C)值,给用户she ll及由它启动的进3 d9 y) U) f+ }2 e* S, K' e; r
程,以调整优先级。设定值会存放在/etc/system/default中。
- g  C8 N* A+ D- K# m
* G0 a3 C8 ?( {. {</P>
作者: huashi3483    时间: 2004-9-27 15:19
<>第八讲:监视进程管理</P><>程序是一个可执行文件(Process)是正在运行程序一个实例。% V/ \# t7 ]2 K7 U" Y4 j
SCO UNIX System V支持许多进程同时运行,各种系统通过调8 V& b2 a1 O3 c7 y" c7 |9 C. f7 w* z9 f
用可用进程去创建新进程,与其他进程通讯,以及终止其他进程。
! ~  q. l/ m$ |7 O5 ?4 s6 f: l
进程族系8 Y; J3 {6 v: _1 {" c6 w$ U
5 ?% J0 i# C: D+ @5 a
新进程创建时,内核会分配一个进程标识号(PID)给它,并对( Y7 \& F9 I4 o
进程表中添加说明讯息。
8 u% c. d( j$ _6 j# t0 V1 ~" d& Y; {) C  }
由一个进程创建另一新进程,老进程为父进程,新进程为子进程。
; N. |, [  P$ @$ D) B: v4 i用户Shell执行的大多数指令又是它的子进程,子进程则运行指令。3 T0 f! s+ r" V
而父进程允许有多个子进程来实现任务等,待子进程完成。一个
' T' |8 D$ a# [1 }父进程可以有多个子进程,但是,一个子进程只有一个父进程。
7 S4 E6 G! S; s' c
4 G  }3 A9 ^2 q+ ?3 c+ o前台及後台进程6 O" |4 j* X. m" l$ ]2 S

  _4 F$ b) P% I4 F7 n; v4 a" ]" o在Shell提示处打入指令後,创建一子进程运行命令,Shell等待
' e- |' k' T3 b命令退出,然回到对用户提出提示符,这道指令与Shell同步运行,2 B6 y; i4 T* n
即在前台运行。
( r9 F* q% B# ~
. q9 }! B6 U; l0 H5 a" y在Shell提示 处打入的指令,若随一个&amp;,Shell创建的子进程运行
# q9 c- r% \& e6 t! {此指令,但不等待指令退出,而直接返回到对用户提出提示。这
9 q. [5 ~  ?! U6 l9 Z7 |道指令与Shell同步运行,即在台运行。% w) a3 \" U1 ^

  o0 q2 |  b! s  O$ sleep 10 &amp;+ d5 o) J' L8 t5 s, }) B) ^) K

9 r" @7 u8 T0 F精灵进程+ `: x$ p; _) ]# Q: d

! w( }1 f* D$ c3 i精灵进程是一个进程,它与终端和用户都无联系,也有人喜欢称
) c4 B# l$ h& h; D7 N0 F# q他为管家婆。精灵完成一些周期性的事,平时它睡眠。用ps (C)
7 G' c( l  w. ~  c6 `指令可看到精灵,它在tty区域中带有问号(?)。. m9 o8 T# I7 R/ r7 K+ g! s

+ _; C9 [' V% ^' t5 l/ o$ P-Sched:PID 0,它完成进程的程序在存储局和盘交换局之间交
) l- r% w- u2 l: v换工作。. `1 G* l: U) t/ [* B( {8 F

# s- u6 G. i) C+ ~9 J9 _-init:PID 1,系统自动建的第一用户进程,它负责初始化引
- ^- e, d9 X% L" O8 t$ E" _导和注册过程,也就是所有非系统进程的祖先。它会在终端口上,
1 u$ H) z8 I) R/ E启动getty (M)进程。# R6 }% P+ S  o
- x' s' f5 _0 e. G& V9 \1 ~
-vhand:PID 2,页面精灵,它频繁地把储页面内容送往交换区。, G8 {" M* r2 t9 R
3 E: b3 p! v' [8 e1 @
-bdfush:PID 3,定期刷新高速缓到盘(默认情况,每13秒刷" `/ v% k) q( O4 Y/ Y1 @
新一次)
( @: R0 {  K% b% V9 E
6 P) ]/ \+ I# |7 T1 A2 a0 }: Z-logger:归档系统出错讯息。
0 P8 Y9 D/ x4 E5 c6 C
" ]& x6 I9 C) h& @-cron:在调度时运行作业。" U. s; ^. b9 O' {; Q: p

% H; ^: P. S% H-Ipsched:脱机打印精灵。* J2 |8 j' S4 W0 C; d! i0 s& U* E

  h0 @- Z; s4 P! V孩儿进程
6 c  Y: |2 H) m% G9 J1 {: H) N, v
' b) S! u( Y: C9 X" q; V0 w$ w孤儿进程在父进程终止仍旧活动,由init (M)认它为乾儿子。5 |  A( F9 A  q6 a
僵□进程则是进程已终止,但进程还未撤消,因为父进程并未「
2 V2 M6 O* {8 m: Z# F; l& y等待」它,进程表仍保留著这□体,进程表的□体是僵□进程所
* `+ l) [4 @0 P* J0 `, a* s消耗的资源。
/ k0 S# E7 N+ L$ f/ O4 n
- R. j8 p$ M3 d' H随著新进程的创建,出现大量□体,但总数是有限制的,因此影
: \7 c1 i9 g* N& p7 l响新进程的产生。而孩儿进程与僵□进程不同,并不会影响系统
- f! D# X9 v+ E- l效率。& x0 X* q" r7 e# q# f2 h
% m* Y$ \) s4 o: G4 H+ R# @
通常,在父进程死去时,才会移去僵□进程。若他们还未移去,* u5 k3 K; w4 I; z; H
应由init (M)继承并移去它。
0 P6 T5 a$ f5 Z6 q: ^9 s4 p* q8 O2 M: z; t8 n
监视进程
$ c6 s' _5 j! q
! b  c; U7 y4 O7 K" F+ E2 `监视进程监注册户的数量,用以记系统的性能;亦会监视用户进
) X. d' a1 `4 d- x: r4 o程,包括挂起进程;以及装载均值等系统性能问题。5 P; a9 v  V% J7 Y0 y, r

+ q) Z- f/ C4 }要显示进程信息,可以利ps (C)指令报告,进程状态。在默认8 J# ^0 i6 C" U0 v3 g2 [3 q
情况下,仅会报告与当前终端有联系的有关讯息。若用户没有root权- h2 w" S( b/ T7 G4 ~( z
限,ps仅限以说明运行进程,报告用户的进程讯息。若用户有root权
! @* V3 D( H! X1 t) T, M8 M8 F限,则会报告在所有终端上所有用户的进程讯息。2 ?* ]6 R1 [7 w9 W1 y7 p! j

' E7 e$ d  ^: q$ ps-u joana
8 b0 j' v* m0 {& v) B6 w4 ~0 S/ [! o# S' u8 C
--u 〈username〉选项显示指定用户的讯息。
4 P3 f; X% e+ o  X7 l/ c
, V9 g# }/ T% f3 v6 ]4 o  B--t 〈ttynamt〉选项显示指定终端有关的进程讯息。
7 R5 q' |1 n1 b$ S
$ }: ^% f! B" S: K7 l# E) D而ps -elf指令则提供了需有F、S、C、PRI、NI、TIME字段的! j. g) ]4 w4 X* S* u) e
使用讯息。) l. s6 j# ?* L3 }) B

1 n6 C$ m8 [% C9 a  S* _' u9 T-F是标记,指示进程位置,20表示在内存,0表示交换在盘上,+ R& V" j3 P! C
31是系统进程。5 ^' i" Q. l+ m$ _3 H% l( K
' \! [' _. O! X" g/ t7 u
-S是状态讯息,指示进程状态,睡眠还是正在运行。
% t: P2 R; V& V6 C) j3 Z, q6 p* [+ A
-C是进程占有CPU的百分率4 N& \5 ^6 W0 f6 b  M

  q3 [9 ~( |7 S1 x& y, j; L( J-TIME是花费CPU的总时间。
* F7 N/ ?6 U' T2 j+ g8 b* }' p4 F$ m7 p5 U4 I
-PRI是进程当前优先数
9 z" Q' g- s' {! G$ h* K# k. t& T* x; ~7 h0 d
-NI是进程的nice (ADM)菜单2 S$ y8 Q! f1 z8 q7 H0 d
% r! i2 D1 K3 j& S- ^  z
如何创建进程0 Y* @1 ^& J8 w1 w8 Y
) B/ S0 l2 h3 @3 V
当进程分岔一个子进程,自己就会进入睡眠状态。开始时,子进6 H$ c: H4 b4 ?, n+ W
程运行父进程的同一程序,由内核分配一个新的PID。当子进程& e; _5 J  T  \* Q. _
再去执行新的程序,保持新分配的PDI,新程序就会替代子进程( f' N$ \3 ]# {6 W0 \
的原先程序。
4 l# w& {; Y8 a1 n. r7 C, K
9 M6 W5 U0 i) d9 E2 r3 u当子进程完成後,内核会把它从系统中移去,再唤醒父进程,子
3 v7 I% w9 `+ ?' I* E进程就会退出。
( n" Z/ O) y. P( U' h# p+ e* G* _: g) B: V, v3 S' V6 A( ^- F; l
监视系统装载% F+ h+ S" r- p% O) \- M

% x& ?) }  G4 Y4 w  t8 Y3 ^/ cuptime(C)指令显示装载均值(一分钟、五分钟和十五分钟),
) F+ `0 ?. K. s即在预定时间上,排队运行进程的平均数:$uptime4 l; C3 z1 r! z. P+ |% U
  |6 y; f% [/ B9 y; E
W(C)指令产生如uptime(C)一样的装载均值讯息,并显示谁在; _- R) n3 c1 g/ }0 Z" a5 A
系统上做甚麽,若用户拥有root权限,W报告所有用户的有关讯 息。
; R) V, F& `; z, ^. s若没有 ,仅显示与用户进程有关竹的讯息。
6 j) R; a1 }- G2 s& m
0 U6 Q, G0 d3 q+ Z6 D! TPCPU(Process CPU,进程CPU时间 )显示某道特定指令已运
+ ]5 H4 y  x2 f5 i% B" c! v: L8 m* G; k行多久了。对控制不了的进程,这种检查是很有用的。JCPU(
1 ]* r/ E2 N9 F4 `7 M1 a# DJoint CPU,连合CPI时间),显示一个终端所涉的所有进程的0 n/ a) f+ Z; {9 g6 J0 E. r" {
总时间。) S3 ^5 l* W& g3 e
8 A9 a* h* U. Y, A1 w
sar (ADM)指令是一个系统活动报告程序,显示系统资源累积) M8 d, J1 p, U% g6 x% J5 j
利用率。为指示系统瓶颈口(Bottleneck),sar 是非常好的实  t0 G3 Z  `8 ^3 |7 x0 s# f2 r0 B
用程序,指令语法如下:$sar〔-option〕 〔
0 R( F/ p9 ?: U' z2 T2 F8 Qsample-interval-samples〕* T- c1 \; ]# E5 S
9 B5 [2 C, s8 E: Q) \: L* i
例如:$sar-u120
, v# Z% i1 T; E' T3 s# l( I
/ d1 A5 K5 U+ _2 Y/ R" g; o-u选项显示CPU利用情况。如果%idle一致地低,使用效能是上升,
8 _$ l9 m& f2 z# ]( I0 K  P. l不过,运行的进程偷不到未用的CPU周期。
# _2 x- y! i! g' Z' }9 i4 Y
. n1 U: H1 W, c+ q7 z5 z又例如使用-q选项显示进程吞吐量。假若%swpocc大於20,就发生
7 p1 Z8 o3 p/ V7 ^% K交换(Swapping),可以使用大内存能减少交换 /请负活动。
0 ]7 K% {- m3 @& |" @- b6 w& l' M& Q! \. Q
</P>
作者: huashi3483    时间: 2004-9-27 15:20
<>第九讲:管理进程</P><>用低优先级运行进程4 j# ~1 ~& V6 @: }8 C+ R

4 F9 w5 a, @9 `  }, @) ~) S nice(C)指令用於以较低的调度优先级执行命令,每个进程都有8 l  b* ?0 H4 ?& s
 一个 nice 值,用於计算它的优先级。nice 值在 0 到 39 范围内,
1 H; d/ I: m+ `: E. D' v; E 高值获得低优先级,不给实参的默认情况是 nice 值 20。超级用户
* e7 y9 Q/ `) O) }, B0 E+ e! _ 可指定负值,以提高优先级。7 z! \# I" S  T% Y5 Q  }

" h8 B* P" G  }+ J5 g0 j 在注销进程後进程继续执行
1 L* g( L0 R7 B- W
1 L9 f4 M2 }6 n$ e* V& d 後台启动的进程,默认情况下,当注销後就不再存在,但是,可
$ n* a" J4 C( P0 G) S, V8 I( k5 ? 以使用 nohup(c)指令,让进程不受挂起和注销影响,得以继续
' S1 o' \: q8 v 运行,例如:6 y$ \  x- F* k% D& n5 C
2 \1 X7 n& E* W! `
 $ nohup sort bigfile&gt;sortfile &amp;" C( \) M: N0 t& A+ ]

# P& Z; H0 f, Y9 \ 4567
9 E" |; D' `. ~4 f1 d  y3 L4 r
; T# I0 U2 v' z" K2 y. U) I $ exit( ~3 K, R, c& c6 O- u

( }  a) U* b9 m, r# m) G4 M. I: a- [ 当用户注销时,用户未用输出改向,输出将送到当前目录下的
  o1 c0 X' x  ~ nohup.out 文件中,如果当前目录不可写,则输出改向到, K8 l+ u$ A$ B: o' k6 ^+ _
 $HOME/nohup.out。% U: m+ F9 D0 ~
: g& C2 ]% o4 i: ?; q3 ?
 重新启动安全级精灵进程
5 J+ K; l- W; v8 M( h& \& H1 H. N" l5 m" G% n$ n
 根据 C2 安全级要求,某些精灵进程用 LUID (Login User8 t, p/ G. f$ p$ c, \4 w
 Identifier)标记运行,如此只能用 sd(ADM)实用程序重新启& k9 S9 j' H6 K- t
 动他们。  Q$ m7 T7 h6 v5 y5 |5 C7 G
& m5 d+ S. Q! K. ^: |3 `& u! ~
 如果 LUID 限制有效的话(高安全级),只能用 sd(ADM),例( p9 J! V* G# G% ?$ h1 j- `6 A
 如 cron(C)这样的精灵,在高安全级下要 sd 重新启动它。
. l& m3 M' R# D! J' A7 o1 n* q9 I- o  ?4 C- G# f8 j
 进程终止实用程序$ Z7 g$ {) K8 J) C5 i. G
+ |! m, J2 t+ h" {" P6 z3 x# X
 需要终止实用程序时,可以通过发信息给进程,使它自杀,通常
! h6 l( I$ l% f+ U  |( P 会用在终止一些已挂起的或是运行的进程。
2 F" g7 ?2 o" e' c& \6 b0 g' b+ G7 W) e
 语法如下:3 n( q+ B2 }( R- R( s6 ~

0 C2 h7 E  c6 u* [ $ kill [-signal]. s- U5 k0 T) v$ Q- i) u7 s
- r3 d1 |! I0 j1 l9 e" |
 例如
% i4 P3 E; R- m7 Q9 g
- J) a% [. h. W: { $ kill 44115 h3 u( m' q- N7 v6 l# L
, \9 c$ ?; L( s. u
 4411:terminated
" W4 A+ J, x* ~) L  v3 W  w) P' w; }+ i0 g( |
 这样,只能终止运行优先级大於 25 的进程,小於 25 优先级的进6 T( t$ k. S5 Q/ M, b' z* Q- |
 程只能在重新引导系统中撤注它。, f; v1 n: y# Q) x& f* o
+ z+ r, J, N: d" I; D% w! z
 调度单个作业执行
2 r3 g  m; I' T; N: b
; {, R9 Q: @/ t/ K+ Y7 D3 p8 @; @- u0 Q4 { at(C)指令使得在某指定时间执行一组命令一次,主要用於在系统5 z/ X$ [! S7 a* m
 活动较少的情况下,在预定时限(例如在半夜後或每日固定时间)
( I" x, [; ^% S% D6 T4 q7 ~ 内运行指令。  o/ ~! w* D- w: ?0 y, U# K
6 }8 K. C5 s  G. a9 I2 t
 要重新定向,可以使用标准输入,或可文件输入;在打入完整的
" e2 a6 S/ O& W5 X/ l8 {/ W at 指令後,就会显示出将要运行的作业号与时间。
# k3 C& t4 `, t6 n* E9 r2 i! j9 U* D$ S4 ]9 B: ~5 V$ k2 A
 语法如下:# A. G6 e# E/ |* ~

+ f" H; }: X, f$ ? $ at time [date] [increment] &lt; [filename]. r" R, x' G% {' H9 R! V7 W5 o2 @
4 b/ x/ f; e- N! D: J& ^/ ]6 Z
 任何用户都能运行一个 at 作业,但必须给予授权。
" y! g$ c$ ]) t0 b
% o3 x! U! P4 p1 d$ T$ V6 R0 f 指定单个作业调度时间
/ S6 t# z$ z8 X1 Q* y+ D& d1 z
& o; w$ r+ l' _& X- i3 A9 g0 e 时间格式为 hr:min 或 min,hr ,用 a.m 或 p.m 指定上午或下午,+ @/ A% S* u+ O4 B* H1 @7 Q4 `  ?
 有效时间包括 no on,midnight 和 now,指定日期则用「月日  d/ E. ]. V! |5 j
 〔年〕」格式,例如 Feb14。一星期那一天也可用 monday、
* K& y. g& i' S, d1 ~ mon、today 或 tomorrow 代替。7 J1 W0 c! P8 ~  h

8 W% C& c! L7 F .at 指令从标准输入中,读入打算在以後某一时刻所执行的命令:, i/ I+ T7 B3 ]+ `5 A( k& E

+ _/ i0 ~/ p0 t+ R( y# W7 L) _ $ at 14:00 Jan$ V+ W/ x: X, s5 {! g

- m& h/ I4 P" M' F9 W, ]% P sort /u/user1/file
. {2 i* [! s9 H$ e; H: s' U
; B: g; T; a7 x2 C$ P% b* e! E /u/user1/sort
4 N$ I( b6 o* D& M; E# V: }$ a3 D. Q2 h: t% J' O
 ctrl&gt;d' o1 p+ w3 T1 Y6 Q# {

9 s8 ?1 l# k7 V6 N5 Y+ X) e job 61202778.a at Thu Jan 4 14:00:00 1996
5 k2 J7 c+ n, R9 k7 V/ Q8 ]5 k
; K' v& C8 k6 ]6 X( b6 J 记著使用时,要用全路径名指定文件。指令输出以电子邮件发送( }7 h  J, G8 ]( w, G
 给用户,也可输出改向到文件或终端。" ]7 q4 \+ r. V* M8 T( b

+ u4 e5 C) e9 K7 \8 B* { 列出单个调度作业
- v; x, R3 @6 q+ ]; a' b- ?7 f# G9 a( T- |+ K3 d* h! p
 使用命令
6 M  \( X2 ^2 H+ A$ G8 J" y; x7 K, X" z3 C
 $ at -1
3 N8 I9 p1 F3 S! |  T; h0 A: J7 Q: }* \8 D) o/ f; T2 A$ G2 i" n0 q1 g
 job 612027780.a at Wed Jan 24 08:43:00 1996
! P( L, k3 l5 P: l% e; W; M5 D( ~! b$ l0 _* h$ a
 job 612027900.a at Wed Jan 24 08:43:00 1996
- E5 P/ a, Z9 X) W. x( \/ N. X  c" k- y3 j9 W
 若指定 jod_id,一般用户会得到一张自己所有作业的表,根用户; D3 {& W$ N; A& H3 w0 o- ?9 x7 T/ o
 则能取得全部作业的表。5 H* K+ |1 X% c& }  R3 |: v. i
- [( n1 e* Y) L) O
 撤消单个调度作业$ P* _# s# M$ a* ?$ I3 C8 l( @

7 I2 w# D! q" m2 F 使用以下指令撤消作业:
9 q) G; b! }8 D1 w/ Q* t& X4 R8 U
( n' S' n; S7 B* A: W $ at -r
) p+ M! `5 T9 u# f' [9 g& d0 ~5 n' d' L; D
 可以使用匹配符撤销多个作业。at 的作业存放在: \  C# P' R7 h8 U- p4 f
 usr/spool/cron/atjobs1 \' W2 N9 r% _. c. J

3 {( n! m+ ^$ h4 J5 I4 @! h, | 在一般数据库上调度作业1 r+ p( Z$ L/ M# U# ?+ }
- X- V4 l6 d6 G# |$ w
 用 crontab (C)指令,从指定文件或标准输入拷贝或编辑成用户
/ k( @9 c- G! Z0 f7 n: K+ J 的 crontab 文件,该文规定了在指定日期和时间调度运行一些指
/ U5 ^$ U0 j( w 令。
) d1 T& t* [) e! k
3 |. s1 S/ P0 s  m# ~. |, u" ^5 H crontab 指令提供了对 cron 系统精灵要执行的作业,清理 /tmp ,+ y2 I" [. g# {6 I
 撤销在一般数据上日记文件或不想要的文件,以及检查空间,邮
& L6 x# Y! x3 O* Z 寄警告予用户等。
, r  o  _6 g% o, M1 t" l9 y1 C4 P3 `& a7 E
 /usr/lib/cron/cron.allow 文件列出了能使用 cron 的用户,
! L8 E: r9 o: s) T /usr/lib/cron/cron.deny 文件列出了拒绝存取 cron 的用户,仅
* _, e$ T# {: G1 @' L9 w+ v 当 cron.allow 文件不存在时,cron.deny 文件才起作用。2 D# a* H8 X( F  Q8 J
  A" N2 Q  S: W5 {3 i4 f
 指定作业及其调度时间
: k% Y; R/ [6 z# i% }* U: ]: ~' M# k# b) J6 E1 N
 作业可能是单个指令或包含多道指令的 shell 脚本,指令输出邮+ k4 {; j. z; h# N
 寄给用户,也可输出改向到文件或终端。在文件中打入作业及运
* G$ Y1 t/ o$ v+ m# Y 行时间,以运行此作业。文件可取任何名字,但是,不允许包括
1 S) i6 q) @& n 首尾部和空白行,而且,最好取 .cronfile ,这种取名反映其功0 j$ _, S& K# y$ d
 能,易记易理解。.cronfile 文件可用正文编辑或 vi 创建。
) K( a8 r+ i7 ~# g+ D6 G. D% A+ d/ O6 L2 z
 每个用户仅提供一个 .cronfile文件,每当执行 crontab 指令时,, G  h* f) n2 O
 新文件会盖写原先文件。编辑已存在的 .cronfile 文件,增加或
4 X3 A3 a: o+ K0 U4 B8 c 修改一个作业,然後用 crontab 重新提交 .cronfile 。而每个用
# b; N  J, Q4 m$ V7 B+ T" ^; j" r 户的登记项会存放在/usr/spool/crontabs/。
% ~0 X0 n) h0 u. k: T2 t5 R( G1 r1 a( A- X+ d4 L
 列出或修改 cron 作业
# N4 G: l3 `2 A2 Z
3 E: z4 s$ _+ b8 @! D9 W! e1 P3 Y 要列出当前提供的 cron 作业,可以打入:
0 g: D9 a. a2 H& i4 C8 n, A$ ^& ^7 n6 a2 h) d( a
 $ crontab -1: A( E. ~0 [# V. ?, N

$ v: _6 H' ]; T1 Z/ q+ S* b/ z 修改 cron 项,使用指令:/ u, m. `, o- ]0 u

* l9 ]7 H- P- S0 ?9 P3 k9 M1 r $ crontab -1 &gt;.cronfile
$ V) Y6 K/ r+ ?( X, k% C; b/ y7 W
" ?" T+ \# w$ s" D  d' ` $ vi .cronfile
- m' a' r. c! ^' c8 y& t
1 [  M& U* F& b $ crontab .cronfile4 D! B) y/ I$ V, E5 I. U# }- e+ _3 E* g
) }5 {# ]  ~$ E7 e
 如要撤销 cron 作业,则打入:/ r" R/ Q  g! Z

0 x3 X* p+ H1 R2 u" y% V $ crontab -r
: q, C& m1 o# N- K0 C$ e" T& x</P>
作者: huashi3483    时间: 2004-9-27 15:20
<>第十讲:打印管理</P><>打印假脱机(Spooler)程序在系统引导时自动启动,负责打印服( I3 N: r! f) E) w
务的安装、配置和管理,在指定打印机上,将用户打印请求进行6 B6 p. p% d3 Y' M. W6 i# V
排队,能在不丢失排队打印请求下暂停打印。
4 |* `# N- @; r8 `# ?) T1 y: j7 u3 s1 B+ A1 ?
打印机队列
( [: A& O! n+ D2 p6 U& \' G, N& E' M2 A) X! P6 I' Z8 A
打印机会被分组,每组共同存取一个队列(class)。而打印请求
( W) @, a, ^! D可以送入一个 class ,也可送往指定打印机上。" u9 G% [7 d9 `" D4 R$ j

5 _+ K& o" Y- c7 u; n( o) P; U在一个 class 中,可随时移去或增加打印机,用 sysadmsh 菜单或
" b* r; j$ G) Y0 E* B, u7 k9 wscoadmin 的 Print Manager,可以增加打印机往已有的 class 中,
$ J$ H  Q& R5 p7 F- E  u* d又或增加一个新 class。
& K  q7 M0 y6 t0 D6 e1 h6 I1 v- J5 J
打印机过滤程序
: m0 H& K( S. l) Y4 d
7 P6 T  ]5 @- @. q; T使用打印机过滤程序,可以转换用户文件或数据流,在给定打印
7 R" c, ]; p+ [5 u2 g# j; r& G4 @机上,合适地打印出来;处理两边打印,草图或高质量文字打印  H0 h4 u5 I; ]; d5 S$ e% Y
等;如发现打印失败,会通知打印服务,然後告诉用户使用上出
5 K! y5 a+ u2 y& Y# u) F: P: j7 f  p现问题。  ]* p# Y1 I7 `# b6 R( m3 }

5 P$ N: D& L" K! d/ r; e  M# P4 m4 q打印机过滤程序又称为打印机定义的接口脚本,存放在
7 A) j1 ~. p: s! i1 p/usr/spool/lp/bin。
1 M4 C/ _" @1 w# u( R7 [2 J) S, L  E! n
安装和配置打印机
2 z' y' R9 j6 `/ c- R0 Z5 X- A" d
要把打印机接到并行埠(Parallel Port)上,SCO UNIX- T1 k7 o; x9 U- _/ F9 S6 T5 v
System V 支持两个物理并行设备(/dev/lp[0-2])。当用主并行, ^9 t# M5 T5 v% [' ?9 |
埠时,用 LP0 或 LP1,中断向量为 7。第二个并行埠,/dev/lp2,! }( L8 g. b- {
中断向量同为 7。
" F+ m" `' z' U- |1 U: i# u1 Z* q; S  U9 O. j5 ^2 L# u3 `# K) C
要把打印机接在串行埠(Serial Port)上,最好接上智能卡工作,$ J4 L. M( S0 A
打印机能用任意有效串行埠名联系。若不要求硬件流控制,可以
' p+ K0 A0 ~; R5 r6 a使用非调制解调器控制埠名。0 z; ~# ]/ s% r/ A9 Y* `

/ u: @+ S! B9 g8 t' ^. f( {8 {另一方面,可以从终端辅助埠上做局部打印,指令 lprint (C)/ y8 \# s! _) S2 _
使用户从附在终端上的打印机上打印。% D# q& g- z% P& y' {
  Q9 r2 ^3 x9 v+ c
安装打印机( O/ E- \4 I2 |$ n  \# d1 s

% i% q. N+ e+ t' s! o7 \要安装打印机,先找一个未用的串行线路接上打印机,连好导线,9 t. V- I1 S0 K4 y( U+ v- ?
打开打印机开关,检查硬件连接。7 [/ A9 m; r3 A# z
/ T4 {+ _. R; _# ]2 C
然後,调用 sysadmsh 菜单或 Print Manager 上,加入打印机,用
1 K; [/ b+ e; [; [9 J5 {: @合适的信息填好格式,指定打印机的 Class,若所指定的不存在,9 Q) O/ F, x# ]
就建立一新 Class,包含接口脚本路径名。许多打印机都能用
" c; K' Z1 D) ^9 A: ^. a8 N( D1 |standard 接口脚本。
' F( I5 Z) U& {; j9 v* F" u, H! ^% @& S/ T0 ~4 @
打印机管理
+ Y- c1 G3 |  ]$ W0 y5 o8 ~; f1 ?/ L8 F
修改打印机配置时,可以增加或撤消目的地;改变打印机接口脚
, P3 c) p  v' X7 X' Z本、设备等;以及改变默认打印机目的地。( C/ f8 P; y- L: @0 l/ `" L2 c7 a
0 X: y6 n& Y* n4 L2 g
管理打印机调度时,有几种选项需要注意:
/ H/ d) G5 a: X" x+ B" a: a
0 i: F' p+ U) X-Stop:为实现某种打印机维护,必需将假脱打印机转换成 off。6 f7 c  [8 n4 o4 I
1 k1 f, R0 a/ ]# ~/ }
-Begin:假脱机转换成 on。
* u1 A4 `0 [; a9 y+ A5 _% y2 j: T5 M* N8 M; L
-Accept :允许把打印请求送往打印机或 class 中。" L- X: b6 q7 ^" w) B/ Z" l: T2 `# H
' f7 ?3 Q: C4 F3 t! w$ F' L
-Reject:阻止请求假脱机打印。5 ^0 ^7 u% }: w+ J& z7 ?% }

  q9 g1 W+ k( D& w* {6 n9 `5 G-Enable:允许从打印机或 class 上打印。
5 K2 `7 T5 \3 ]; n9 e9 ~
4 O1 j) Q! Q! }3 [  I/ B- V-Disable:阻止打印,但允许假脱机出现。
( K, g6 d5 H! M3 Z: S% V
8 i" p1 ]/ q# b" q- q3 }每个打印请求都会赋予一个优先数,决定何时打印,优先数据取
4 t4 R& l# \7 C: c值范围为 0(最高)到 39 (最低)。默认优先数值同样是 20。6 t3 W6 R9 r9 h" _+ D# I. \
3 A. e. P% }7 h& j% a3 ?
所有打印请求或单个打印请求都能移到不同的队列或打印机上,
4 i( r$ A5 x# Z若打印机的队列阻塞或打印机不能用,就要移去打印请求;打印9 [+ u8 |- R" ?' }4 O6 ?0 f& _
机要维护,也要移去打印请求。如果已移去了所有请求,这个打
. M( j5 d# m, ~印机就不再接受新请求,直到打印机启用为止。4 e" L: V; e) D% Q* X* F+ M
' `, v" l; U3 I$ k
要清理打印机请求,先要指出打印机或请求 ID ,若指定了打印机,/ ]; D2 u! K$ W; `' V
则当前正在打印的作业也被清除,但是,不能使用通配符去匹配
1 |+ s. n( t8 h# x) H4 r( v+ \. _清理打印请求。
/ f; n! h8 A$ A. X  [. A
6 |1 B, K7 {: [  N8 U0 {</P>
作者: huashi3483    时间: 2004-9-27 15:21
<>第十一讲:TCP/IP 管理</P><>IP(Internet Protocol)地址是 TCP/IP 网上为主机之间数据
# v5 D4 ?) Q6 G3 d4 E# g8 u选择路径(交换)的基础,但是,用户通常不甚喜欢使用由数字- a% L! R9 Q) g8 S
组成的 IP 地址,而比较喜欢使用多由英文字母组成的主机名字--' E) Z7 G/ u  r& y
URL(Uniform Resource Location)。1 U7 `+ F3 a# Z3 ~- S: ?% U' K
0 `! d+ T8 M" y# Q; N) f
不过,主机名字必需映像到 IP 地址,而方法就是通过 /etc/hosts0 h9 Q+ v1 m  H" m9 x
文件完成。
- R# K; m* s/ d# p3 t: [8 I7 b+ O, L  |* E% P; v3 v3 Q
配置 /etc/hosts
) Z- s5 q. ?6 l. y7 L; z- f1 ~" n! O$ [/ g0 D- J
/etc/hosts 的格式是:地址--名字--别名。
) H4 P6 z& G5 P7 w+ M( P" r" f2 I4 a% h) e6 W1 J* f: ~) }. i% S
例如:5 ~- ]  ~# N+ F1 N" u3 I' m6 g

0 Q" X- K& K7 S3 E8 M6 t: U: Q2 [127.0.0.1 localhost localhost
, |# x& A8 x) D; r
" b8 s- K4 }/ I' ]+ a1 E/ [132.147.18.1 vision vision.sco.com: _- A- `2 Z" n  p2 n2 e

* a3 F/ Y2 v1 `, }- _& RIP 地址必需是一行上的第一项,在它前面不应有任何字符,例如
+ m% n3 o; A  ]# m! E2 c( q空格符或制表符;名字是简单的主机名字;别名则在很多情况下  n6 P' z% D2 M
都不需要,但是,全限主机名字、简单主机名字和辖区名字都归1 a) {( j( _- k9 B& R
入别名之列。
/ [/ N/ ]) U# s1 }& K4 R; M/ C5 i" A+ T+ \7 F
检测 TCP/IP 配置, B8 {5 c* M1 M( c. m* [$ H
# G2 K- t+ K; w( n9 y
TCP/IP 协议的软件部份包括 TCP/IP 协议层架的顶三级,即
# C( Z! R6 c- J$ \1 s7 M' R5 l应用级(Application Protocol)、传送级(Transport Protocol)" e- V" ^  H, n2 q
和网际网级(Internet Protocol)。特定的主机名字”Localhost”& @: W/ w" F% Z8 J
是特殊网络”loopback”上的本地主机的别名。
, M- z) X2 q9 I0 v
1 V+ R2 K  @* |% ]- h, ?0 [+ [+ r* @要检测 TCP/IP 协议层架的软件部份,使用 ping 指令:
* Z$ \8 \  U, I( e( ], \
% O7 l+ i6 p" F- I8 h/ {1 a#ping localhost
6 e, Q1 _7 H, Y' C5 [
6 f2 v& I5 ~) Y- |+ d& `1 z$ }. z如果 Ping localhost 失败,则使用 netstat -i[n],检查网络接
& i9 _9 n6 W0 o! x5 a1 T. G口的状况,显示网络接口上分组传输的统计讯息,指令如下:' Z0 ^, R# _* i- y3 O
5 O3 Y# M( _3 B9 W' g4 ?
#netstat -i[n]
' ]4 k! a& Y1 M
& C; [5 P- G& Bn 选项强行显示编号,而不是名字。netstat 查看自环驱动器 lo0 ,
! \5 V$ l2 i4 K' \如果 lo0 失败,则在 /etc/tcp 中”ifconfig lo0”行指示坏了或# x1 E( D! o9 w4 Z- n; `% A2 ~
有错误。
- X" P" B/ w3 \2 K- S( ?
' _2 Q8 G# x; e3 G( T7 D检测 TCP/IP 硬件
# L, h; w3 J# K0 a- `  Y) l9 F1 }$ @. v4 V* T
审核引导过程中,会对所职别的网络接口产生的配置报告,而
- v/ w) _: p$ X8 OTCP/IP 协议的硬件部分包括 TCP/IP 协议层架的底两级,即4 l& _' _" a, G. p' j
网络接口级和物理/硬件级。
* }9 ~) B8 h' e5 f
  V( J% r5 o# w9 B6 `: @) ?对网上另一主机的任何通讯都是在「物理」网络接口上传输,并
6 V: r/ l' L6 j不会引起数据传输到「自环」网络上。: M6 j* r- l2 L2 h, f

( K+ k) X; I5 ?  C使用 ping 指令检测 TCP/IP 协议层架的硬件部份。8 h/ T5 n4 K9 I5 u$ K

( S( u) c3 B4 S, n9 R, d#ping hostname
/ K2 b9 w, o8 C: n7 G  v' k4 e& x' ~8 L3 z4 v

$ i5 u; W( o/ V4 R" m% r8 O& l' l4 b: v- R5 s9 T
#ping IP-address: {, A8 }$ o' y; Y* J% W  O3 R

* \; D! n- D( q; U如果 ping 指令失败,则改用 netstat -i[n] 审核网络接口。
/ `1 S7 z- y1 {0 ?$ e; X
! J9 w6 \" l7 i7 R. E* r了解 netstat -i 的输出
/ M* ?, Z7 c/ b. G, s: k4 s% Q, Y- X
如果远地主机上使用 ping 之後,Opkts 和 Ipkts 仍然是零,那麽,3 q& W) \' ^6 y
网络接口大概使用了不同的中断(Interrupt),而不是它的设备
2 O- e  V' c/ q% O1 ?! n; r驱动程序。
/ y# ]0 H4 E. J0 e5 m' [$ v- l0 U) G3 z
如果 Ipkts 不是零,而 Opkts 等於 Oerrs,那麽,网卡的 I/O 地址
* R+ B  I/ B  i+ N0 i可能不正确。如果 Ipkts 是零,而 Opkts 等於 Oerrs ,那麽,可0 ]2 y$ t6 Y  |. m( r/ n9 i
能是网络电缆连接的不合格。
' T5 E6 M$ H# A) A$ g: e. }3 l( `& _: y
通过用 Opkts 除 Cloois ,再用 100 乘所得的结果,计算冲突的百  {& P, s0 Y5 B# W
份比。如果冲突的百份比少於百份之五到十,那麽,所有网络接1 n1 T, n; B- v, U- ?0 B
口是有效运行。% v" Y' S1 U: W, d; g
! ?  ~, N! b4 @3 Q1 r
如果 ping 失败,并查出网络接口有问题,那麽,就该验证网络介/ }3 ~1 C- ~7 `( \' f( x8 @
质操作。
4 \' {( n! M: Q' Z) M
# V* t; y; \; _, d& h$ a调整 TCP/IP 的核心参数& G1 x8 G6 |8 J# z) [7 `4 Z; C

# y* t, |7 q9 N没有足够的流资源(Stream Parameter),网络程序是不能进行
& w' ?$ o. O4 M通讯;流资源不充份的话,经常会导致较慢的吞吐率。
; h1 |3 L3 O1 V" D# k% E# N# |" F. {% T; g9 L
要核查流资源,使用 netstat -m ;也可以使用 crash 指令考察流" ^2 A" B& ]/ |( B& Y/ S! Q% s
资源,在出现 crash 发出的提示符’&gt;”时,打入”strstat”。
; s0 I' `6 d& F; t7 W. m8 M5 K# i8 Y) N. q
如果在 FAIL 列的下面有不等於零的项目,那麽,同一行中的! ?! v! l! E2 m; A' c& h
ITEM 的项目可能需要调整。如果 FAIL 列下的数目大於或等於4 G; V& d8 F1 `& K0 O
TOTAL 列中数目的百份之十,该资源每次应增加一或二,但不
) W, f; a7 G* w) s能将该数目加倍。, `% `* ]( [+ m' \6 j

: d1 v% v7 Z4 q9 u3 X由於流资源使用 RAM,当增加流资源时,应加倍小心。用户亦可
! c" p- b' d! |7 m7 E以使用 configure 或 sysadmsh 增加特定的流资源,重新连接核心1 a, }1 N) p! F# F
或重新引导。
/ Z+ H: i, p$ R; Z
" u! X6 Q2 a8 F8 \: N限制通过 ftp 访问系统的权限
' I, D1 r& m& [! y4 `" ?) k4 r/ ]
* F5 K6 x" u% \5 Y+ d7 k% r对於不想令其使用 ftp 跨网访问系统的人,可以通过建立, ~) Q, b5 c- ~5 Z6 h" ~, T1 W- f
/etc/ftpusers 文件和设立系统帐户名字的方法,阻止他获得利
6 j" z6 t  ~9 P9 ~/ w; O$ g! ~2 O, b用 ftp 访问系统的权限。
- z- p3 }* h9 @% R* |
9 A8 O& d/ J' }! E1 K) C如果 /etc/ftpusers 不存在的话,先要建立。在单独的行上,加
, i$ s$ B5 ^) W9 g% j) ~* g5 D上系统帐户的名字,表明不能从网中其它系统使用 ftp 访问该系
1 K. R$ k2 v2 B& f* c统,在安全系统中,不允许 ftp 访问用户权和 uucp ,列出任何其, N8 T! |! g- Y# |' Y" F+ g* h
限制使用 ftp 的用户名字。
4 y, a% v7 e" w
) k' _- S4 `8 C3 n4 X
% T( s% w9 j( _8 F/ y' U</P>
作者: huashi3483    时间: 2004-9-27 15:22
<>第十二讲:使用 TCP/IP</P><>向远地注册的能力非常有用,它让我们不用到远地系统所在处,
7 i: o7 ~6 j5 X  A1 t就能运行远地主机上的程序,执行远地系统管理,有两道指令可$ B7 ~$ f" I. M0 }1 o. r' x- ?( N2 }
用於远地主机注册,就是 rlogin 和 telnet。
5 F  K* i9 r& ]+ p  @
1 _4 J3 r+ H& ^* E/ Y使用 rlogin 向远地主机注册+ l& j  p- K- c# S& X. C& Z% K
# Q! t/ f6 b) @
rlogin 允许向具有 UNIX 作业系统和 TCP/IP 协议的任何系统9 A" W2 Z2 O. M( G4 |% b; G+ r. |( i
注册,而 rlogin 只能注册到 UNIX 作业系统环境,指令如下:
" T7 P1 W3 z: h2 c5 G7 @
* @' N  m1 F" R& R) p7 F9 L$ I5 q$rlogin remot-host-name
' F8 f; V; @$ ?+ r- p: Q
" x. D4 c; H5 j1 P$ L- y; p要避免 rlogin 因没有提供远地主机上的同名帐户,可以使用下述. u# k( a/ L1 I$ ]( Q
指令:; G. v" K; L7 \+ i

( c2 K& x* h2 _5 m: g$rolgin remote-host-name -1 remote-user-name6 S: K$ j; R; g* T0 t5 i

( E$ [4 e. s& }4 ]0 f-1 选项用於指出远地用户帐户。
) _9 u, _; o5 r1 A" f5 B) K
/ I7 d9 m( K: z; F9 F& j; I要中止 rlogin ,则要打入 ~.,并按 Enter/Return&gt;键;亦可使用& B! \& N) `. J
logout 或 exit 指令。
. o; t; A# u8 Z7 [8 u2 h& X# y+ O: s) Z
使用 Telnet 向远地主机注册0 _9 J5 |$ F8 x' s5 }  Y. n' m! d$ F2 {
) {5 [) ?7 d" s
不管其作业系统类型,只要能支援 TCP/IP 协议,都可以使用
8 H5 c& J: G5 n% r+ Q: d! h! g. C' d$ KTelnet 指令,允许注册。
% _; j9 z: u6 Z0 \
9 t) {# c- }! d4 p$ b1 e- A$telnet hostname2 W) b# C3 |; r) R
; E4 \; s3 ^, e+ D# y
  Z0 y* r. `: g2 [; r
# b% n# J/ H1 S+ e4 R' K' N. |
$telnet ip-address
* m& `6 Q) p% D) E+ D4 t3 M
  t* p) [0 E4 m# ^' J& Z: N) @- P使用 ftp 复制或传送文件
2 V4 Y* p8 e+ k$ n. Y/ F8 g( [8 ^1 p1 c
ftp(File Transfer Protocol)允许用户对远地主机复制文件,
  e9 p+ Z+ c7 B1 ]/ h* L用户毋须考虑作业系统类型,即能向或从任何具有 TCP/IP 的系) w7 L/ }) _* @' ^# y2 P" T
统复制文件。9 d& O% o/ \* u3 d. A
$ w, @/ ?6 j1 }# ^& d: _6 i( }
ftp指令允许复制目录中的一个文件或所有文件,但不能复制多层$ _6 I4 |8 a8 R: m
次目录。使用 ftp时,必需在远地主机上设有帐户。& u" f( V2 B- B7 }5 ~! e

1 \. D' h& Y- _& h- j# C) _当 ftp 注册到远地系统时,并未得到 shell ,而是通过 ftp 指令
% @& a& t8 ~8 U7 V解释程序同远地主机进行通讯。6 O6 k1 Q* r8 A

6 b9 Y  V; c9 F+ @) e: d$ftp remote-host-name
5 F% n: Y* o! N
9 z3 s3 F: Q9 X
, P& S# N! _1 S5 n5 I$ _+ Z
, l5 ~+ o3 l* b: i$ftp remote-host-ip-address7 |/ k. C3 Y! ]) T; f+ X

6 p9 ]9 x# \+ U  L" ?# l一旦注册成功,就会出现 ftp 指令解释程序的提示。
% A) ?: V' r/ L, f: ]: n/ O% ]! P5 n8 J6 i# E5 M+ k% ^9 l7 T
ftp&gt;2 L: _& s7 f9 @0 E9 W" N

: |" J: x7 t7 F' h3 i用户可以在此,使用打开指令连接主机。" y3 ]& H$ G- T1 ^1 P% |
2 }" ?4 Q7 F1 f5 I  p& I
ftp&gt;open remote-host-name+ p* i* `0 C8 Z- D, W

. n. ]; i4 ~3 G& a复制某一文件回自己的系统中,则用:
+ F0 `/ q2 K3 M8 L- h& j9 `% S1 l1 b& O/ n( ]6 `/ f0 y
ftp&gt;get filename& C* n2 S3 V. `2 f2 B& @( @; L

3 h( ]" a" _4 K" p9 b$ ^如果只想传送某一文件往远地主机,则用:
7 ~! P$ d; D$ Z2 ]3 Y# I* Q9 o' d4 k7 s* n8 z8 {+ d; d" ]5 q4 C0 U  B' e
ftp&gt;put filename! w& t7 r, y5 m9 o

1 f( w3 w4 U1 e0 X* t需要复制远地主机的全部文件进入自己的系统内,可以使用如下! G' x' `5 w5 @, {1 S$ X
指令:
( ]2 R+ {$ M0 Z8 O2 h0 j& \" T. ?
) ]% a( D4 {8 T9 e5 ~ftp&gt;mget *
0 i+ [: @" ]" U1 s4 E: \8 y7 p0 Y' V, a+ D: u/ n* J
相反,如果想传送自己的文件往远地主机,则使用如下指令:& z* ^0 t0 b- h- x3 O
$ E4 i) X( ?& A& V3 K- q
ftp&gt;mput *
+ @$ b9 m% l5 b4 Z5 u; Q
# p# i' ]$ n1 A$ j9 G3 R" urcmd
* V9 k; d; @) T
0 K0 k7 N  h5 _4 \& \( ]rcmd 允许用户不必向远地主机注册,而直接运行该主机上的指令,
( o9 B  t7 o$ _; Y实际上,也要进行注册,只不过用户毋须作其它操作。当使用 rcmd2 }* T6 d) z. w3 |
在远地主机上运行任何指令时,其输出的默认设备就会被更改为: C! K2 j/ B9 Q, n9 M7 k
终端。+ s1 P3 d6 a9 \% f* W4 b. w

6 v; B! _* S1 a/ B  E& U$rcmd remote-host-name man sh
. k5 X# _/ _4 g3 a( B2 ~0 O: P/ p! P' Q5 \- e
请求特殊终端处理的指令,将不含设备自身的功能,因为对远地/ J+ t: N4 V  i) ?9 ^
指令没有定义终端的类型,要求在远地主机上配置受托访问。
% m, N* h  e5 w5 D- B' y+ P, }" `4 m; L  V
要列表输出远地主机上磁盘的利用情况,则使用下述指令:
( y: o; P+ E5 y
4 q" x2 ?! A! f: ~$rcmd remote-host-name df
2 @  v+ F9 y0 |$ `/ P4 A9 R
+ L6 G& N+ I* o要列表输出远地主机上的目录,使用如下指令:4 R) z/ i4 x6 S2 v4 o* H
! P. x2 Q% t% \
$rcmd remote-host-name ls /usr/games
7 [4 k3 U- _9 d: r3 a/ B3 v/ a% t9 P/ R
要把远地主机上的文件备份到远地主机上的袖珍磁带内时,指令% i* W) i: A- s7 W
如下:
3 h  {5 f+ x7 \% y5 ?6 R$ Z
( v. @. I: d: m$ t. d2 d5 ~0 o7 v#rcmd remote-host-name tar cvf /dev/rct0/usr& R' u& e- W) q- W2 s6 d

1 {- S0 s1 g0 g$ n/ M. e4 ~
" ~' n$ k: r) v. {) [$ w' Z4 y/ a  w+ N& B3 t
#rcmd remote-host-name "find /usr -depth -print|cpio -oc
4 Z! j* K9 l8 R$ X3 ^&gt; /dev/rct0
) [8 Z- O; Y3 K! k/ L8 O3 V( F. z
* O, u; B  V* W6 f# N- j要把本地系统上的文件备份到远地主机上的袖珍磁带内时,使用1 {! w2 X$ J2 V' E8 o$ U, W- y3 u
下述指令:
1 {6 R  R5 Y5 D6 p' h
7 y6 Y6 c- ?8 F# N#tar cvf -/usr|rcmd remote-host-name dd of=/dev/rct0
# |4 ?" X: a) F2 d) ~3 n
7 p$ b) ?% R5 P$ |
4 D$ [6 i! t; f' Z/ Q: e3 N: y! Y0 m" N5 a9 I/ u
#find /usr -depth -print|cpio -oc|rcmd remote-host-name
3 x2 C* u! |( X0 X( v# S' y5 l0 tdd of=/dev/rct0
# I! R  e: g7 {' H; D
$ j+ I, e/ |1 [: t2 [  g另一方面,如果要把远地主机上的文件备份到本地系统上的袖珍
( ~8 W5 O7 F! L8 V- u磁带内时,可以使用如下指令:
; ?" K) F) M, X9 n/ M  W1 e$ ]) Z$ }
#rcmd remote-host-name "tar cvf -/usr" &gt; /dev/rct04 F+ b, F* l- m9 ?) m

- J7 h9 p7 u9 z0 f" r1 _! ?  u) D! m& x  a( M0 @

6 r. x4 g3 R+ g/ V- s* L#rcmd remote-host-name "find /usr -depth -print|cpio -oc"  F' s: _; Z; Q5 V; w- F
&gt; /dev/rct0</P>




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