operating IT systemDLNU2.5 用户界面举例第一页,编辑于星期三:一点 二十二分 operating IT systemDLNU2.5.1 作业控制语言1. 命令行2. 环境变量脱机作业控制:用户输入作业说明书,整个作业的运行由系统控制联机作业控制:通过人-机会话方式控制作业运行用户登录(控制台登录或远程登录),由系统自动执行一些命令脚本后,并进入shell(字符或GUI界面),接受用户的命令和操作,最后退出系统第二页,编辑于星期三:一点 二十二分 operating IT systemDLNU1. 命令行命令行:一行可有一个或多个命令,每次一行,包含一个或多个命令lshell给出提示符时可输入,以回车键提交如:l“ls -a -l”列出当前目录文件列表;命令格式:一个命令可有命令参数,格式包括选项/开关 (option/switch)或参数(argument)l如UNIX系统: cp -r doc /tmpargv0, argv1, .(含子目录的文件复制:/tmp为目标地址)第三页,编辑于星期三:一点 二十二分 operating IT systemDLNU命令分类:内部命令和外部命令内部命令:直接由shell本身完成,功能简单、使用频繁;常驻内存,如:DOS的copy命令。
外部命令:运行相应的可执行文件,在使用时加载如:DOS的xcopy命令命令简化:利用参数替换可简化命令输入,通配符(?, *)用于匹配一组文件名如:UNIX的cp命令:当前目录上有两个1.tar和2.tar时,cp *.tar /tmp等同于cp 1.tar /tmp; cp 2.tar /tmp第四页,编辑于星期三:一点 二十二分 operating IT systemDLNU2. 环境变量环境变量也可以作为shell参数,如命令提示符的式样,外部命令的查找目录路径等l如:PATH=/bin:/usr/bin:/usr/sbin:.lHOME=/home/thisuser环境变量是传递命令参数的另一种途径如:lcd $HOME; 环境变量可按名字访问,可以新建、赋值或撤销有效范围:只对本进程里的环境变量能够直接进行操作,此外,在执行新进程时(UNIX中是exec()调用),可以给出环境变量的初始值,通常就是直接复制当前进程的所有环境变量继承环境变量(environment variable)应用进程地址空间中的特殊变量区第五页,编辑于星期三:一点 二十二分 operating IT systemDLNU2.5.2 作业管理举例*2.2.1 MS DOS的作业管理2.2.2 UNIX的作业管理返回第六页,编辑于星期三:一点 二十二分。
operating IT systemDLNU2.5.3 MS DOS的作业管理命令分类:l内部命令:如dir, cd, copyl外部命令:如format, xcopy命令行选项l命令行选项通常是:/option;如:/?选项可显示各命令的命令行选项列表l通配符:由外部命令自己处理如:xcopy *.c . argv1=*.c2.5.3.1. DOS命令处理程序(或其他程序如DOS shell):驻留内存,在系统运行期间不再退出为了给应用程序的执行提供更大内存空间,又分为常驻部分和暂驻部分(可被应用程序覆盖)第七页,编辑于星期三:一点 二十二分 operating IT systemDLNU输入输出重定向和管道(pipe)l, , |, 基于临时文件l为输入重定向,如:find string temp.txt将显示文件temp.txt中有string串的行;more ”为输出重定向,“”为添加输出重定向如:“dir temp.txt”将把“dir”命令在屏幕上的输出保存在新文件“temp.txt”中;而dir temp.txt将屏幕输出追加在文件temp.txt的结尾第八页,编辑于星期三:一点 二十二分。
operating IT systemDLNU管道|是将前一个命令的屏幕输出作为后一个命令的键盘输入如:dir | sort将把dir命令的输出按行进行排序环境变量lset PATH=c:tools;%PATH%原PATH=c:dos 则后PATH=c:tools;c:dos系统引导时加载l系统引导时加载:autoexec.bat第九页,编辑于星期三:一点 二十二分 operating IT systemDLNU2.5.3.2. DOS批处理:由执行循环:循环执行命令lFOR /R drive:path %variable IN (set) DO command command-parametersl遍历根在drive:path上的目录树,在树的每个目录中执行 FOR 语句如果在 /R 后没有指定任何目录规范,那么假设为当前目录如果 set 仅是一个句号(.),那么它 将仅列出目录树有简单的变量替换,有条件转移和跳转、循环和注释语句rem第十页,编辑于星期三:一点 二十二分 operating IT systemDLNU关于循环的实例 for %字母 in (文件列表) do 命令%字母:命令描述时的某个参数.文件列表:可以是1个文件或多个文件.命令:用户指定.例:c:for %A in (c:,d:) do chkdsk %A依此对C:,D:进行chkdsk命令,%A顺序取C:,D:第十一页,编辑于星期三:一点 二十二分。
operating IT systemDLNU如下面批处理将显示当前目录及其子目录所有后缀为ppt的文件名(含路径名);for /R %f in (*.ppt) do echo %f可能的显示结果: C:usersxyongwork2001-02-20 chapter1.ppt C:usersxyongworktemp2001-02-18 chapter1.ppt C:usersxyongworktemp2000-08-09 Linux Lecture2000-08-15 Linux.ppt第十二页,编辑于星期三:一点 二十二分 operating IT systemDLNU分支IF NOT ERRORLEVEL number commandIF NOT string1=string2 commandIF NOT EXIST command NOT 只有在条件为假时,才需运行命令 ERRORLEVEL number 如果最近程序运行返回的退出码等于或大于指定的号码时,则设定条件为真 command 当符合条件时,指定要运行的命令 string1=string2 当指定字符串匹配时,设置条件为真。
EXIST 当指定文件名存在时,设置条件为真如:IF ERRORLEVEL 1 goto okay:okayecho okay第十三页,编辑于星期三:一点 二十二分 operating IT systemDLNU2.5.4 UNIX的用户界面2.2.2.1. shell命令处理程序2.2.2.2. shell批处理第十四页,编辑于星期三:一点 二十二分 operating IT systemDLNU2.5.4.1 shell命令处理程序1. shell的类型2. 初始化文件3. 基本特征4. 输入输出重定向5. 管道6. 后台执行7. 环境变量和内部变量8. 别名9. 常用的外部命令第十五页,编辑于星期三:一点 二十二分 operating IT systemDLNU1.shell的类型Bourne shell(/bin/sh)1.Bourne shell 的作者是 Steven Bourne它是 UNIX 最初使用的shell 并且在每种 UNIX 上都可以使用Bourne shell 在 shell 编程方面相当优秀,但在处理与用户的交互方面作得不如其他几种 shell2.Bourne shell 最大的缺点在于它处理用户的输入方面。
在 Bourne shell 里键入命令会很麻烦,尤其当你键入很多相似的命令时UNIX上有许多种shell,主要功能是相同的,在细节上有一些区别几种shell 都有它们的优点和缺点第十六页,编辑于星期三:一点 二十二分 operating IT systemDLNUC shell(/bin/csh)1.C shell 由 Bill Joy 所写,它更多的考虑了用户界面的友好性它支持象命令补齐(command-line completion)等一些 Bourne shell 所不支持的特性普遍认为C shell 的编程接口做的不如 Bourne shell, 但 C shell 被很多 C 程序员使用因为 C shell的语法和 C语言的很相似,这也是C shell名称的由来第十七页,编辑于星期三:一点 二十二分 operating IT systemDLNUKorn shell (ksh)lKorn shell (ksh) 由 Dave Korn 所写它集合了C shell 和 Bourne shell 的优点并且和 Bourne shell 完全兼容 第十八页,编辑于星期三:一点 二十二分。
operating IT systemDLNUBourne Again shell (bash)lBourne Again shell (bash)是 Bourne shell 的扩展bash 与 Bourne shell 完全向后兼容,并且在 Bourne shell 的基础上增加和增强了很多特性bash 也包含了很多 C 和 Korn shell 里的优点bash 有很灵活和强大的编程接口,同时又有很友好的用户界面 bash 有几种特性使命令的输入变得更容易 第十九页,编辑于星期三:一点 二十二分 operating IT systemDLNU其他shelll除了这些 shell 以外,许多其他的 shell 程序吸收了这些原来的 shell 程序的优点而成为新的 shell 如:ltcsh (csh 的扩展)lPublic Domain Korn shell (pdksh, ksh 的扩展) 第二十页,编辑于星期三:一点 二十二分 operating IT systemDLNU2. 初始化文件B Shell执行.profileC Shell执行.cshrc和.login两个文件K Shell执行.profile和$ENV两个文件(sh) .profile与(csh) .login对应,进行注册时的初始化;而在csh在非注册启动时都读入.cshrc;第二十一页,编辑于星期三:一点 二十二分。
operating IT systemDLNU3. 基本特征内部命令:如cd, exec区分大小写,exec的功能是执行一个命令;外部命令:如ls, mkdir命令行选项通常是:-optionl如:ls -a -l中的-a表示列出所有文件,-l表示列出所有信息通配符:由shell处理后再传递给外部命令l如:cat *.c 则argv1=a.c, argv2=b.c,而 cat *.c 则argv1=*.c(cat的功能是读入所有文件,并显示)第二十二页,编辑于星期三:一点 二十二分 operating IT systemDLNU4. 输入输出重定向和为标准输出重定向;2和2为标准错误输出重定向(2表示标准错误输出的设备号,只对sh有意义); &是标准输出和标准错误输出重定向;基于内核的缓冲区行输入重定向:用定界符间的内容作为标准输入如:下面命令的标准输入为邮件内容 mail user2 WARNING . WARNING第二十三页,编辑于星期三:一点 二十二分 operating IT systemDLNU5. 管道 管道可以把一系列命令连接起来第一个命令的输出会通过管道传给第二个命令而作为第二个命令的输入,第二。