操作系统实例_第1页
操作系统实例_第2页
操作系统实例_第3页
操作系统实例_第4页
操作系统实例_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、操作系统实例DOS的组成及工作过程的组成及工作过程1.DOS1.DOS的组成和基本工作流程的组成和基本工作流程 1.11.1DOSDOS的三个层次结构,各层的功能及相互关系的三个层次结构,各层的功能及相互关系1)1)层次结构:上层层次结构:上层 shellshell层,中层层,中层kernelkernel,下层,下层biosbios(见下(见下页图)页图).DOSDOS的上述结构形式反映出操作系统的一般模式的上述结构形式反映出操作系统的一般模式, ,即层即层次的结构。次的结构。2)BIOSBIOS模块:(模块:(io.sysio.sys)包含与硬件有关的设备驱动程序)包含与硬件有关的设备驱动程

2、序(CONCON、PRNPRN、AUXAUX、CLOCKCLOCK、块设备);驻留和可安装的区分、块设备);驻留和可安装的区分两种设备驱动程序。由设备制造商提供。两种设备驱动程序。由设备制造商提供。3)3)DOSDOS核:文件、内存等管理,联系上下的核心,真正意义核:文件、内存等管理,联系上下的核心,真正意义上的操作系统上的操作系统4)4)命令解释器:严格讲并非操作系统的一部分。用户可命令解释器:严格讲并非操作系统的一部分。用户可C O N F I G . S Y SC O N F I G . S Y S 中 用中 用 S H E L LS H E L L 命 令 将命 令 将 c o m m

3、 a n d . c o mc o m m a n d . c o m 换 掉换 掉( (如如:shell=c:):shell=c:)DOS的组成及工作过程的组成及工作过程 用户级接口用户级接口( (命令命令) ) 程序级接口程序级接口系统调用系统调用 中断调用中断调用 biosbios层层 引导程序引导程序BOOT BOOT 硬件硬件 bio子层bios子层rom-biosDOS的启动过程的启动过程加电或复位进入加电或复位进入ROM-BIOSROM-BIOS 出错则停机,成功则进入出错则停机,成功则进入INT19HINT19H 复位磁盘系统复位磁盘系统4 4次次成功则读成功则读BOOTBOO

4、T到到0000:7c00H0000:7c00H处(读处(读4 4次)失败则转次)失败则转INT18HINT18H(ROM-BASICROM-BASIC)读读BOOTBOOT若失败转若失败转INT18HINT18H否则将控制转引导记录否则将控制转引导记录查两个系统隐含文件,未找到则显示无系统查两个系统隐含文件,未找到则显示无系统, ,提示换盘后提示换盘后INT19HINT19H 读二文件至读二文件至00700070:00000000处,错误则死机处,错误则死机由由io.sysio.sys的的SYSINITSYSINIT模块作初始化模块作初始化DOS的启动过程的启动过程 在在5050:7070处建

5、磁盘基数表,修改处建磁盘基数表,修改INT1EHINT1EH 初始化打印机,初始化打印机,RS232CRS232C,修改硬件中断,修改硬件中断 SYSINITSYSINIT到内存高端后读进到内存高端后读进msdos.sys msdos.sys 内核内部表、工作区、内核内部表、工作区、INT20-27HINT20-27H初始化设备链检查,设备驱动程序初始化初始化设备链检查,设备驱动程序初始化 建立磁盘建立磁盘I/OI/O参数表、参数表、BUFFERBUFFER和和FCBFCB,显示显示DOSDOS版权版权 转转SYSINITSYSINIT打开打开CONFIG.SYSCONFIG.SYS作相应配置

6、初始化设备驱动程序,修改设备链作相应配置初始化设备驱动程序,修改设备链 打开五个常驻设备驱动程序打开五个常驻设备驱动程序 在可用内存低端建立在可用内存低端建立PSPPSP,加载,加载COMMAND.COM,SYSINITCOMMAND.COM,SYSINIT消失消失 检查有无检查有无AUTOEXEC.BATAUTOEXEC.BAT,有则解释执行后显示提示符,有则解释执行后显示提示符否则显示日期时间出现提示符否则显示日期时间出现提示符 MBR和分区表和分区表(PT)硬盘的主引导记录在硬盘的硬盘的主引导记录在硬盘的0磁头磁头0柱面柱面1扇区。主引导记录由三部分扇区。主引导记录由三部分组成:组成:(

7、1)主引导程序;主引导程序;(2)四个分区表;四个分区表;(3)主引导记录有效标志字。主引导记录有效标志字。MsDOS、Linux以及基于以及基于IA32平台的平台的FreeBSD和和OpenBSD等操作系统等操作系统都使用都使用DOS分区体系分区体系 。偏移(0BH) 内容数值(1.44M 软盘)00每扇区字节数200H(512)02H每蔟扇区数103H保留扇区数105HFAT 个数206H根目录项数00E0H(224)08H总扇区数0B40H(2880)0AH磁盘介质F0H0BH每 FAT 扇区数90DH每磁道扇区数12H(18)0FH磁头数2DOS的中断机制的中断机制DOSDOS中断类型

