huashi3483 发表于 2004-9-27 15:14

SCOUNIX基础讲座

<P>第一讲:存取权限与文件</P>
<P>UNIX向来是强劲的作业系统,屹立多年不倒,但是,对一般使用
个人电脑的用户来说,确是比较陌生,有见及此,编辑部选择了
在个人电上也可运行自如,毋须庞大的Mainframe或甚麽大机器的
SCU UNIX,介绍给大家,让各位对另一广阔无限的作业领域探首
一下,也许玩起Internet时,会有另一番天地,别错过这一连十
二期的「UNIX自学篇」了。

可能有些人会误以为UNIX只是那些功能强劲的庞然大机方会使用
的作业系统,谁不知道在个人电脑上,一样可以使用,只不过所
使用的是特别为个人电脑设计的PC UNIX,SCO UNIX就是其
中的表表者。

对於惯用DOS或视窗环境的朋友来说,UNIX的第一重关卡就是那
些「敏感标号」(Sensitive Case),字母的大小写俱有不同的
意思,Ls、IS、LS或Is这些指令全不相同,所谓「差之毫□,谬
之千里」,它对大小写可是绝对敏感的。

文件名称

在SCO UNIX下,建立的文件档案名称,可以是包含最多十四个
字母数字字符的任意组合,既可使用下横「□」,也可使用句号
「。」。

不过,文件名称却不能使用某些特定字符,因为它们对Shell来说
有特定意义。这些不能用作文件名的字符,分别是「;」「|」、
「〈」、「〉」、「’」「$」、「!」 、「%」、「(」和「
)」,而文件名称中也不能含有空白空格等。

文件存取权

每个文件都可以拥有不同的存取权限,界定其它用户能否存取文
件和目录。

每个文件分为三类所有权:文件的属性、属主所在小组的成员(
即组员),可存取系统的其它用户。用「|」的指令,就可以查
看文件的权限。

drwxrwx…

好像上列的文件存取权限,第一个符号指示文件类型,减号为普
通文件,d则表示目录文件。接著的九个字符分成三组,分别表
示属主、组员和其它用户的存取权;每组有三种存取权:「代表
读(Read)、w代表写(Write)和x代表执行(Execute)。而没
有存取权的相应位置则会出现减号(-)代替。

目录存取权

基本上,文件与目录之间的存取权的设置大致一样,但仍有些微
分别。

首先,要查看目录的存取权限,就要在「|」之後,加一个空白
处,再加上「-d」。如果要改变当前目录,则用「cd」。

改变存取权限

要加文件或目录的存取权限,可用「chmod」的指令,例子如下:
$chmod g+rw filename

g代表更改组员可以享有的存取权限,+rw就是让组员可以读与写
该文件。而u则代表文件的属性,o代表其它用户;减号(-)则
代表取消某类人的某些存取权限。

另一种更改权限的方法,就是使用八进制的数值指定存取权。每
个符号赋与一个数值,r是4,w是2和x是1。例如组合读与写,其
存取权的数值就是6。又譬如欲使文件对文件属主、组员和其它用
户均具读写权,指令如下:
$chmod 666 filename

更改用户属主

每当创建新档案与目录时,标记你是属主,你的同组人员为组员,
如果要把文件的使用权交给别人,只有属主方可更改,指令如下:
$chown owner file

chown改变了文件的身分ID (UID)

改变属组要改变文件所属的组别--文件组ID(GID),指令变
为:
$chgrp group file

浏览文件内容

需要求助,可按?键。至於,浏览文件内容有几种方法,可使用
more,显示大文件,指令如下:
$more filename

按〈space bar〉,显示正文的下一全萤幕;按〈return〉,转往
下一行;按q进出文件;键入模式前缀(/),就可键入需要查找
的匹配模式,若模式找不到,则会显示「pattern not found」的
信息。

按pg则逐次翻一个萤幕,而每个全萤幕後,都随提示符(:),
按〈return〉,看下一萤幕,键入+n,向前移动n个萤幕;-n,
向後移动n个萤幕;打入$,则移到文件尾。

如果使用Cat看文件内容,就可以在全荧幕上滚动文件内容。在任
何位置,按<ctrl>s,文件就会停止滚动;按<ctrl>q,则会
继续滚动;按〈del〉则中断不看。

处理文件

cp指令为复制文件,可以有多种用法。

(一)$cp old.file new. file
备份一个文件

(二)$cp file 1 file 2 Test
将file 1和file 2复制到Test目录下

至於,mv则为改名指令,譬如

$mv fruit apples
就是fruit改名为apples

rm则是删除文件的指令。文件一经删除,就不能恢复它,故此,
要加倍小心。

$rm- i filename
加上「-i」,删除前,系统需要确认
</P>

huashi3483 发表于 2004-9-27 15:15

