选择显示字体大小

sco unix 讲座


第一讲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,系统管理员可以装上这些程序,令它们在注册时呈现。许多程序提供一个菜单选项,用简单打键选取一个选项,

  


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons

第三讲vi editor
文:santa cruz operation,inc

任何用户最常做的事要数创建和编辑文件,包括文档、报告和文字,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