8、:中断类型:外部硬件中断:由外设向外部硬件中断:由外设向CPUCPU的引脚或中断控制器送电平的引脚或中断控制器送电平信号,如信号,如82598259中断中断内部硬件中断:由程序运行时引起的特定事件(内部硬件中断:由程序运行时引起的特定事件(CPUCPU异常)异常)0 0:被零除,:被零除,1 1:单步,:单步,2 2:NMINMI,3 3:断点,:断点,4 4:溢出:溢出软中断:由软中断:由CPUCPU执行中断指令产生的,特点:由软件引起,调执行中断指令产生的,特点:由软件引起,调用核心功能,不受用核心功能,不受IFIF的控制,处理过程类似硬件中断的控制,处理过程类似硬件中断向量中断方式,向量

9、中断方式,256256个向量个向量 中断向量:中断服务子程序的入口地址中断向量:中断服务子程序的入口地址 中断向量表:中断向量表:DOSDOS初始化时在初始化时在0:0-0:3FFH0:0-0:3FFH处建立的数据结构,处建立的数据结构,与中断号与中断号nHnH关系为:关系为:n n4 4是中断向量表中中断向量的偏移地是中断向量表中中断向量的偏移地址,址,256256个向量共占用个向量共占用1K1K的内存的内存 DOS的中断机制的中断机制中断向量表INT nH n4 入口地址中断服务程序n中断服务程序m中断服务程序kDOS的的程序级用户接口程序级用户接口软中断分三类:软中断分三类:BIOS中断

10、中断10H1FH;DOS调用调用20H2FH,主要是主要是INT21H即系统调用,有多个子功能;即系统调用,有多个子功能;40HFFH,自,自由中断,根据需要设置。由中断,根据需要设置。系统调用、中断调用方法:写入口参数,系统调用、中断调用方法:写入口参数,AH中放子功能号,中放子功能号,写写INTnH,根据出口参数操作返回信息。,根据出口参数操作返回信息。例:例:MOV AHMOV AH,0909MOV DXMOV DX,OFFSET dispstringOFFSET dispstringINT 21HINT 21HDispstring DB “HELLODispstring DB “HEL

11、LO!$”$”功能入口参数出口参数25H置中断向量AH=25H,AL=中断类型号DS:DX=新的向量地址35H取中断向量AH=35H,AL=中断类型号ES:BX=取得的向量地址例:主程序在屏幕上输出字符,在自己的 INT23H 中检查输入选择,设置标志,截获 INT23H(Ctrl-C)后,可以控制字符输出。stack segment para stack stack dw 64 dup(?)stack endsc_seg segment assume cs:c_seg,ds:c_seg,es:c_seg,ss:stackynx db QUIT?(Y/N),$dis1 db 10,13, IN

12、TERRUPT DEMO ,10,13,10,13 db 10,13,press any key to continue.,$_fad db 01;标志初值为 1main proc farstart: mov ax,c_seg mov ds,ax mov es,ax lea dx,dis1 call disp mov ah,7 int 21h push ds mov ax,seg n_ctrl_c mov ds,ax mov dx,offset n_ctrl_c mov ax,2523h;置新的 INT23H int 21h pop dsnext1: mov di,15next2: mov c

13、x,dinext3: mov al,_fad test al,01;标志为 0 则退出 jz exx ;为 1 则继续显示 disp proc near mov ah,9 int 21h retdisp endp mov dl,20h mov ah,2 int 21h loop next3 mov dl,# mov ah,2 int 21h;图形符号 mov cx,8000hnext4: nop loop next4;延时 dec di jnz next2 jmp next1;循环产生图形exx: mov ax,4c00h int 21hmain endpLINUX简介简介Linux:一个主要

14、用于IBM PC及其兼容机上的多用户、多任务的操作系统。它具有Linux/UNIX的所有特性,更重要的是它是一个自由软件(人们可以自由地得到LINUX的可执行程序和源代码)。Linux的诞生和发展: 1991年23岁的芬兰赫尔辛基大学的Linus Torvalds 把他的操作系统课程老师(Andrew Tannebaun)给出的示教实验系统Minix扩展为Linux/UNIX兼容的独立的操作系统。Linus当时的目的是在PC的平台上构建一个比Minix好,模仿Linux/UNIX的系统。 1991年8月,Linus用汇编和C写出0.01版,不能支持软驱;1991年10月Linus在Intern

15、et上正式发布0.02版。以后大量的Hackers的共同努力,使Linux不断完善,到今天许多软件公司都加入到Linux的开发中。Linux特点技术特点:具有Linux/UNIX的技术特征多任务:抢占式(preemptive)多任务(抢先式),每个程序都由机会执行,直到操作系统抢占CPU为止。多用户可编程SHELL设备的独立性(无关性):使用新设备时,只需要在系统中增加新的连接(安装设备驱动程序),内核以相同的方式来使用它。通信与联网:类似Linux/UNIX,系统的网络功能强大自由软件的特点GNU(GNUs Not Linux/UNIX):一项旨在使任何想获得软件的人都可以得到软件的工程。其