<P>第二讲shell环境</P><P>何谓shell shell是用户与作业系统之间的交互层,用户修改其环境,设置或
 取消shell的环境变量,迎合用户的需要和爱好。

 shell本身就是一个电脑程序,用C语言编写,为协助用户与作业
 系统之间通讯而设计,管理用户与核心(Dernel)之间对话,并
 把作业系统指令换成机器代码,其实PC用户常用的DOS,本身就
 是一个shell。

 sshell的用途

 shell的主要任务是:提示用户打入指令,读指令,转换指令为核
 心所能理解的语言。其实,shell可以看作为指令解释程序,提供
 一些工具,亦可以利用shell的编写工具,构造电脑程序。

 System V shell类

 SCO System V的shell可分为四大类:Bourne shell;C shell;
 Korn Shell;和菜单驱动shell。而菜单驱动shell可再细分为三
 类,分别是Open Desktop,Sysadmsh或scoadmin和客户应用程序。

 每个shell都有自己特定的环境文件,可以自行修改至合用,这些
 环境文件就仿如DOS的批次档案(Batch File)。

 Bourne shell

 对普遍用户来说,Bourne shell可以说是第一个UNIX shell ,
 它是由AT&amp;T贝尔实验室Stephen Bourne所编写。默认提示(
 Prompt)是美元符($),其环境文件为profile文件,由於文件
 档案不大,可以马上启动执行。

 profile是存放在主目录下的普通正文文件(Text File),通过
 设置环境变量(Variable)和终端模式,可以使环境个人化,每
 次注册进入系统时,shell会读入profile文件,并执行所列出的
 指令。

 每当系统管理员创建新用户的户口时,系统都会自动构造一个相
 应的.profile文件;而整个系统的环境文件就放置在
 /etc/.profile中。

 用户可以使用vi或其他正文编器修改。若要使用env命令显示,由
 於注册时已设置了这些变量,也不一定需要另行设置。

 C shell

 C shell是由Berkeley的Bill Joy编写,是标准BSD(Berkeley
 System Distributou)命令解释,其默认提示是份符(%),环境
 文件则是cshrc和.login。

 C shell采用C语言,是UNIX和XENIX系统上公共软件的开发语
 言,提供了方便工具,快速打入,校正和再打入命令行。

 .login是C shell的注册环境文件,负责启动shell,注册时执行
 一次,而.cshrc则存放常用指令如alias等指令。譬如我们要创建
 一个永久别名,把命令who|sort|more别名化为wh,在提示(%)
 後,只需要键入wh即可。用户可在.cshrc□键入下面一行:
 alias wh 'who/sort/more'

 Korn shell

 Korn shell是AT&amp;T贝尔实验室David Korn所开发,是Bourne
 shell的增强版本,综合了Bourne shell和C shell的特点和约定,
 而Korn shell则比Bourne和C shell执行得更快。

 Korn shell的默认提示与环境文件,跟其前身--Bourne shell一
 样,同为美元符号($)和.profile文件。

 进程控制

 虽然同一时间,系统中运行许多进程,但是某一特定时刻,CPU只
 会让一个进程使用,而CPU则在行使中的进程之间快速轮换,每
 个进程所占用的时间,称为时间片。SCO System V为了保持、跟
 踪或调度每个进程,会给每个进程一个进程标识号ID或PID。

 要确定那些进程正在运行,用户可以使用ps显示阁下的进程;或
 加上-e选项,显示所有进程;加-f选项,则显示的进程还包括已
 启动指令的执行中进程;-u login显示某注册用户的进程。

 在SCO UNIX System V中,如果阁下拥有Root指令的作用权,
 就更可以看到所有进程。

 当一个指令需要较长时间完成,可以在指令行後尾加入&amp;元字符,
 该指令就会在後台执行,但对交互工作方式的指令就不适用了。

 菜单驱动shell

 菜单驱动(Menu-Driven)shell可再细分为三项:

 一、Open Desktop

 Open Desktop采用XWindow图形用户介面,用户可用图符(Icon)
 窗口和菜单操作,如Open Desktop的作业系统就是SCO UNIX
 System V/386。

 二、系统管理员Shell:Sysadmsh或scoadmin

 Sysadmsh或scoadmin则是字符介面,用户可不用学习指令行语法
 和选项,就可以执行大批指令。大多数系统管理任务仅由系统管
 理处理,系统管理员则有特定的根口令(Root Password)。

 三、客户应用程序

 某些用户为了存取内部邮件、字处理或报表等应用程序时,方会
 使用SCO System V,系统管理员可以装上这些程序,令它们在注
 册时呈现。

 许多程序提供一个菜单选项,用简单打键选取一个选项,用户毋
 须记著指令和指令选项,亦能操控。

</P>

huashi3483 发表于 2004-9-27 15:15

