第二章操作系统IAs 的操作系统目前在使用的有三个版本: PW 与AP20 上的VENIX;50系列上的SunOS TM 5.2 ( Solaris系列上的Windows-NT 4.0. 福克斯波罗公
不久将推出带有双操作平台的60 系列.
Windows-NT 的操作界面与一般PC 机无异, 故我们这里不再作介绍.
VENIX 是以分时的Unix 操作系统为基础、加上实时控制部分VRTX,
Bourne Shell 为主, 融入部分C Shel 指令.VENIX 操作系统与UNIX 操作系统第七版完全兼容、在UNIX 操作系统上开发的软件可以不加修改地在VENIX 系统中运行.在VENIX 系统中可以运用C 程序设计语言和FORTRAN 程序设计语言.
50系列Sun 工作站上使用的SunOS TM 5.2 是Sun 公司具有自主版权的Unix 操作系统. 操作人员可以根据自己的爱好选用Bourne Shell 或C Shel因此我们这里只介绍Unix 操作系统. 但是本教材不可能也没有必要把全部Unix 的内容抄进来, 只能介绍一些常用命令作为入门, 有兴趣的读者可看Unix 资料.

1 UNIX 操作系统简介UNIX 系统是一种多用户,多任务的操作系统.多用户指允许多个用户同时
进入系统进行操作, 对每个用户来讲机器就好象仅在为他一个人服务.多任务指多道进程可同时运行.作为多用户操作系统, Unix 的安全性和可靠性都要胜于一般的系统.
多个用户进入了系统, 但只有一个用户负责整个系统的管理, 维护及其安全, 这个用户具有最大的权限, 称为超级用户(supper user), 其他的用户只有经过超级用户登记授权后才能注册进入系统.
1.1 UNIX 操作系统的进入与退出方法一.在IA 的工程师环境下依次选择SftMnt →VT系列VT100 有local; remote; host 之分)以工作站作为仿真终端, 当出现字号提示符即可输入Unix 命令.
退出VT100 的命令是: exit 或Ctrl-d.方法二.用关机步骤进入单用户状态、 在IA 的工程师环境下依次选择:
SftMnt →PW_Shutdown →SHUTDOWN(50 系列上是AW 或AP_Shutdown)
最后的一个SHUTDOWN 是误操作保护, 如果并不想关机可选CANCEL. 在AWWP 选择SHUTDOWN 后出现以下信息:The system is downChanging to init stateS0 please wait
INIT: New run level : S
INIT: SINGLE USER MODEType Ctrl-d to proceed with normal startup(or give root passwor
d for system maintenance): _机器在这里停下, 按照提示可以同时按下Ctrl 和d 二键重新启动或输入口令进入系统维护, 可做备份或恢复文件工作. 输入口令后出现以下信息:Enter System Maintenance Mode井字提示符出现后, 可以输入UNIX 命令. 进入这种状态、 主要是做硬盘维护工作. 工作完成后, 如要启动IA, 可输入命令reboot如要关机、 可输入命令poweroff, 系统将自动切断电源. 这种用软件命令断电的方法, 在按下工程师键盘上的开机按钮后即可启动, 因此为安全起见、 如要搬动, 拆装机器, 务必关掉机器上的硬开关. 最好安下面的步骤执行.
在井字提示符后面输入命令haltsyncing file terminatedType help for more informationOK现在可以断电了. 如要启动IA, 输入命令boot055在OK 提示符下软断电命令为power-off在PC 机上我们也可以不进入IA 直接进Venix. 开机通电启动, 当屏幕上出现字符后, 键入:vrtx0 (若不键入任何字符数秒钟后系统自动调用venix 进入IA);
出现提示符Enter Normal, Maintenance, or Graphics (n,m,g)_ 快速键入字母n;
在提示符Do you want to check the file system (y or n)_ 键入y 要求检查文件系统.检查文件系统需要花费一些时间, 但很值得.特别是发生意外断电或死机、 有可能会损坏文件系统, 这时就无法启动IA, 检查文件系统时能到并修补好受损伤的文件, 这样就能重新启动IA. 当然你也可以选n 不要求检查.
当出现login: 表示系统已经进入VENIX, 现在你可以打入你的用户名和口令进行注册. 实验室的机器上有二个用户, 用户名分别为root 和guest, 其中root 是个超级用户所以用口令保护, 口令为gnomes.注册进入系统后出现用户提示符就可输入命令.
退出注册用户的命令: exit 或Ctrl-d.回到login: 状态.
如果要关机、 现在还不能直接断电.注意, VENIX 是个多用户多任务的系统, 只有超级用户有权关机、 因此先要注册进入超级用户, 然后按如下顺序进行关机操作:sync;sync;sync0shutdown0系统提示SYSTEM BEING BROUGHT DOWN NOW ! ! !
Do you want to continue (y or n):_若要放弃关机可键入字母n, 中断关机程序; 键入字母y 回车就执行关机程序.
注: 方法二所介绍的关机步骤仅适用于PC 机未进入IA.
1.2 UNIX 系统的三个基本概念内核(Kernel)内核就是操作系统本身、 是管理系统资源的主程序外壳(Shell)
Shell 即是一种指令语言又是一种程序设计语言、 它提供Unix 操作系统的对外接口.其内容包括: 原始的控制流、 参数的传递, 变量与字符串的代换, 指令和外壳的双向联系等、 分别由指令执行; 指令所设定的返回码、 可用于终端的控制流、 指令所定义的标准输出可用于外壳输
入.Shell 是由指令语言和程序语言所提供的, 是用户通向Unix 操作系统的有效界面. Shell 可以用来编程, 在IA 的50 系列机器上可以用Bourne Shell 和C-Shell, C-Shell 的程序语言非常类似C 语言.
文件系统文件是Unix 文件系统的基本单元、 提供了所有文件的组织结构.有三种文件类型: 普通文件(在谈到文件时, 通常是指这种文件), 目录和特殊文件.在设计文件系统时考虑到要尽可能简单有效, 故它将磁盘,终端等设备也看做为文件,并置于与普通文件同等的地位.这为操作维护提供了很大的方便.
文件系统以树形结构存放.每个文件有关于此文件访问权限的设置.分为三组, 每组三个字母(rwx), 分别代表: 读, 写, 执行的权限, 短行- 表示该权限被取消.三个组按序分别为: 文件属主, 与文件主处于同一组的用户, 其他用户.通常我们建立了一个文件后其访问权限为: rw-rw-rw, 表示此文件不可执行、 对三种用户都允许读和写.
一些主要的系统文件和目录:
根目录
bin : 存放二进制可执行文件, 许多Unix 基本程序在此目录下
dev : 设备文件, 当你要在一个物理设备上做输入输出时,必须发送IO 到一个合适的设备文件