16、创始人Richard Stallman 是自由软件基金会(FSF)的创始人。GPL(General Public License )公共软件许可是对GUN软件提供版权保护的手段。条件是作者提供源代码,可以收费,但不能只对软件中的一部分收费。一般对GNU软件戏称为Copyleft。Linux的 引导过程 系统上电自检和读取磁盘引导扇区的过程和DOS启动相同。 通过软盘引导和硬盘引导的差异:LILO 引导过程中先执行实模式下的setup()函数初始化硬件和内核运行环境,再切换到保护模式下完成内核的解压缩和系统初始化。用户的注册与注销用户的注册与注销 在多用户分时系统中,为了满足多个用户在在多用户分

17、时系统中,为了满足多个用户在Linux/UNIXLinux/UNIX操作系统的管理工作,需要实现系统资源的共享和保护功操作系统的管理工作,需要实现系统资源的共享和保护功能能 。帐号的概念帐号的概念 用户进入系统之前必须向系统管理员申请一个账户,得用户进入系统之前必须向系统管理员申请一个账户,得到合法账户后,可用下列方式注册登录到系统中:到合法账户后,可用下列方式注册登录到系统中: Login:Login:用户注册名用户注册名 Password:Password:用户登录口令用户登录口令 登录后可看到操作系统的命令提示符如下:登录后可看到操作系统的命令提示符如下: 用户登录时的用户口令一般由用户

18、登录时的用户口令一般由6-86-8个字符构成,可包括字个字符构成,可包括字母、数字及其他字符。母、数字及其他字符。“”是是Linux/UNIXLinux/UNIX系统中系统中C-shellC-shell的默认命令行提示符,允许用户修改。的默认命令行提示符,允许用户修改。Linux/UNIX入门入门Linux/UNIXLinux/UNIX入门入门 用户的口令在用户注册时由系统管理员指定,在以后的用户的口令在用户注册时由系统管理员指定,在以后的工作中允许用户自行修改,例如键入工作中允许用户自行修改,例如键入passwdpasswd命令可以修改命令可以修改用户口令:用户口令:passwdpasswd

19、New Password:New Password:* * * * * * * / /* *健入新的登录的口令健入新的登录的口令* */ /Retype New PasswordRetype New Password:* * * * * * */ /* *重复新的口令重复新的口令* */ / 以上过程是超级用户修改口令的过程,对于普通用户用以上过程是超级用户修改口令的过程,对于普通用户用passwdpasswd命令修改口令的过程是:命令修改口令的过程是:%passwd%passwdcurrent passwordcurrent password:/ /* *健入原有的登录的口令健入原有的登录的

20、口令* */ /New PasswordNew Password:/ /键入新的口令键入新的口令/ /Retype New PasswordRetype New Password:/ /再键入以上新口再键入以上新口令,供系统确定令,供系统确定/ / Linux/UNIXLinux/UNIX入门入门 用户离开用户离开Linux/UNIXLinux/UNIX系统时,应进行注销(系统时,应进行注销(logout )logout )操操作。注销后的用户终端可提供给其他用户使用。作。注销后的用户终端可提供给其他用户使用。 “ “注销注销”也通知了正在进行中的系统记账程序停止对该用户的记账也通知了正在进行

21、中的系统记账程序停止对该用户的记账工作。有多种方式完成用户注销,如:工作。有多种方式完成用户注销,如: %logout /%logout /* *在命令行输入在命令行输入logoutlogout表示退出登录表示退出登录/ / %exit / %exit /用终止当前进程执行的方式退出用户登录的用终止当前进程执行的方式退出用户登录的进程进程* */ / % Ctrl-d / % Ctrl-d /用退出用退出shellshell主进程的方式注销用户主进程的方式注销用户* */ / 用户注销后系统回到用户注销后系统回到“Login”Login”提示符下等待下一次用提示符下等待下一次用户的登录。通常在

22、用户下次进行登录时,系统会提供一些户的登录。通常在用户下次进行登录时,系统会提供一些报告给用户查阅,例如用户最近一次注册的时间和使用的报告给用户查阅,例如用户最近一次注册的时间和使用的终端信息,根据这些信息用户可监控自己的账号使用状况终端信息,根据这些信息用户可监控自己的账号使用状况是否安全,是否发生过被别人盗用的情况。是否安全,是否发生过被别人盗用的情况。Linux/UNIXLinux/UNIX入门入门 2.1.3 2.1.3账户的管理账户的管理 由于由于Linux/UNIXLinux/UNIX系统是多用户分时处理系统,系统中每系统是多用户分时处理系统,系统中每个用户并不能随心所欲地占用计算