<P>第三讲vi editor</P><P>任何用户最常做的事要数创建和编辑文件,包括文档、报告和文
   字,vi(Visual Editor)是一个有效而相对简单的全荧幕编辑,
   使用vi,只要记著少量基本指令,就可以开始起步,再学习其他
   更复杂的指令,而系统管理员则使用vi管理和维护系统。

   vi是包含在SCO System V作业系统中的全荧幕编辑,其实,vi不
   独存在於SCO UNIX内,而是UNIX内相当普及的文件编辑。开
   启文件

   无论是开启新档或修改旧文件,都可以使用vi,所需指令为:

   $ vi filemane

   如果文件是新的,就会在荧幕底部看到一个信息,告诉用户正在
   创建新文件。如果文件早已存在,vi则会显示文件的首廿四行,
   用户可再用游标(cursor)移动文件。

   This is what vi looks like.

   ~

   ~

   上面是一个经vi开启的模拟文件,一行开始处的波折号(~)表
   示文件的结尾。指令态与插入态

   vi使用了两种状态,一是指令态(Command Mode),另一是插入
   态(Insert Mode)。当vi处於指令态时,打入的内容会视作指令
   来解释;另一方面,当vi处於插入态时,就可以打入正文(text)
   给文件。

   大多数vi指令是单字符,由插入态改变为指令态,指〈Esc〉键;
   而由命令态转为插入态,则可以使用下面的插入令,直接打入,
   无需再按〈Return〉键。

   —指令i在游标处插入正文

   —指令I在一行开始处插入正文

   —指令a在游标後追加正文

   —指令A在行尾追加正文

   —指令o在游标下面新开一行

   —指令O在游标上面新开一行

   要记著一点,在插入态处,不能打入指令,必需先按〈Esc〉键,
   返回指令态。假若户不知身处何态,也可以按〈Esc〉键,不管处
   於何态,都会返回指令态。

   存档及退出

   在修改文件时,如何存档及退出指定文件都非常重要。在vi内,
   行使存档或退出的指令时,要先按冒号(:),改变为指令态,用
   户就可以看见在荧幕左下方,出现冒号(:),显示vi已经改为指
   令态,可以进行存档或退出等工作。

   下面就是一些这方面常用的指令。

   :q!放弃任何改动而退出vi,也就是强行退出

   :w存档

   :wq存档并退出vi

   :x与wq的工作一样

   :zz与wq的工作一样删除正文

   删除或修改正文都是利用插入态,故此,下面所提及的指令只需
   在插入态内,直接选入指令即行。

   —x删除游标处字符(Character)

   —nx删除游标处後n个字符

   —nX删除游标处前n个字符

   —ndw删除游标处下n个单词(word)

   —dd删除整行

   —d$或D删除由游标至该行最末

   —u恢复前一次所做的删除

   修改正文

   当使用vi修改正文,加减字符时,就会采用另一组在插入态操作
   的指令。

   — r char由char代替游标处的字符

   —Rtext〈Esc〉由text代替游标处的字符

   —cwtext〈Esc〉由text取代游标处的单词

   —Ctext〈Esc〉由text取代游标处至该行结尾处

   —cc使整行空白,但保留游标位置,让你开始打入

   —如删除指令一样,在指令前打入的数,表示执行该指令多少次。
   正文模式检索

   要检索文件,必需在指令态下进行。所谓「模式」,就是一个特
   定字符串,其中可含空格符。

   —/str〈Return〉向前搜寻str直至文件结尾处

   —?str〈Return〉往後搜寻str直至文件开首处

   —n同一方向上重复检索

   —N相反方向上重复检索

   —vi缠绕整个文件,不断检索,直至找到与模式相匹配的下一个
   出现。其他

   如果要在 vi执行期间,转到shell执行,使用惊叹号(!)执行系
   统指令,例如在vi期间,列出当前目录内容,可以打入

   :!If

   另一方面,用户可以在主目录中创建.exrc环境文件,用set打入
   选项,每次调用vi时,就会读入.exrc中的指令与设置。下面是
   .exrc环境文件的实例:

   set wrapmarging=8

   set showmode

   set autoindent

   set number
</P>

huashi3483 发表于 2004-9-27 15:16

<P>第四讲:系统管理</P><P>今次要谈的系统管理员负责管理SCO UNIX的系统,拥有独特的
注册名--root,能够读取任何文件,写入和删除任何文件,执
行任何实用程序和指令,亦可以执行和终止任何用户程序。
系统管理员的工作包括系统控制的任务,例如後援加锁和解锁终
端和记帐号、增加、隐退和撤消用户。亦可以给用户一些特权,
让他们实现特权系统任务。

基本指令

shell指令的基本数据结构是文件,因此,基本指令和操作包含以
下功能:

-显示及管理文件中的指令

-管理目录的指令

-输入输出重新定向和管道,重定向标准I/O,并执行组合指令$
W|grep 'john'〉john,file

-输出重定向符(>)把标准输出重新定向输出到文件

--输入重定向符(<)把标准输入重定向从文件输入

-管道符(|)把标准输出重定向输出到别一指令

寻找文件

find(c)指令可以在层次目录中查找文件,例如:

$find/-name filename -exec rm {};

-name filename指定filename

-exec rm表示在所找的文件中执行rm移动这个指令

另外,用户亦可以加入,-print表达式,显示找到文件的全路径
名。

除此之外,find(c)也可以用来找出特定用户或用户组所持有的
文件,譬如:

$find/-user bin -print

$find/-group mmdf -print

又或者,用find(c)重新定向过滤程序,输出错误信息,例如:

$find/-name motd -print 2〉/dev/null

SCO shell

使用SCO shell,可以让用户从单个菜单中选出应用程序,管理
文件和目录,运行系统实用程序,要调用SCO shell,可键入:

$scosh

可以利用空格条键〈Space Bar〉或箭头键〈Pointer〉移动光标,
加亮所选的菜单项

-按〈Esc〉

回到上一级,或放弃当前操作

-按〈F3〉

显示所在字段中可用选项表

-按〈Ctrl〉v 在字段选项表中选出每一项

-按〈F1〉

显示求助信息

-按Quit或打入q 退出SCO shell

系统管理shell

需要调用系统管理员shell,应该打入:

$sysadmsh或$scoadmin

虽然每个用户都可以调用sysadmsh,但是,只有实权的用户才可
执行有关特权管理任务。

基本上,使用方法与SCO shell差不了多少,只是多了几个功能
键(Function Key),例如〈F5〉搜索,〈F6〉改变目绿和〈F7〉
执行格式。而且,scoadmin更可以在XWindow的图形环境下执行,
用户在图符(lcon)上找到不同的管理任务。

多重注册萤幕

控制台上,可以允许用户最多具有十二个不同注册期的萤幕。多
重萤幕令系统管理员可以同时执行几个任务。

系统启动时,控制台上的多重萤幕就会自动活动起来。同时按〈
Alt〉键与〈F1〉至〈F12〉功能键,实现萤幕之间转换。

至於,在终端上,启动多重注册萤幕,则可用mscreen实用程序,
为正确工作,mscreen要求为tty。例如启动两个萤,应该打入

$mscreen-n2

然後按〈Shift〉键与〈F1〉或〈F2〉键,在两个萤幕之间转换,
当注销时,确保所有萤幕注销。

</P>

huashi3483 发表于 2004-9-27 15:17

