SCO UNIX讲座(1)
UNIX向来是强劲的操作系统,屹立多年不倒,但是,对一般使用
个人电脑的用户来说,确是比较陌生,有见及此,编辑部选择了在个人
电脑上也可运行自如,毋须庞大的Mainframe或甚麽大机器的SCO UNIX,
介绍给大家,让各位对另一广阔无限的作业领域探首一下,也许玩起
Internet时,会有另一番天地,别错过这一连续十二期的「UNIX自学篇」了。
可能有些人会误以为UNIX只是那些功能强劲的庞然大机方会使用
的操作系统,谁不知道在个人电脑上,一样可以使用,只不过所使用的
是特别为个人电脑设计的PC UNIX,SCO UNIX就是其 中的表表者。第一讲 对於惯用DOS或视窗环境的朋友来说,UNIX的第一重关卡就是那
些「敏感标号」(Sensitive Case),字母的大小写俱有不同的意思,
Ls、IS、LS或Is这些命令全不相同,所谓「差之毫□,谬 之千里」,
它对大小写可是绝对敏感的。
文件名称 在SCO UNIX下,建立的文件档案名称,可以是包含最多十四个
字母数字字符的任意组合,既可使用下横「_」,也可使用句号 「.」。
不过,文件名称却不能使用某些特定字符,因为它们对Shell来说
有特定意义。这些不能用作文件名的字符,分别是「;」「|」、
「〈」、「〉」、「'」「$」、「!」、「%」、「(」和「)」,
而文件名称中也不能含有空白空格等。
(freelab注:现在绝大数unix命名都可长至256字符,中间可有空格) 文件存取权
每个文件都可以拥有不同的存取权限,界定其它用户能否存取文件和目录。
每个文件分为三类所有权:文件的属性、属主所在小组的成员(
即组员),可存取系统的其它用户。用「|」的命令,就可以查
看文件的权限。 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
按〈spacebar〉,显示正文的下一全萤幕;按〈return〉,转往
下一行;按q进出文件;键入模式前缀(/),就可键入需要查找
的匹配模式,若模式找不到,则会显示「pattern not found」的 信息。
按pg则逐次翻一个萤幕,而每个全萤幕後,都随提示符(:),
按〈return〉,看下一萤幕,键入+n,向前移动n个萤幕;-n,
向後移动n个萤幕;打入$,则移到文件尾。
如果使用Cat看文件内容,就可以在全荧幕上滚动文件内容。在任
何位置,按<ctrl>s,文件就会停止滚动;按<ctrl>q,则会 继续
滚动;按〈del〉则中断不看。处理文件
cp命令为复制文件,可以有多种用法。
(一)$cp old.file new. file 备份一个文件
(二)$cp file1 file2 Test
将file 1和file 2复制到Test目录下 至於,mv则为改名命令,譬如
$mv fruit apples 就是fruit改名为apples
rm则是删除文件的命令。文件一经删除,就不能恢复它,故此,
要加倍小心。 $rm- i filename
加上「-i」,删除前,系统需要确认。
第二讲shell环境 何谓shell shell是用户与操作系统之间的交互层,用户修改其环境,
设置或取消shell的环境变量,迎合用户的需要和爱好。
shell本身就是一个电脑程序,用C语言编写,为协助用户与作业
系统之间通讯而设计,管理用户与核心(Dernel)之间对话,并
把操作系统命令换成机器代码,其实PC用户常用的DOS,本身就
是一个shell。 shell的用途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&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是Cshell的注册环境文件,负责启动shell,注册时执行
一次,而.cshrc则存放常用命令如alias等命令。譬如我们要创建
一个永久别名,把命令who|sort|more别名化为wh,在提示(%)
後,只需要键入wh即可。用户可在.cshrc□键入下面一行:
alias wh 'who/sort/more'Korn shell Korn shell是AT&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命令的作用权,
就更可以看到所有进程。
当一个命令需要较长时间完成,可以在命令行後尾加入&元字符,
该命令就会在後台执行,但对交互工作方式的命令就不适用了。 菜单驱动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
SystemV,系统管理员可以装上这些程序,令它们在注册时呈现。
许多程序提供一个菜单选项,用简单打键选取一个选项,用户毋
须记著命令和命令选项,亦能操控。 --第三讲 vi editor 任何用户最常做的事要数创建和编辑文件,包括文档、报告和文
字,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 --第四讲:系统管理 今次要谈的系统管理员负责管理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〉键,在两个萤幕之间转换, 当注销时,
确保所有萤幕注销。 --
第五讲:电子邮件 文:Santa Cruz Operation,Inc.
在SCO System V下,每个用户都有一个系统维护的私人邮箱,
用户能够与系统任何用户或用户组之间收发电子邮件,所收发的
信息可以保留在邮箱内或作独立文件处理。
发送邮件 打入mail命令,後跟收件人注册名,就可发送邮件。假如发送邮
件给多个收件人,名字用空格符〈space〉分隔,而不是逗号。收
件人可以是一个单独注册名或一个别名,别名代表用户组,例如:
$mail peter amy
接著,萤幕上会出现subject:的提示符,用户即可打入简短的信
息说明,完成後,按〈Return〉键,然後,就可以编写邮件内容。
需要校正错误,就该使用空格符或左箭头键,用不当的空格符或
不合适的箭头键,即使在萤幕上看起来对,但是收件人可能只收
到不可读和篡改了的信息。请记著,mail内的内容编写,不是
「 所见即所得」(What You See is What YouGet)。
假若需要取消整个信息,按〈del〉键两次。写完邮件内容,按〈Return〉键,
取得新行後,按〈Ctrl〉d,发送邮件。d就是done( 完成)的缩写。 阅读邮件
每次注册进入系统时,系统都会通知阁下,在阁下的邮箱中可有邮件,需要翻
阅邮件,打入 $mai若有邮件,每每邮件都会显示出相应的信息标题,包括信息数,
送件人及发送日期。下面是邮件范例:
SCO System V mail(Versin 3.2)Type? for Help "/usr/spool/mail/joesco":
2 messages/new/unread
n2 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 当打入一个无