23、机系统资源。用户程序个用户并不能随心所欲地占用计算机系统资源。用户程序的执行是由操作系统按照一定的内部管理规范和策略统一的执行是由操作系统按照一定的内部管理规范和策略统一进行调配的。而系统中记录的用户进行调配的。而系统中记录的用户“账户账户”信息是系统为信息是系统为用户占用系统资源而进行资源调配的基本数据,同时也是用户占用系统资源而进行资源调配的基本数据,同时也是记录和组织用户在操作系统中活动的基础信息。记录和组织用户在操作系统中活动的基础信息。 可以这样理解,可以这样理解,Linux/UNIXLinux/UNIX操作系统以操作系统以“账户账户”做基础,做基础,构建出了多用户的工作环境。构建出

24、了多用户的工作环境。 Linux/UNIXLinux/UNIX系统使用三个文件,用来存放用户账户管理系统使用三个文件,用来存放用户账户管理有关的数据信息,即:有关的数据信息,即:/etc/passwd/etc/passwd, /etc/shadow/etc/shadow, /etc/ group/etc/ group。Linux/UNIXLinux/UNIX入门入门/etc/passwd/etc/passwd:系统中所有被授权的用户都在该文件中占有一个记录:系统中所有被授权的用户都在该文件中占有一个记录项项 username: username: * *: uid: gid: comment:

25、 homedir: loginshell: uid: gid: comment: homedir: loginshell 用户名,指用户注册时输入的名字。用户名,指用户注册时输入的名字。 口令,用户注册的口令以加密码方式保存,允许用户修改。口令,用户注册的口令以加密码方式保存,允许用户修改。 用户标识符用户标识符uiduid,系统管理中使用的用户标识。,系统管理中使用的用户标识。 用户的组标识用户的组标识gid,gid,用户所属组的惟一标识,一个用户可以属于一用户所属组的惟一标识,一个用户可以属于一个或多个用户组。个或多个用户组。 对注册用户的描述文本,是用户情况的基本简介,文本长度有一对注册

26、用户的描述文本,是用户情况的基本简介,文本长度有一定的要求,也可以省略此项。定的要求,也可以省略此项。 用户注册目录或用户主目录,此目录是用户进入系统后首先进入用户注册目录或用户主目录,此目录是用户进入系统后首先进入的当前工作目录。的当前工作目录。 进入系统后第一步完成的内容,表示当用户进入系统后,首先要进入系统后第一步完成的内容,表示当用户进入系统后,首先要执行的程序名。一般都将此项定义为用户进入系统后选择执行的执行的程序名。一般都将此项定义为用户进入系统后选择执行的shellshell程序。程序。 Linux/UNIXLinux/UNIX入门入门 例如:对某一确定的注册用户例如:对某一确定

27、的注册用户zhangzhang,此项记录中的内容可以是:,此项记录中的内容可以是:Zhang:Zhang:103: 100:103: 100:Zhang HongLiZhang HongLi:/home/zhang: /bin/csh/home/zhang: /bin/csh 在在Linux/UNIXLinux/UNIX系统中,系统程序根据记录中用户的系统中,系统程序根据记录中用户的账户账户信息进信息进行用户身份鉴别和资源使用权的分配。在账户管理中有两大类型,一行用户身份鉴别和资源使用权的分配。在账户管理中有两大类型,一种是超级用户账户,另一种是普通用户账户。种是超级用户账户,另一种是普通用户

28、账户。 超级用户账户拥有系统的高级管理权,可读、写、处理系统中任意超级用户账户拥有系统的高级管理权,可读、写、处理系统中任意的一个文件,或者完成系统的各种特定操作。超级用户账户一般只分的一个文件,或者完成系统的各种特定操作。超级用户账户一般只分配给系统管理员,使用特定的配给系统管理员,使用特定的“root”root”超级用户名和设定的特定口令超级用户名和设定的特定口令进入系统。进入系统。 系统管理员的身份在系统管理中非常关键,因为他几乎可以控制系系统管理员的身份在系统管理中非常关键,因为他几乎可以控制系统的所有资源,所以在实际运行中对系统管理员的人选要慎重对待。统的所有资源,所以在实际运行中对

29、系统管理员的人选要慎重对待。 对于自己私有的保密性很强的应用数据和信息,可以使用编程手段对于自己私有的保密性很强的应用数据和信息,可以使用编程手段对系统管理员进行屏蔽。例如财务管理、人事管理中的有关信息,即对系统管理员进行屏蔽。例如财务管理、人事管理中的有关信息,即便是系统管理员也不应该有访问这些信息的权限,这些限制应该在应便是系统管理员也不应该有访问这些信息的权限,这些限制应该在应用系统的设计中给予足够的重视。用系统的设计中给予足够的重视。 Linux/UNIXLinux/UNIX入门入门在文件在文件/etc/shadow/etc/shadow中,存放着用户加密后的口令及口令管理信息,中,存

30、放着用户加密后的口令及口令管理信息,该文件中每一个信息项的内容包括:该文件中每一个信息项的内容包括: username: password: lastchy: min: max:wam: inachive: expireusername: password: lastchy: min: max:wam: inachive: expire 其中的各项表述的内容是:其中的各项表述的内容是: 用户名。用户名。 加密后的用户口令。加密后的用户口令。 口令的最后修改日期。口令的最后修改日期。 可修改口令的最少天数。可修改口令的最少天数。 可修改口令的最多天数,表示必须修改口令的期限。可修改口令的最多天数