<P>第五讲:电子邮件</P><P>在SCO System V下,每个用户都有一个系统维护的私人邮箱,
 用户能够与系统任何用户或用户组之间收发电子邮件,所收发的
 信息可以保留在邮箱内或作独立文件处理。 发送邮件

 打入mail指令,後跟收件人注册名,就可发送邮件。假如发送邮
 件给多个收件人,名字用空格符〈space〉分隔,而不是逗号。收
 件人可以是一个单独注册名或一个别名,别名代表用户组,例如:

 $mail peter amy

 接著,萤幕上会出现subject:的提示符,用户即可打入简短的信
 息说明,完成後,按〈Return〉键,然後,就可以编写邮件内容。

 需要校正错误,就该使用空格符或左箭头键,用不当的空格符或
 不合适的箭头键,即使在萤幕上看起来对,但是收件人可能只收
 到不可读和篡改了的信息。请记著,mail内的内容编写,不是「
 所见即所得」(What You See is What You Get)。

 假若需要取消整个信息,按〈del〉键两次。写完邮件内容,按〈
 Return〉键,取得新行後,按〈Ctrl〉d,发送邮件。d就是done(
 完成)的缩写。

 阅读邮件

 每次注册进入系统时,系统都会通知阁下,在阁下的邮箱中可有
 邮件,需要翻阅邮件,打入

 $mail

 若有邮件,每每邮件都会显示出相应的信息标题,包括信息数,
 送件人及发送日期。下面是邮件范例:

 $mail

 SCO System V mail(Versin 3.2)Type? for Help

 "/usr/spool/mail/joesco":2 messages/new/unread

 u2 mary Sun Aug 05 23:48 47/2109 level 2500

 n1 paul Fri Aug 03 08:01 23/6332 Tardy reports!

 要阅读来件,可以使用箭头键移动选取,按〈Return〉键阅读,
 或在提示处,直接按入来件编号。若已读到邮箱中最後一批信息,
 mail在萤幕上会显示"Can't go beyond last message" 。

 处理mail

 当打入一个无效指令时,mail会回答一个问号,或"What" 的信息,
 显示指令不清。假若用户想显示mail指令表,可以打入?;或打
 入h,显示邮牛标题表;打入l,则会发送信息至打印机。另有一
 些常用的指令,协助处理mail:

 一、保留邮件

 "s filename"按普通正文文件保存整个信息至filename内,连同
 邮件的标题信息,一并送入文件内。

 "w filename"撇除邮件标题後,保存信息到filename内。

 二、删除邮件

 "d x" 删除信息x这个信息号数

 "u x"恢复被删除的x信息

 三、覆件

 "r"发信回答给送件人

 "R"发送回答给To:和Cc:表上的所有用户

 四、转发邮件

 "f login"转发信息,予其它用户,并分送来件正文(Original
 Message);login乃用作的注名

 "F login"只转发信息,不分送来件正文

 五、退出邮件

 "q"退出mail程序,并更新所有改变

 "x"退出mail程序,但不作任何改动

 其它处理邮件的方法

 除了以上所提到的基本指令处理邮件外,SCO UNIX尚有其他较
 复杂的指令可整理邮件。在mail内,所有指令前都要加上波折号~
 v,调用vi编辑,一旦完成编辑信息,通过vi的指令,例如保存和
 退出指令:wq,就可返回mail程序;按〈Ctrl〉d,就可以直接发
 送邮件信息。

 其它mail的增强指令如下

 -~m messate-no.把邮箱中指定信息

 (message-no.)放到所编写的信息中

 -~r filename读入指定文件(filename),送到当前信息中

 -~p察看信息中的当前内容

 -~?求助

 为了方便mail通讯,系统管理员能够定义不同的特定单用户或组
 别名,通过这些单个组、别名或名字,就可以把邮件信息发送给
 全组用户。发送给别名成员,可键入如下指令:

 $mail aliasname

 如果要限制组员和其它用户的私人邮件的存取权限,可以使用
 chmod指令,例子如下:

 $chmod 600mbox

 在普通电子邮件提示处打入set,可以控制选项,改变读和发送邮
 件,这些选项可以由系统管理员为用户自动建立,也可以自己修
 改这些设置,例如:

 set page〓10

 mailrc环境文件

 mail的环境文件叫做mailrc,负责保存所要文件的永久记录。

 与其它环境文件一样,mailrc必需放在主目录中,它是正文文件,
 包涵有效的mail指令,mailrc通常包括set指令和alias 定义。

 不过,运行mail程序,倒不一定要有.mailrc文件。如要查看
 .mailrc,可以打入more .mailrc,下面是.mailrc的一个实例:

 cd

 -在mail内,改变主目录nset autombox

 删除自动把所读件转送到私人邮箱

 set page〓20

 -若信息大於二十行,用more显示

 alias crew john wanda frank

 -发送给crew的邮件转发给表中列出的用户

 set EDITOR〓/us/lib/word

 -把word作为mail默认编辑unset chron

 -显示当前最新邮件 上述的.mailrc例的□面,当打入$mail crew,
 就能够把邮件发送给john,wanda和frank。

 监视mbox是默认设置,如果不想设置的话,应该使用unset
 autombox,而当mbox的内容很快增长时,通常会删去旧信息。如
 果要读mbox中的邮件,可以使用如下指令:$mail -f mbox

</P>

huashi3483 发表于 2004-9-27 15:17

