第一讲unix简介
文:santa cruz operation, inc.
unix向来是强劲的作业系统,屹立多年不倒,但是,对一般使用个人电脑的用户来说,确是比较陌生,有见及此,编辑部选择了在个人电上也可运行自如,毋须庞大的mainframe或甚麽大机器的sco unix,介绍给大家,让各位对另一广阔无限的作业领域探首一下,也许玩起inte.net时,会有另一番天地,别错过这一连十二期的「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」,删除前,系统需要确认。
第二讲shell环境
文:santa cruz operation,inc.
何谓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&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&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 system v,系统管理员可以装上这些程序,令它们在注册时呈现。许多程序提供一个菜单选项,用简单打键选取一个选项,
| 第三讲vi editor 文:santa cruz operation,inc 任何用户最常做的事要数创建和编辑文件,包括文档、报告和文字,vi(visual editor)是一个有效而相对简单的全荧幕编辑,使用vi,只要记著少量基本指令,就可以开始起步,再学习其他更复杂的指令,而系统管理员则使用vi管理和维护系统。 vi是包含在sco system v作业系统中的全荧幕编辑,其实,vi不独存在於sco unix内,而是unix内相当普及的文件编辑。开启文件无论是开启新档或修改旧文件,都可以使用vi,所需指令为: ~ ~ 上面是一个经vi开启的模拟文件,一行开始处的波折号(~)表示文件的结尾。指令态与插入态 vi使用了两种状态,一是指令态(command mode),另一是插入态(insert mode)。当vi处於指令态时,打入的内容会视作指令来解释;另一方面,当vi处於插入态时,就可以打入正文(text)给文件。 大多数vi指令是单字符,由插入态改变为指令态,指〈esc〉键;而由命令态转为插入态,则可以使用下面的插入令,直接打入,无需再按〈return〉键。 存档及退出 在修改文件时,如何存档及退出指定文件都非常重要。在vi内,行使存档或退出的指令时,要先按冒号(:),改变为指令态,用户就可以看见在荧幕左下方,出现冒号(:),显示vi已经改为指令态,可以进行存档或退出等工作。下面就是一些这方面常用的指令。 修改正文 当使用vi修改正文,加减字符时,就会采用另一组在插入态操作 正文模式检索 要检索文件,必需在指令态下进行。所谓「模式」,就是一个特定字符串,其中可含空格符。 其他 如果要在 vi执行期间,转到shell执行,使用惊叹号(!)执行系统指令,例如在vi期间,列出当前目录内容,可以打入 |