31、,表示必须修改口令的期限。 口令到期时,提前几天给出提示警告。口令到期时,提前几天给出提示警告。 允许用户几天不登录系统,此项也可默认,表示没有限制。允许用户几天不登录系统,此项也可默认,表示没有限制。 口令到期的确切日期。口令到期的确切日期。 这些信息通常由系统管理员进行查阅和维护。这些信息通常由系统管理员进行查阅和维护。 Linux/UNIXLinux/UNIX入门入门用户组信息:为了便于管理,用户组信息:为了便于管理,Linux/UNIXLinux/UNIX系统中的用户通常被系统中的用户通常被归属于某个用户组。因为将用户按不同的类型进行分组管理可以归属于某个用户组。因为将用户按不同的类型

32、进行分组管理可以减少系统管理的工作量,并使管理工作更加规范。用户组信息存减少系统管理的工作量,并使管理工作更加规范。用户组信息存放在文件放在文件/etc/group/etc/group中,其格式为:中,其格式为: grounamegrouname:password : gid: user-listpassword : gid: user-list 其中:其中: 用户组名。用户组名。 用户组的口令,也可默认。用户组的口令,也可默认。 用户组的标识。用户组的标识。 该组中的用户列表。该组中的用户列表。 以上描述的这些特定文件,在系统引导与用户以上描述的这些特定文件,在系统引导与用户“账户账户”建立

33、建立过程中自动生成,生成以后在日常的管理中允许系统管理员对其过程中自动生成,生成以后在日常的管理中允许系统管理员对其内容进行修订。这些文件内容的正确性是系统管理用户的前提,内容进行修订。这些文件内容的正确性是系统管理用户的前提,修改时应慎重对待。修改时应慎重对待。Linux/UNIXLinux/UNIX入门入门Linux/UNIXLinux/UNIX的的shellshell shell shell是是Linux/UNIXLinux/UNIX系统与用户交互的接口,它具有很强大的系统与用户交互的接口,它具有很强大的功能,功能,shellshell的一个主要功能是完成命令的解释执行。的一个主要功能是

34、完成命令的解释执行。内部命令和外部命令内部命令和外部命令 在在Linux/UNIXLinux/UNIX命令中有内部命令和外部命令之分。命令中有内部命令和外部命令之分。 内部命令实际上是内部命令实际上是shellshell程序的一部分,包含的是一些比较精程序的一部分,包含的是一些比较精简的简的Linux/UNIXLinux/UNIX系统命令,这些命令由系统命令,这些命令由shellshell程序识别并在程序识别并在shellshell程序内部完成运行,通常在程序内部完成运行,通常在Linux/UNIXLinux/UNIX系统加载运行时系统加载运行时shellshell就就被加载并驻留在系统内存中

35、。被加载并驻留在系统内存中。 外部命令是外部命令是Linux/UNIXLinux/UNIX系统中的实用程序的部分内容,因为系统中的实用程序的部分内容,因为实用程序的功能通常都比较强大,其包含的程序量也会很大,在实用程序的功能通常都比较强大,其包含的程序量也会很大,在系统加载时并不随系统一起被加载到内存中,而是在需要时才将系统加载时并不随系统一起被加载到内存中,而是在需要时才将其调进内存。通常外部命令的实体并不包含在其调进内存。通常外部命令的实体并不包含在shellshell中,只是其中,只是其命令执行过程是由命令执行过程是由shellshell程序控制的。程序控制的。shellshell程序管

36、理外部命令的程序管理外部命令的路径查找、加载存放并控制命令的执行。路径查找、加载存放并控制命令的执行。 Linux/UNIX Linux/UNIX系统中有多种风格的系统中有多种风格的shellshell程序存在,最常见的有三程序存在,最常见的有三种:种:1 1)Bourne shellBourne shell:Bourne shellBourne shell是现代是现代Linux/UNIXLinux/UNIX系统的标准系统的标准shellshell,通常会把它设置成系统默认的命令解释程序。,通常会把它设置成系统默认的命令解释程序。B-shellB-shell的的命令提示符是命令提示符是“”号。

37、号。2 2)Korn shellKorn shell:Korn she11JEB-shellKorn she11JEB-shell的一个扩展集,在的一个扩展集,在B-B-shellshell中编写的脚本程序无需修改即可在中编写的脚本程序无需修改即可在Kom shellKom shell中运行。中运行。Korn Korn shellshell的命令提示符也是的命令提示符也是号。号。3) C shell3) C shell:C shellC shell是由加州大学伯克利分校开发的是由加州大学伯克利分校开发的BSD BSD Linux/UNIXLinux/UNIX版本的一部分,它使用的是版本的一部分