<P>第六讲:後援复制</P><P>电脑系统内,数据可是相当重要的一环。贮存数据的方法,可以
 经软盘、硬盘或盒式带(Cartridge),盒式带通常为大量数据提
 供後援(Backup)。

 复制目录

 在安装的文件系统中,把一个目录内容复制到另一个目录中,用
 copy 指令:

 $copy source&gt; destination&gt;

 #copy -mor source&gt; destination&gt;

 转换并复制文件

 使用 dd(c)指令,可以把一个文件转换成另一个文件,也可以选择
 文件的一部份传输,在传输的数据中,也可以交换字节顺序。

 $dd if=/dev/fd0 of=/temp/save skip=5 count=86 bs=5k

 上面的指令〃/dev/fd0〃 是指电脑上的软盘,〃skip=n〃代表在
 复制到输出文件之前,跳过输入文件上的几个记录。〃bs=n〃则
 表示设置输入输出字节块长度,用 k 表示 1024 字节。〃count=n〃
 只复制输入记录的指定数。

 同时,也可以利用 dd 指令检查归档(archive)情况,指令如下:

 $dd if=dev/fd0 of=/dev/null bs=1k

 1200+0 record read in

 1200+0 record read out

 归档文件:tar(c)

 tar 是对非特权用户最易用和最可靠的实用程序(utility),从
 归档介质上保留和恢复文件,亦能从多文件归档中抽取单个文件。
 tar 归档使用文件和目录的相对或绝对路径名。

 打入 tar,即会显示所有变量选项;”cv”是创建归档;”cv#”
 用於来自 /etc/default/tar 的设备号 #;”rv”追加已有归档;”
 uv”更新在已有归档上的文件;”tv”显示归档内容表;”xv”
 从归档中抽取文件;”f”从指定文件中读入或写出;”L”使 tar
 跟随符号连接继续追查下去,默认情况下则会忽略符号连接。

 譬如要归档指定文件,而复盖盘上的已有数据,指令如下:

 $cd pub

 $tar cv6 ascii greek

 volume end at 1199k, block factor=5k

 seek=0k a ascii 3k

 seek=3k a greek 1k

 要列出 tar 归纳的内容:

 $tar tv6

 rw-r--r-- 2/22114 Jan 2 13:41 1996 ascii

 rw-r--r-- 2/2475 Jan 2 13:41 1996 greek

 创建 tar 归档,使用相对路径名,否则,恢复另一系统就会盖写
 其他系统的文件。

 #tar cv6 /etc/motd

 #cd /tmp

 #tar xv6

 x /etc/motd, 943 bytes,2k

 归纳文件

 当需要後援指定设备、後援空设备与使用匹配符的时候,就不能
 使用操作容易的 tar,而需要转用比较复杂的 cpio,用以归纳文件。

 譬如,需要选取文件建立归档,指令如下:

 $find /u/bill -print| cpio -oB -O /dev/fd0

 20 blocks

 又例如,需要抽取 cpio 归档文件名时:

 $cpio -idmuBv -I /dev/fd0

 .profile

 ascii

 eqnchar

 greek

 20 blocks

 cpio 主要选项为:

 -v 显示工作

 -i 读归档

 -o 写入归档

 -t 内容表

 -d 创建目录

 -m 保留原修改日期

 -U 无条复制

 -B 分割因子置为 5k

 -Cn 分割因子置为 n

 -Kn 介质长度置为 n

 後援复制

 後援就是要平衡运行一般後援的代价与损失数据的代价,确定要
 归档的数据类,并确定要用何级实现,以及确定所要求磁带的盘
 数和带的容量,多久存储一次後援等等问题。

 一般来说,後援复制可在 sysadminsh 或 scoadmin 执行。

 所谓增量後援(Incremental Backup Levels),就是只需要以上
 次归档後发生改变的那部分数据後援。当实现调度後援时,在
 /usr/lib/sysadmin/last/中,将文件记录下来,可以透
 过使用後援级来实现。

 後援级的 0 级就是後援文件系统上全部文件;1 级则後援以上次
 0 级後援以来改变的文件:2 级,後援以上次 0 级或 1 级後援以
 来改变的文件;3 级,後援以上级 0级、1 级或 2 级後援以後改变
 文件。

 经定义後援工具後,後援调度(Backup Schedule)就可以更方便
 地执行,配置档案则会被安置在 /usr/lib/sysadmin/schedule 中。

 假若在紧急关头或特殊情况下,用户亦可以使用非调度放援,进
 行紧急後援。

</P>

huashi3483 发表于 2004-9-27 15:18

<P>第七讲:用户管理</P><P>系统管理员的用户理工作包括:为系统中所有用户建立帐号;以
及当改变用户环境、口令与组别时,进行维护。

分析用户需求

每当需要增加用户时,系统管理员都会先分析用户需求,对每个
帐号成分,通过使用默认选项来满足用户需求。要从sysadmsh中
查看默认记帐选项时,可以使用以下选择。

Accounts□□〉Defaults

或scoadmin□□〉Account Manager

当建立帐号时,评估用户需求,查看是否需要修改记帐成分。若
用户仅用一个应用程序,编辑用户的.profile文件,在用户注册
时,每次均执行此文件。

默认值建立用户帐号(Default Parameter)

首先,打入用户注册名,小写与三至八个字符;填写注解栏时,
应包含标识信息,如用户全名、单位、电话号码等。另外,指出
是否愿意用系统默认方式建立帐号,抑或对帐号修改默认值,若
使用默认方法,则选No。确定你要增加的用户後,给出创建後的
文件和目录,再执行/tcb/lib/useshell指令,建立用户帐号,
不过,在UNIX系统指令中,要通过sysadmsh或scoadmin才能运行
此指令。

若决定改变用户记帐默认方式,则在建立帐号时选Yes,那麽就需
要填写每栏,在合适位置上,按〈F3〉或〈Esc〉,下面是关於非
默认的设定。

指定用户组