etc : 存放系统数据和维护文件, 如:
etccron : 时钟守护神
etcgroup : 组文件
etcinit : 初始进程, 在其它所有进程前运行
etcinittab : 激活进程表
etcmnttab : 挂在系统上的文件系统表
etcmotd : Message of the Day, 用户登录后显示的信息
etcpasswd : 口令用户帐户文件
etcrc : 系统初始化文件
etcshutdown : 系统关机文件
lib : Libraries 系统调用库和编译器库
lostfound : 在每一个文件系统中都必须有这个目录. 文件系统检查程序执行时将分离的文件放入该目录.这里是用于根文件文件的, usr 文件系统也有这样的目录.
tmp : 根文件系统用于存放临时文件的目录,当系统重新启动时该目录下所有文件都将清洗掉.
usrbin : 一般用户使用的实用程序
usredoc : Foxboro 电子文件
usrinclude : C程序的标准头文件
usrlib : 应用目标库
1.3 常用命令介绍Unix 系统区分大小写, 不能混用.
Unix 命令的一般格式: 命令-选项] [参数]0回车符0表示该命令行在前台执行;也可用0表示将命令送入后台执行、这时机器将显示一个进程号,然后换行出现输入命令的提示符,前台运行的命令可以用c中止,后台进程要用命令kill 进程号中止;
方括号表示这一项可选、 实际使用时不要加方括号.
通配符:代表任意的字符串.代表任何一个字符.
[A-z] 从A0z 的所有字母.ls -option] [fname]列目录清单.option是该命令的选择项、 fname 是文件名参数.
例. ls -a以长格式列目录清单, 包括以点. 带头的隐含文件.短横表示其后是选择项.若无短横shell 解释a 为文件名、 就列出当前路径下文件名为a 的文件.
例. ls a列出所有文件名的第一个字母为a 的文件.如果该文件是个目录则列出其下面的所有文
件.
例. ls [a-g]列出所有文件名的第一个字母为a 到g 的文件.如果该文件是个目录则列出其下面的所有文件.
cd [dname]改变当前的工作目录例. cd 将目录转到历史库的位置.例. cd将目录转到本用户注册登记的目录(即HOME 目录).mkdir dname 创建dname 目录.rmdir dname 删除dname 目录, 该目录必须是空目录,没有任何文件.
pwd 显示当前目录的全路径名.mv fname1 fname2 将文件1 移到(即改名为) 文件2, 文件名可以是一个全路径的文件名、下面凡是写文件名的地方都可以是全路径的.
例. mv aa.arc 将aa.arc 文件转移到历史库所在的目录下并改名为 fname 显示文件的内容.文件内容较长时滚屏输出.非文本文件不可在屏幕上显示、否则有可能导致死机、其它显示文件的命令都有这个问题.
more fname 分屏显示文件的内容.回车键滚动一行、 [n]d 滚动n 行、空格键翻一屏,d 翻半屏,q 结束.
tail -n fname 其中0n 显示文件的最后n 行、缺省为最后10 行;n 从文件的第n 行开始显示file fname 显示文件的类型.cp fname1 fname2 拷贝文件1 到文件2 .ln fname1 fname2 连接文件
1 到文件2, 其中文件1 是个实际存在的文件, 命令执行者要有读的权限,而对文件2 所在的目录要有写的权限.
rm fname 删除指定的文件. 在用通配符时要小心、 不要把不想删除的文件删掉了.
rm 可将当前目录下的所有普通文件全部删去.rm -r dname 删除dname 目录, 该目录不必是空目录,小心系统不给予任何警告就将该目录下所有文件,子目录全部删除.
date 显示当前的系统时间和日期.who 列出当前正在系统中的用户名和其进入的时间.dtree [dname] 显示指定目录名下的目录树, 缺省为当前目录.加入选项0a 则将目录和文件名一起显示出来.
find dir-list bool-exp 查文件.find usr -name fname -print 在usr 目录下,按文件名查,到即逻辑为真,就在屏幕上打印输出文件的全路径名.
find usr -typec-print 在usr 目录下,按文件类型查,到即逻辑为真,就在屏幕上打印输出文件的全路径名. 其中c 可以是f 一般文件b 块设备文件c 字符设备文件d 目录p 管道chmod mode fname 改变文件的存取权限.一组rwx 分别代表读写执行、 允许为1, 不允许为0, 用一个八进制数表示.因此可读可写可执行为111, 用八进制的7表示.可读不可写可执行为101, 八进制为5.因此若要改变一个文件的存取权限为对自己可读可写可执行、 对其他任何人只可读与执行、
模为755.
chown owner fname 改变文件的主人、 只有该文件的主人才允许做这件工作.
passwd 改变口令. IA 中超级用户的口令gnomes 写入了随机资料和教材, 建议用户在机器装好, 确定了专职管理人员后用此命令修改口令, 并经常改变口令.
tar tvf devfh0 列出fh0 设备(即软盘)中的目录. 50 系列上软盘的设备名是rfd0.
tar xvf devfh0 把软盘中的文件按原目录复制到操作系统中.
tar cvf devfh0 usrguest 把usrguest 目录下的文件存入软盘, 并把软盘中原有的文件全冲掉.
tar rvf devfh0 usrguest 把usrguest 目录下的文件存入软盘, 软盘中原有的文件仍保留.
用tar 命令保存到软盘中的文件不能直接使用, 一定要恢复到系统中才能使用. 如果设备名是一个磁带机、 则对磁带机进行操作. 该命令的缺点是, 如果文件较大, 一张盘片存不下时, 没有换盘提示、 而是给一个出错信息, 停止该命令. 在50 系列bar 命令修改了这一缺点、 命令格式与tar 相同、 同时仍保留了tar. bar 与tar 保存的文件格式不同、 因此用哪一个命令保存的文件还得用哪一个命令来恢复、 不能混用.
mount devfh0 f0 -r] 把软盘挂在操作系统的一个名为f0 的目录上.这样软盘中的文件就能作为f0 目录下的文件进行调用.根目录下的f0, f1 二个子目录专为挂设备用的.如要挂其他设备只要
把第一个参数改成那个设备名即可.最后一个选项指出该设备将以只读方式挂上, 物理上有写保护的文件系统必须按此方式做, 否则在修改访问时间时就会出现错误,而不管是否进行了任何明显的写访问. 50 系列的命令是mount devfd0 f0 .
mount 命令不带任何参数和选项时可用来查看当前有哪些设备挂在系统上.
cd ; umount devfh0 从系统上卸下指定的设备.卸设备前一定要转到根目录, 分号; 是两个命令间的分隔符. 由于设备名问题50 系列是umount devfd0.
format devfh0 格式化A: 驱动器中的软盘, 并在软盘上建立文件系统. 用选择项0n 格式化软盘时, 软盘上不带文件系统, 这样格式化的软盘不能用mount 命令.
在50 系列上软盘格式化命令是fdformat,该命令可以有其它选项、主要有:-l 低密度(720K)磁盘-d MS-dos 格式化用fdformat 格式化的软盘也不带文件系统, 可以用:
newfs devrfd0c;mount devfd0c f0;rmdir f0lostfound;umount devfd0c 命令为它加上文件系统. 注意仅设备名上有微小差别.
eject 50 系列退盘命令, 以便从软驱中取出盘片. 51D 工作站无需该命令.
filemgr 文件管理命令, 它能打开一个象Windows 的资源管理器那样的窗口, 这时文件以及文件夹的拷贝、 删除等操作都与Windows 一样的方便.
键盘命令:Ctrl-s 暂停滚屏输出.Ctrl-q 恢复滚屏输出.Ctrl-c 中止正在执行的命令.Ctrl-R 显示当前输入但还未执行的命令行.Ctrl-U 删除当前输入但还未执行的命令行.Ctrl-E 删除所有已输入但还未执行的命令行.滚屏命令可能还是令你不太舒服、 它只会往后滚屏, 不会往前. 那么在51 系列的Solaris 版本上, 可以将VT100 的窗口改为滚屏窗口, 这样你就可以随意地将窗口翻前翻后, 查看前面打入的命令及其执行的结果. 方法是, 进入VT100 后, 按下鼠标右键从打开的快速菜单中选择Enable Scrolling 这时屏幕会刷新一下, 窗口的右边出现滚动条.
输入输出定向:
通常我们以终端的CRT 作为标准输出、 键盘作为标准输入.大部分命令的输出都是在标准输出、 通过下面的命令可使输出和输入发生变化.
将列目录命令输出的目录清单送入aa 文件, 如果原先无此文件, 则创建该文件, 若已有该文件则更新成l命令输出的内容.文件aa 可以是设备文件, 如:cat tank_tep > devLP00 将显示的文件输出到打印机.
例. ls > aa作用基本同上, 不同处是当aa 文件已存在则将输出的内容添加在文件的未尾.
例. mail guest < fnamemail 是个命令, 将文件fname 作为邮件发送给guest 用户.
例. ls | morels 的标准输出是CRT, 当输出内容超过一屏时就会滚屏, more 执行分屏显示.用了
管道后将列目录命令的输出通过管道传送给分屏显示命令作为它的输入.
1.4 全屏幕文本编辑命令vi 在UNIX 操作系统中有好几种编辑方法, 如ed, vi,作为一个熟练的UNIX 管理维护人员应该学会vi. 毕竟vi 并不方便, 因此在介绍了vi 之后, 我们再介绍一个SUN Solaris 版本提供的一种文本编辑工具.
命令格式: vi fnames
在vi 编辑方式下有二种状态: 命令状态、 和文本插入状态.在启动了vi后, 首先进入的是命令状态、 这时打入的任何字符都作为编辑命令处理.i, a,o,O这几个命令可进入文本插入状态、 在文本插入状态下打入的任何字符都作为文本输入到编辑缓冲器中.Esc 键从文件状态退回命令状态.
vi →命令状态←→文本插入状态Esc在命令状态下打入大写字母ZZ 就将编辑缓冲器中的文本存盘并退出vi.
vi 的编辑命令相当丰富、 且在vi 编辑中还可使用其他编辑方法(如ed) 的命令, 我们只讲主要的一些命令.
插入命令:i 进入插入状态、 在光标前插入文本.I 将光标移到本行的第一个字符前、 并进入插入状态.a 进入插入状态、 在光标后插入文本.o 进入插入状态、 在光标下开一新行.O 进入插
入状态、 在光标上开一新行.
光标移动命令:nh 光标左移n 个字符.nl 光标右移n 个字符.nj 光标下移n 行.hk 光标上移n 行.nw 光标右移n 个词(空格为词的分隔).nb 光标左移n 个词(空格为词的分隔).
0 光标移到一行的第一个字符位置. 光标移到一行的最后一个字符位置.^ 光标移到一行的第一个非空字符位置.G 光标移到文件的最后一行.
删除命令:nx 删除光标处开始的n 个字符.nX 删除光标前的n 个字符.ndd 删除光标处开始的n 行.ndw 删除光标处开始的n 个词.u 取消上一步操作, 被删除的内容保存在临时缓冲器中、 可用undo 命令恢复.
p 将临时缓冲器中的内容拷贝到光标下面一行、 如果原先删除的是字或词、 则拷贝到光标后.
翻屏命令:Ctrl-d 向下卷半屏.Ctrl-u 向上卷半屏.Ctrl-f 向下卷一屏.Ctrl-b 向上卷一屏.
其他命令:r 单字符替换.ns 多字符替换.复盖光标处开始的n个字符, 并进入插入状态.
ny 将改变处开始的n 行拷贝到临时缓冲器中、 用p 命令可将缓冲器中的文本粘贴到任何地方、任何次数.
J 将光标所在的行与其下面的行合并为一行.Ctrl-l 重新显示编辑的文本.
.
重复所键入的词句. ~ 改变字符的大小写.上面已讲过大写ZZ 命令存盘.如果对一文本修改过以后不打算存盘或原先的和修改过的文本都想保存, 可用下面的命令: (其中冒号是告诉vi 编辑器,要使用ed 编辑命令,这时光标跳到屏幕的最底下一行.):q 文件未作修改、 退出编辑.q! 放弃已作修改的文件, 不存盘退出编辑.w [fname2] 将编辑缓冲器里的文件写入文件fname2, 缺省的写入原编辑的文件fname.
如果你偶尔使用文本编辑, 那vi 是太繁了, 我们介绍一个Solaris 版本提供的编辑工具, 它的界面与Windowns 的记事本太相似了, 看到它以后你一定会用的. 进入这个记事本的方法如下:
进入VT100 后, 按鼠标右键出现一个快速菜单, 用左键选中Enable Scrolling, 这时VT100窗口右边出现屏幕滚动条, 再按鼠标右键从快速菜单中用左键依次选中File Editor →Enable, 这时VT100 窗口会一分为二、 上半部仍可使用UNIX 指令, 下半部为文本编辑窗口. 它与Windows 的记事本一样, 有四个菜单, 分别为File, View, Edit, Find.
如要关闭这个编辑窗口, 可按鼠标右键从快速菜单中用左键依次选中File Editor →Disable.
2 文件管理程序有二种办法可作文件管理, 一种是用Unix 命令, 这必须知道命令的格式和语法.文件管理程序以菜单的形式为用户提供了一个非常友好的界面, 不需要记任何命令就能操作管理文件. (对于Windows 平台的用户, My-Computer 和File-Manage 都应该是很熟悉的,我
们就不再介绍)
启动文件管理程序:在过程工程师环境下顺序选择Config → ListCopy to to asSend to PrinterFormat FloppyAppend to FloppyLoad from Floppy
Copy: HostRemote
unix文件系统Copy: RemoteHost
Copy: RemoteRemote
Delete: Host
Delete: 图2 - 1
菜单:Copy to Destination 拷贝文件,在本机这个硬盘上拷贝Move to Destination 转移文件Rename as 文件改名Send to Printer 打印文件Format Floppy 格式化软盘Store on Floppy 从硬盘拷贝到软盘, 软盘上原有文件被清除Load from Floppy 从软盘拷贝到硬盘Append to Floppy 从硬盘拷贝到软盘, 软盘上原有文件仍保留
Copy: HostRemote 从本地硬盘拷贝到网络上的另一硬盘
Copy: RemoteHost 从网络上的另一硬盘拷贝到本地硬盘
Copy: RemoteRemote 在网络上的非本地二个硬盘之间拷贝文件
Delete: Host 删除本地硬盘上的文件
Delete: Remote 删除网络中其他硬盘上的文件Source 文件的源Destination 文件的目的地
按键:DISK 显示当前路径下的目录清单FILE 显示当前路径下的文件名清单EXECUTE 执行选定的操作CLOSE 退出文件管理程序
操作步骤:
一. 从菜单中挑选要执行功能.
二. 若出现文件的源或目的地, 则一定要填入.可以用键盘输入,也可以选用DISK,FILE 列出目录和文件名清单, 用鼠标键点取.
三. 选择EXECUTE执行指定的功能. 例. 在本地的硬盘上拷贝文件从菜单中选择Copy to Destination在源和目的地文件下面都出现了DISK 和FILE, 可在它们后面直接打入路径和文件名; 也可用鼠标敲击DISK, 让系统列出目录表然后从目录表中选、 路径指定好以后再敲击FILE 列出文件名表.
源和目的地都填好后, 用鼠标选中EXECUTE, 敲击一下文件即被拷贝.
例. 删除本地的文件
从菜单中选择Delete: Host在源文件下面出现了DISK 和FILE, 按上述相同的方法填好文件名.
源和目的地都填好后, 用鼠标选中EXECUTE 敲击一下文件即被删除.
本章实验vi 编辑命令在这个实验中、我们要实践vi 编辑命令.在UNIX 命令提示符后面输入vi welcome 进入全屏幕编辑,现在是命令状态.敲击i键,进入文本插入状态、 输入以下文本:
Welcome to the SFCL (Shanghai Foxboro Company Lt.) IA trainning course.
We0e glad you0e here and happy that you want to learn about IA0 (Intelligent Automation Software Technologies). while you are here, we0 like to suggest some fun activities around this area.
Please visit the table in the first floor student lounge.
Their are some brochures of attractions.
Theit are some menus from nearby restautants.
Their are some coupons for discounts to attractions.
Their are some sports schedules. (Go Pats!)
We hope your stay with us serves to enlighten your knowledge of UNIX, Informix, and the New Shanghai regoon.
15 按Esc 键返回命令状态
输入存盘命令:ZZ.退出vi 编辑.然后我们修改welcome 文件,改成如下文本.Welcome to the SFCL (Shanghai Foxboro Company Lt.) IA0 Training course.
There are some menus from nearby restautants.
There are some sports schedules. (Go Pats!)There are some brochures of attractions.
There are some coupons for discounts to attractions.
We hope your stay with us serves to enlighten your knowledge of UNIX, Informix, and the New Shanghai region.
15 键入vi welcome将光标移到第1 行IA 后面空格处,击键i,插入字符0 . 注意,现在是插入方式,在做下一步工作前要按Esc 键返回.
将光标移到第1 行trainning 的t 处,击键Shift ~ 将其改为大写.
将光标移到第1 行trainning 的n 处,击键x 删去一个n 字符.
将光标移到第10 行、击键dd, 删去该行.再将光标移到第8 行、 击键p,将该行恢复在第9 行上.
将光标移到第12 行、击键dd, 删去该行.再将光标移到第9 行、 击键p,将该行恢复在第10 行上.
将光标移到第15 行region 的i 处,击键r,然后字符o 替换掉原来的i字符. 按Esc 键返回到命令方
式.
将修改后的文件另外保存,取文件名为welcome_1. 击键:这时光标出现在底行、 击键w 表示要存文件,然后再输入新的文件名.
IAs 系统及应用2-

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。