38、,它使用的是C C语言的语法和风格。语言的语法和风格。C-C-shellshell的命令提示符是的命令提示符是“”号。号。 不同的不同的shellshell程序虽然在使用方式和命令格式上有所差异,但程序虽然在使用方式和命令格式上有所差异,但其功能是类似的,都可以完成用户命令的解释执行,完成用户环其功能是类似的,都可以完成用户命令的解释执行,完成用户环境的设置,完成境的设置,完成shellshell程序的设计与执行。用户可以根据自己的程序的设计与执行。用户可以根据自己的喜好选择一种喜好选择一种shellshell为自己的工作提供服务。为自己的工作提供服务。 Linux/UNIX Linux/UN

39、IX命令使用方法命令使用方法 1 1) Linux/UNIXLinux/UNIX的命令格式的命令格式使用使用Linux/UNIXLinux/UNIX命令的方法可以有多种,例如,可以在命令行命令的方法可以有多种,例如,可以在命令行上输入或者将命令编写在批处理文件中。上输入或者将命令编写在批处理文件中。Linux/UNIXLinux/UNIX命令的使用命令的使用格式:格式: commandcommand-options-optionsargumentsarguments 其中其中commandcommand指指Linux/UNIXLinux/UNIX命令名。命令名。 optionsoptions表

40、示命令的执行选项,可以默认。表示命令的执行选项,可以默认。 argumentsarguments一表示命令的执行参数,可以默认。一表示命令的执行参数,可以默认。 例如,可以在例如,可以在C-shellC-shell中使用下列命令:中使用下列命令:%ls%ls / /* *按字母顺序列出目录中所有文件和目录的名字,命令按字母顺序列出目录中所有文件和目录的名字,命令行中不带选项和参数行中不带选项和参数* */ /%ls %ls l l * *.c.c/ /* *使用长列表方式列出当前目录下所有后缀为使用长列表方式列出当前目录下所有后缀为c c的文件名,的文件名,* */ /Linux/UNIX常用

41、命令介绍常用命令介绍 2 2)执行命令和执行应用程序执行命令和执行应用程序在在Linux/UNIXLinux/UNIX的环境中,也可以像其他操作系统一样用命令方的环境中,也可以像其他操作系统一样用命令方式去执行一个应用程序。应用程序所存入的位置是式去执行一个应用程序。应用程序所存入的位置是shellshell程序要查程序要查找的路径,如果在找的路径,如果在shellshell查询路径变量中设置了此路径,则可以直查询路径变量中设置了此路径,则可以直接输入此应用程序名,否则须在命令行中输入它的全路径名,如:接输入此应用程序名,否则须在命令行中输入它的全路径名,如: % vi% vi或:或:% /u

42、sr/bin/vi% /usr/bin/vi 3 3)在图形界面中执行命令在图形界面中执行命令在现代在现代Linux/UNIXLinux/UNIX系统中,通常都提供了利用图形用户界面系统中,通常都提供了利用图形用户界面(GUI )GUI )为用户提供更加灵活和直观的操作方式。例如为用户提供更加灵活和直观的操作方式。例如X X WindowsWindows。在在SolarisSolaris系统中,可以用命令:系统中,可以用命令: /usr/openwin/bin/openwin /usr/openwin/bin/openwin 启动图形界面。启动图形界面。在在LinuxLinux系统中可以用命令

43、:系统中可以用命令: startx 启动图形界面。启动图形界面。 2.4.2 2.4.2 多命令行和多行命令多命令行和多行命令 Linux/UNIXLinux/UNIX命令使用灵活,支持多种命令输入的方式。当需要完成命令使用灵活,支持多种命令输入的方式。当需要完成多个命令且命令执行期间不需要人工干预时,可将多个命令写在同一个多个命令且命令执行期间不需要人工干预时,可将多个命令写在同一个命令行中,命令之间用分号(;)隔开即可,例如:命令行中,命令之间用分号(;)隔开即可,例如:%pwd %pwd ;ls -1ls -1 shell shell解释此命令,先完成解释此命令,先完成pwdpwd显示当

44、前用户所在目录,然后再做显示当前用户所在目录,然后再做ls-lls-l命令显示当前目录下的内容,这种方式称为多命令行方式。命令显示当前目录下的内容,这种方式称为多命令行方式。 Linux/UNIXLinux/UNIX命令功能强大,命令的参数和选项往往会有很多,会出命令功能强大,命令的参数和选项往往会有很多,会出现一行写不下一条命令的情况。现一行写不下一条命令的情况。shellshell解释程序可以借助转义字符写出一解释程序可以借助转义字符写出一个多行命令。例如:个多行命令。例如:cc hello cc hello world.c -lxm -lxt -1x11 -laworld.c -lxm

45、-lxt -1x11 -la-o hello world-o hello world这里符号这里符号“”告诉告诉shellshell解释程序此命令行内容到此并没有结束,下解释程序此命令行内容到此并没有结束,下一行的内容仍需要解释成同一命令中的内容,输入时在后续行的显示中一行的内容仍需要解释成同一命令中的内容,输入时在后续行的显示中C-shellC-shell显示一个显示一个“?”符作为提示,而符作为提示,而B-shellB-shell中显示一个中显示一个“”,这,这种命令输入方法称为多行命令方式。种命令输入方法称为多行命令方式。 .3一般常用命令介绍一般常用命令介绍1 1) c