每个用户必须至少属於一个组。默认情况下,用户注册组是group。
在一个组内还包括读、写和执行文件的权限,附加用户权限给那
个组,作为指定组员的存取权限集。如要改变成组别,可用newgrp(
c)指令。

增加用户时,可以创建一个新组,或附加到一个已存在的组内。
有关组别的信息则存放在/etc/group中。凡增加用户创建新组
时,组名会自动递加到/etc/group文件内。

组ID能够由系统产生或人工指定,但必须在100到60,000范围内,
100号以下的ID留给子系统和其他默认组用。当管理一个网络系统
时,常需要指定GID(Group ID,组ID),避免混同各网络结点,
所以,最好先选用默认组ID。

指定逻辑shell

要知道用户打算选用哪个shell工作,SCO系统可选用以下几种不
同的shell工作:

csh: C shell。

ksh:Korn shell,组合了Bourne shell和C shell的特点以及指
令行编辑。

rksh:加限制的Korn shell。

rsh:加限制的Bourne shell。

scosh:SCO shell(图型化桌面)。

sh:Bourne shell。

uucp:UNIX到UNIX拷贝功能,它本身不是shell,而是成功注
册後运行的程序。

默认shell在/etc/default/authsh中指定,从/usr/lib/
mkuser目录结构内文件中,取到可采用的注册shell表。

指定主目录

默认主目录在/etc/default/authsh中定义,从/usr/lib/
mkuser/homepaths文件中,取到可采用主目录的选择。以及为用
户创建一个新的主目录。

指定用户ID(UID)必须是在200到60000范围内,指定在/etc/
default/authsh文件中,UID必须是独一无二的,防止在网络上
有相同的UID,而且,UID一旦设置,永不改变。

指定用户类

另外,还需要为用户设立他们的类别,种类如下:

-individual:个人记帐类。

-pseudo-usr:为各子系统任务设置帐号,注册时个人不应给
pseudo□usr记帐类,Operator、security officer和
administrator记帐类是pseudo□usr的其他名字。

-不能设置superuser和retired记帐类。

如果要能使用su(C)(所变用户身分命令),该用户必需被指定
为用户类individual,才能取用此域,为了用su另外记帐,用户
必须有su授权,知道帐号口令。low、traditional和improved为
安全默认值,被赋予su授权。在high 安全默认值下,则不赋予su授
权。

赋予用户被始口令

当创建新用户帐号时,就需要为用户设立或不选择不设立初始口
令。

-New:现在赋予口令,用户在注册时必需打入这个口令。

-Later:现在不赋予口令,在赋予口令前,用户不能注册。

-Blank:赋予空口令,用户能注册,但在注册时,强迫用户给出
一个口令。

-Remove:不赋予口令,用户能不用口令注册。

-Force Password Change:决定在用户首次注册时是否要用户强
迫改变口令。

在high安全性下,必须为每个用户产生一个口令。若赋予初始口
令,就应该告诉用户他的口令,希望他在首次注册时,立即修改
这个口令,修改口令时,不要选用别人能够轻易猜出来的口令,
如姓名或生日日期等,最好在口令中,加有一个非字符。

系统安全保护:修改用户默认帐号

为了防止被人滥用别人的用户帐号注册进入系统内,保障系统的
完整性,系统管理员需要修改一些用户的默认帐号,以及检查用
户的注册情况。

首先,管理员会设定不成功注册最大次数,计算使用不正确口令
注册的次数;当不成功注册超过最大次数,就设定加锁用户帐号
和终端。如果在完成注册时间之内,仍未能设置口令,也可加锁
用户的系统,甚至根户用也一样。在成功注册後,希望享受优先
CPU调度,则可以用nice(C)值,给用户she ll及由它启动的进
程,以调整优先级。设定值会存放在/etc/system/default中。

</P>

huashi3483 发表于 2004-9-27 15:19

<P>第八讲:监视进程管理</P><P>程序是一个可执行文件(Process)是正在运行程序一个实例。
SCO UNIX System V支持许多进程同时运行,各种系统通过调
用可用进程去创建新进程,与其他进程通讯,以及终止其他进程。

进程族系

新进程创建时,内核会分配一个进程标识号(PID)给它,并对
进程表中添加说明讯息。

由一个进程创建另一新进程,老进程为父进程,新进程为子进程。
用户Shell执行的大多数指令又是它的子进程,子进程则运行指令。
而父进程允许有多个子进程来实现任务等,待子进程完成。一个
父进程可以有多个子进程,但是,一个子进程只有一个父进程。

前台及後台进程

在Shell提示处打入指令後,创建一子进程运行命令,Shell等待
命令退出,然回到对用户提出提示符,这道指令与Shell同步运行,
即在前台运行。

在Shell提示 处打入的指令,若随一个&amp;,Shell创建的子进程运行
此指令,但不等待指令退出,而直接返回到对用户提出提示。这
道指令与Shell同步运行,即在台运行。

$ sleep 10 &amp;

精灵进程

精灵进程是一个进程,它与终端和用户都无联系,也有人喜欢称
他为管家婆。精灵完成一些周期性的事,平时它睡眠。用ps (C)
指令可看到精灵,它在tty区域中带有问号(?)。

-Sched:PID 0,它完成进程的程序在存储局和盘交换局之间交
换工作。

-init:PID 1,系统自动建的第一用户进程,它负责初始化引
导和注册过程,也就是所有非系统进程的祖先。它会在终端口上,
启动getty (M)进程。

-vhand:PID 2,页面精灵,它频繁地把储页面内容送往交换区。

-bdfush:PID 3,定期刷新高速缓到盘(默认情况,每13秒刷
新一次)

-logger:归档系统出错讯息。

-cron:在调度时运行作业。

-Ipsched:脱机打印精灵。

孩儿进程