46、atcat:对指定文件在标准输出上进行显示或连接。:对指定文件在标准输出上进行显示或连接。格式:格式:cat option filenamelistcat option filenamelist可完成与可完成与DOSDOS中中typetype,copycopy相关命令类似的功能。其中:相关命令类似的功能。其中:optionoption是命令的选项,常用的选项有:是命令的选项,常用的选项有:-A-A一显示文档中所有控制字符;一显示文档中所有控制字符;-b-b为输出行标注行号;为输出行标注行号;-E-E一在每行的尾部显示行结束标志一在每行的尾部显示行结束标志“”;-T-T一用一用“”号显示号显示T

47、abTab符的位置;符的位置;-v -v 显示过程中使用的控制字符。显示过程中使用的控制字符。filenamelistfilenamelist是命令参数,这里给出的文件名列表是将要在是命令参数,这里给出的文件名列表是将要在标准输出上输出的文件名。标准输出上输出的文件名。此命令可以不带有命令选项和命令参数,这时该命令等待从标此命令可以不带有命令选项和命令参数,这时该命令等待从标准输入流中输入数据,如果将它的输出重定向到一个文件时,可准输入流中输入数据,如果将它的输出重定向到一个文件时,可创建一个新文件。创建一个新文件。 命令应用举例:命令应用举例: % cat file.c% cat file.

48、c / /显示文件显示文件filefilec c中的内容中的内容/ / %cat aa.c bb. c%cat aa.c bb. c / /* *先显示先显示aa.caa.c,然后再显示,然后再显示bb.cbb.c的的内容内容* */ / %cat aa.c bb.c cc.c%cat aa.c bb.c cc.c / /* *此命令将此命令将aa.caa.c中的内容与中的内容与bb. cbb. c中的内容进行连接,构成一个新的文件中的内容进行连接,构成一个新的文件cc .ccc .c* */ / 思考:思考:%cat %cat 命令会产生怎样的执行情况?命令会产生怎样的执行情况?2 2) c

49、dcd:改变当前的工作目录:改变当前的工作目录 格式:格式:cdcddirnamedirname %cd%cd / /将用户当前的工作目录改变到用户的注册目录下,用将用户当前的工作目录改变到用户的注册目录下,用户注册目录是由系统事先设定的户注册目录是由系统事先设定的* */ /%cd /usr/bin%cd /usr/bin / /将当前工作目录改变到将当前工作目录改变到/usr/bin/usr/bin目录下目录下/ /% cd E-mail% cd E-mail/ /将当前工作目录改变到当前目录中的子目录将当前工作目录改变到当前目录中的子目录E-E-mailmail下下/ / 3) chmo

50、d 3) chmod:改变指定文件或目录的访问权限。:改变指定文件或目录的访问权限。 格式:格式:chmod who-op-permission filechmod who-op-permission file其中参数其中参数whowho表示命令中指定的用户类型,可以是:表示命令中指定的用户类型,可以是: u-u-用户,即文件属主用户,即文件属主; g-; g-属主用户的同组用户属主用户的同组用户; ; o- o-除文件属主和同组用户外的所有其他用户除文件属主和同组用户外的所有其他用户;a-;a-表示所有用户。表示所有用户。 参数参数opop是命令指定的操作码,可以是以下操作符:是命令指定的操

51、作码,可以是以下操作符: : :表示增加某种访问权限表示增加某种访问权限; ; : :表示撤消某种访问权限表示撤消某种访问权限; ; : :表示赋予某种访问权限。表示赋予某种访问权限。 参数参数permissionpermission是对访问权限的具体说明:是对访问权限的具体说明: r r一表示读权一表示读权; w; w表示写权表示写权; x; x一表示执行权一表示执行权. .%chmod go -x filea%chmod go -x filea/ /撤消同组用户和其他用户对文件撤消同组用户和其他用户对文件fileafilea的写权的写权/ /%chmod +x filea%chmod +x