孤儿进程在父进程终止仍旧活动,由init (M)认它为乾儿子。
僵□进程则是进程已终止,但进程还未撤消,因为父进程并未「
等待」它,进程表仍保留著这□体,进程表的□体是僵□进程所
消耗的资源。

随著新进程的创建,出现大量□体,但总数是有限制的,因此影
响新进程的产生。而孩儿进程与僵□进程不同,并不会影响系统
效率。

通常,在父进程死去时,才会移去僵□进程。若他们还未移去,
应由init (M)继承并移去它。

监视进程

监视进程监注册户的数量,用以记系统的性能;亦会监视用户进
程,包括挂起进程;以及装载均值等系统性能问题。

要显示进程信息,可以利ps (C)指令报告,进程状态。在默认
情况下,仅会报告与当前终端有联系的有关讯息。若用户没有root权
限,ps仅限以说明运行进程,报告用户的进程讯息。若用户有root权
限,则会报告在所有终端上所有用户的进程讯息。

$ ps-u joana

--u 〈username〉选项显示指定用户的讯息。

--t 〈ttynamt〉选项显示指定终端有关的进程讯息。

而ps -elf指令则提供了需有F、S、C、PRI、NI、TIME字段的
使用讯息。

-F是标记,指示进程位置,20表示在内存,0表示交换在盘上,
31是系统进程。

-S是状态讯息,指示进程状态,睡眠还是正在运行。

-C是进程占有CPU的百分率

-TIME是花费CPU的总时间。

-PRI是进程当前优先数

-NI是进程的nice (ADM)菜单

如何创建进程

当进程分岔一个子进程,自己就会进入睡眠状态。开始时,子进
程运行父进程的同一程序,由内核分配一个新的PID。当子进程
再去执行新的程序,保持新分配的PDI,新程序就会替代子进程
的原先程序。

当子进程完成後,内核会把它从系统中移去,再唤醒父进程,子
进程就会退出。

监视系统装载

uptime(C)指令显示装载均值(一分钟、五分钟和十五分钟),
即在预定时间上,排队运行进程的平均数:$uptime

W(C)指令产生如uptime(C)一样的装载均值讯息,并显示谁在
系统上做甚麽,若用户拥有root权限,W报告所有用户的有关讯 息。
若没有 ,仅显示与用户进程有关竹的讯息。

PCPU(Process CPU,进程CPU时间 )显示某道特定指令已运
行多久了。对控制不了的进程,这种检查是很有用的。JCPU(
Joint CPU,连合CPI时间),显示一个终端所涉的所有进程的
总时间。

sar (ADM)指令是一个系统活动报告程序,显示系统资源累积
利用率。为指示系统瓶颈口(Bottleneck),sar 是非常好的实
用程序,指令语法如下:$sar〔-option〕 〔
sample-interval-samples〕

例如:$sar-u120

-u选项显示CPU利用情况。如果%idle一致地低,使用效能是上升,
不过,运行的进程偷不到未用的CPU周期。

又例如使用-q选项显示进程吞吐量。假若%swpocc大於20,就发生
交换(Swapping),可以使用大内存能减少交换 /请负活动。

</P>

huashi3483 发表于 2004-9-27 15:20

<P>第九讲:管理进程</P><P>用低优先级运行进程

 nice(C)指令用於以较低的调度优先级执行命令,每个进程都有
 一个 nice 值,用於计算它的优先级。nice 值在 0 到 39 范围内,
 高值获得低优先级,不给实参的默认情况是 nice 值 20。超级用户
 可指定负值,以提高优先级。

 在注销进程後进程继续执行

 後台启动的进程,默认情况下,当注销後就不再存在,但是,可
 以使用 nohup(c)指令,让进程不受挂起和注销影响,得以继续
 运行,例如:

 $ nohup sort bigfile&gt;sortfile &amp;

 4567

 $ exit

 当用户注销时,用户未用输出改向,输出将送到当前目录下的
 nohup.out 文件中,如果当前目录不可写,则输出改向到
 $HOME/nohup.out。

 重新启动安全级精灵进程

 根据 C2 安全级要求,某些精灵进程用 LUID (Login User
 Identifier)标记运行,如此只能用 sd(ADM)实用程序重新启
 动他们。

 如果 LUID 限制有效的话(高安全级),只能用 sd(ADM),例
 如 cron(C)这样的精灵,在高安全级下要 sd 重新启动它。

 进程终止实用程序

 需要终止实用程序时,可以通过发信息给进程,使它自杀,通常
 会用在终止一些已挂起的或是运行的进程。

 语法如下:

 $ kill [-signal]

 例如

 $ kill 4411

 4411:terminated

 这样,只能终止运行优先级大於 25 的进程,小於 25 优先级的进
 程只能在重新引导系统中撤注它。

 调度单个作业执行

 at(C)指令使得在某指定时间执行一组命令一次,主要用於在系统
 活动较少的情况下,在预定时限(例如在半夜後或每日固定时间)
 内运行指令。

 要重新定向,可以使用标准输入,或可文件输入;在打入完整的
 at 指令後,就会显示出将要运行的作业号与时间。

 语法如下:

 $ at time   &lt; 

 任何用户都能运行一个 at 作业,但必须给予授权。

 指定单个作业调度时间

 时间格式为 hr:min 或 min,hr ,用 a.m 或 p.m 指定上午或下午,
 有效时间包括 no on,midnight 和 now,指定日期则用「月日
 〔年〕」格式,例如 Feb14。一星期那一天也可用 monday、
 mon、today 或 tomorrow 代替。

 .at 指令从标准输入中,读入打算在以後某一时刻所执行的命令:

 $ at 14:00 Jan

 sort /u/user1/file

 /u/user1/sort

 ctrl&gt;d

 job 61202778.a at Thu Jan 4 14:00:00 1996

 记著使用时,要用全路径名指定文件。指令输出以电子邮件发送
 给用户,也可输出改向到文件或终端。

 列出单个调度作业

 使用命令

 $ at -1

 job 612027780.a at Wed Jan 24 08:43:00 1996

 job 612027900.a at Wed Jan 24 08:43:00 1996

 若指定 jod_id,一般用户会得到一张自己所有作业的表,根用户
 则能取得全部作业的表。

 撤消单个调度作业

 使用以下指令撤消作业:

 $ at -r

 可以使用匹配符撤销多个作业。at 的作业存放在
 usr/spool/cron/atjobs

 在一般数据库上调度作业

 用 crontab (C)指令,从指定文件或标准输入拷贝或编辑成用户
 的 crontab 文件,该文规定了在指定日期和时间调度运行一些指
 令。

 crontab 指令提供了对 cron 系统精灵要执行的作业,清理 /tmp ,
 撤销在一般数据上日记文件或不想要的文件,以及检查空间,邮
 寄警告予用户等。

 /usr/lib/cron/cron.allow 文件列出了能使用 cron 的用户,
 /usr/lib/cron/cron.deny 文件列出了拒绝存取 cron 的用户,仅
 当 cron.allow 文件不存在时,cron.deny 文件才起作用。

 指定作业及其调度时间

 作业可能是单个指令或包含多道指令的 shell 脚本,指令输出邮
 寄给用户,也可输出改向到文件或终端。在文件中打入作业及运
 行时间,以运行此作业。文件可取任何名字,但是,不允许包括
 首尾部和空白行,而且,最好取 .cronfile ,这种取名反映其功
 能,易记易理解。.cronfile 文件可用正文编辑或 vi 创建。

 每个用户仅提供一个 .cronfile文件,每当执行 crontab 指令时,
 新文件会盖写原先文件。编辑已存在的 .cronfile 文件,增加或
 修改一个作业,然後用 crontab 重新提交 .cronfile 。而每个用
 户的登记项会存放在/usr/spool/crontabs/。

 列出或修改 cron 作业

 要列出当前提供的 cron 作业,可以打入:

 $ crontab -1

 修改 cron 项,使用指令:

 $ crontab -1 &gt;.cronfile

 $ vi .cronfile

 $ crontab .cronfile

 如要撤销 cron 作业,则打入:

 $ crontab -r
</P>

huashi3483 发表于 2004-9-27 15:20

<P>第十讲:打印管理</P><P>打印假脱机(Spooler)程序在系统引导时自动启动,负责打印服
务的安装、配置和管理,在指定打印机上,将用户打印请求进行
排队,能在不丢失排队打印请求下暂停打印。

打印机队列

打印机会被分组,每组共同存取一个队列(class)。而打印请求
可以送入一个 class ,也可送往指定打印机上。

在一个 class 中,可随时移去或增加打印机,用 sysadmsh 菜单或
scoadmin 的 Print Manager,可以增加打印机往已有的 class 中,
又或增加一个新 class。

打印机过滤程序

使用打印机过滤程序,可以转换用户文件或数据流,在给定打印
机上,合适地打印出来;处理两边打印,草图或高质量文字打印
等;如发现打印失败,会通知打印服务,然後告诉用户使用上出
现问题。

打印机过滤程序又称为打印机定义的接口脚本,存放在
/usr/spool/lp/bin。

安装和配置打印机

要把打印机接到并行埠(Parallel Port)上,SCO UNIX
System V 支持两个物理并行设备(/dev/lp)。当用主并行
埠时,用 LP0 或 LP1,中断向量为 7。第二个并行埠,/dev/lp2,
中断向量同为 7。

要把打印机接在串行埠(Serial Port)上,最好接上智能卡工作,
打印机能用任意有效串行埠名联系。若不要求硬件流控制,可以
使用非调制解调器控制埠名。

另一方面,可以从终端辅助埠上做局部打印,指令 lprint (C)
使用户从附在终端上的打印机上打印。

安装打印机

要安装打印机,先找一个未用的串行线路接上打印机,连好导线,
打开打印机开关,检查硬件连接。

然後,调用 sysadmsh 菜单或 Print Manager 上,加入打印机,用
合适的信息填好格式,指定打印机的 Class,若所指定的不存在,
就建立一新 Class,包含接口脚本路径名。许多打印机都能用
standard 接口脚本。

打印机管理

修改打印机配置时,可以增加或撤消目的地;改变打印机接口脚
本、设备等;以及改变默认打印机目的地。

管理打印机调度时,有几种选项需要注意:

-Stop:为实现某种打印机维护,必需将假脱打印机转换成 off。

-Begin:假脱机转换成 on。

-Accept :允许把打印请求送往打印机或 class 中。

-Reject:阻止请求假脱机打印。

-Enable:允许从打印机或 class 上打印。

-Disable:阻止打印,但允许假脱机出现。

每个打印请求都会赋予一个优先数,决定何时打印,优先数据取
值范围为 0(最高)到 39 (最低)。默认优先数值同样是 20。

所有打印请求或单个打印请求都能移到不同的队列或打印机上,
若打印机的队列阻塞或打印机不能用,就要移去打印请求;打印
机要维护,也要移去打印请求。如果已移去了所有请求,这个打
印机就不再接受新请求,直到打印机启用为止。

要清理打印机请求,先要指出打印机或请求 ID ,若指定了打印机,
则当前正在打印的作业也被清除,但是,不能使用通配符去匹配
清理打印请求。

</P>
页: [1] 2
查看完整版本: SCOUNIX基础讲座