52、 filea / /* *让所有用户都获得对文件让所有用户都获得对文件fileafilea的执行权的执行权/ /%chmod 640 filea%chmod 640 filea/ /命令中三个数字说明不同用户的具体权限,依命令中三个数字说明不同用户的具体权限,依次为次为u,g,ou,g,o类型用户的访问权,每个数字为八进制数,每位分别表示对文类型用户的访问权,每个数字为八进制数,每位分别表示对文件的读、写和执行权,如:件的读、写和执行权,如:6 6110110,4=1004=100,0=0000=000/ / 4) cp4) cp:文件或目录的拷贝:文件或目录的拷贝5 5)1s1s:列出指定目

53、录中的内容:列出指定目录中的内容 格式:格式:ls option namesls option names ls ls命令的选项非常丰富,常用选项命令的选项非常丰富,常用选项Y Y有:有:-a:-a:列出所有文件,包括以列出所有文件,包括以“”打头的隐藏文件;打头的隐藏文件;-d :-d :列出目录文件本身的状态,而不是列出目录下包括的文件列出目录文件本身的状态,而不是列出目录下包括的文件内容,常与内容,常与-l-l选项联用;选项联用;-i:-i:在列表增加列出文件的在列表增加列出文件的i i节点号;节点号;-l-l:以长列表方式列出文件及目录信息。:以长列表方式列出文件及目录信息。-R:-R

54、:递归地列出其中包含的子目录中的文件信息及内容。递归地列出其中包含的子目录中的文件信息及内容。6 6)manman:对:对Linux/UNIXLinux/UNIX命今获得联机帮助信息命今获得联机帮助信息格式:格式:man man 命令名命令名 如:如:%man cp%man cp 7) pwd7) pwd:显示当前工作目录名:显示当前工作目录名 格式:格式:pwd optionpwd option 此命令可以显示当前工作目录的名字,其中选项可为:此命令可以显示当前工作目录的名字,其中选项可为: -P-P一只显示实际目录,不显示符号连接。一只显示实际目录,不显示符号连接。 -L-L可以显示符号连

55、接的目录。可以显示符号连接的目录。 %pwd%pwd / /显示出当前用户的工作目录名称显示出当前用户的工作目录名称/ /8 8)whowho:列出当前登录系统的用户信息:列出当前登录系统的用户信息%who option am I%who option am Ioptionsoptions可为:可为: -H:-H:显示信息时同时显示各列的标题。显示信息时同时显示各列的标题。 -q:who-q:who命令的简要显示方式,仅显示用户名及用户总数。命令的简要显示方式,仅显示用户名及用户总数。 -s:-s:仅显示用户名、终端号、用户登录时间。仅显示用户名、终端号、用户登录时间。 命令中命令中am Ia

56、m I是该命令的一种常用方式,用于显示本用户注册终端的是该命令的一种常用方式,用于显示本用户注册终端的相关信息。;相关信息。;%who am I%who am I / /显示本终端用户的信息显示本终端用户的信息* */ / 9 9)calcal:显示万年历:显示万年历 格式:格式:cal option month yearcal option month yearoptionoption可为:可为: -h:-h:显示当前单个月的日历。显示当前单个月的日历。 -3:-3:显示当前月、前一个月及后一个月的日历。显示当前月、前一个月及后一个月的日历。 -m:-m:显示时将星期一作为每星期的第一天。显

57、示时将星期一作为每星期的第一天。 -y:-y:显示当前年的日历。显示当前年的日历。命令应用举例:命令应用举例: %cal 11 2002%cal 11 2002/ /显示显示20022002年年1111月的日历月的日历/ / %cal%cal / /显示当前月的日历表显示当前月的日历表/ / 注意,在本命令的使用中,年份参数必须输入完全,只有年份没注意,在本命令的使用中,年份参数必须输入完全,只有年份没有月份的命令将显示全年的日历,不带参数的命令只显示当前月的日历有月份的命令将显示全年的日历,不带参数的命令只显示当前月的日历表。表。 1010)learn learn :计算机辅助教学:计算机辅

58、助教学1111)helphelp:系统帮助程序:系统帮助程序 目录操作命令目录操作命令1 1)mkdirmkdir:在当前的目录中创建一个新的子目录:在当前的目录中创建一个新的子目录格式:格式:mkdiroption dirnamemkdiroption dirnameoptionoption常用取值为:常用取值为:-p:-p:创建一个完整的目录结构。即使用创建一个完整的目录结构。即使用-P-P选项时可在指定的目录选项时可在指定的目录下逐级创建目录下逐级创建目录-m:.-m:.创建指定目录的同时指定目录的使用权限。创建指定目录的同时指定目录的使用权限。例:使用一条命令创建一个完整的目录结构。例

59、:使用一条命令创建一个完整的目录结构。%cd %cd / /* *确保当前所在目录是用户的工作目录确保当前所在目录是用户的工作目录* */ /%mkdir -P xx/yy/zz%mkdir -P xx/yy/zz / /在当前目录下创建子目录在当前目录下创建子目录xx;xx;在在xxxx下创下创建建 yyyy,在,在yyyy下创建下创建zzzz。* */ /例例: :在当前目录下创建子目录在当前目录下创建子目录newdirnewdir,并将其权限置为,并将其权限置为770770。% cd % cd % mkdir -m 770 newdir% mkdir -m 770 newdir 2 2)

60、 rmdirrmdir:删除指定的空目录名。:删除指定的空目录名。格式:格式:rmdir optionrmdir optiondirnamedirnameoptionoption的常用取值为:的常用取值为:-p-p:删除指定目录上的所有目录,这些目录都应是空目录。:删除指定目录上的所有目录,这些目录都应是空目录。-i-i:在删除过程中,以询问方式完成删除操作。:在删除过程中,以询问方式完成删除操作。例例: :删除当前目录下的子目录删除当前目录下的子目录odirodir。%cd zhang%cd zhang%pwd%pwd /usr/zhang /usr/zhang%rmdir odir%rmd

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论