UNIX编程环境(新员工培训材料).doc_第1页
UNIX编程环境(新员工培训材料).doc_第2页
UNIX编程环境(新员工培训材料).doc_第3页
UNIX编程环境(新员工培训材料).doc_第4页
UNIX编程环境(新员工培训材料).doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

新员工培训材料- UNIX编者编程环境1 主要内容UNIX的介绍、UNIX的凳录与退出、UNIX中的常用命令、文本编辑工具vi、编译控制工具make、源程序调试工具dbx。2 时间2小时3 UNIX的介绍UNIX是一种多用户、多任务的分时操作系统,UNIX有很多版本,其中出名的两个是UNIX system V 和 BSD。由于各种不同的UNIX版本之间有很大的差异,国际标准化组织对UNIX进行了标准化,如UNIX核心的标准POSIX,X/OPEN组织的XPG标准等。这样以来,UNIX不同版本之间的差异主要是各大产商对UNIX标准的增强,学好了UNIX的一个版本再学其它版本就比较容易了。UNIX的图形用户界面为X-Window,在X-Window系统中有两个部分:X-Server,X-Client。X-Window的相关概念有:屏幕、显示器,这里的显示器与我们平时所讲的物理显示器不是同一个概念,这里的显示器是指一个进程及其控制的所有显示资源(颜色表,字体等);这里的屏幕也不同于我们平时所讲的屏幕,这里的屏幕是指显示器所控制的显示区域。我们在凳录UNIX时首先要打开一个终端,在UNIX中,这个终端就是一个X-Client,这个终端所连接的X-Server及屏幕由环境变量DISPLAY指定,格式如下:X-Server所在机器的IP地址 + : + 显示器号 + . + 屏幕号如果在一个终端中要起动带图形界面的应用程序,或者要打开新的终端,就必须设好DISPLAY,否则会显示:“Cannt open display ”这样的错误。另外你要在本地机器中执行命令:%xhost +上面这条命令的作用是允许远地机器的终端连接到本地机的X服务器。设置DISPLAY的方法为:%setenv DISPLAY 所在机器IP地址:0.0$set DISPLAY =所在机器IP地址:0.0其中,%是csh的提示符,$为B sh 或K sh提示符。 UNIX用户的每一次凳录都对应一个SHELL,SHELL是一种命令解释器,它对用户输入的命令进行解释和替换,然后交给操作系统去执行。4 UNIX的凳录与退出在凳录UNIX前必须做一些准备工作,系统管理员要先给你开一个帐号,并给你一个密码,以后你就可以用此帐号和密码凳录UNIX系统了。4.1 本机凳录如果机器还没有进入X-Window中,屏幕上会显示输入用户名,输入用户名后回车,显示输入密码,输入密码后就进入了X-Window系统。在X-Window中,通过命令按扭(在屏幕的下方)或菜单(在屏幕上按右键)打开新的命令窗口。如果机器已进入X-Window中且不是你的帐号,第一种方法你可以退出X-Window(按右键,选菜单退出;第二种方法是在命令窗口中使用su命令:%su - 用户名此后窗口中显示: Password:此时输入密码后回车就凳录到了你的帐号下。第三种方法是使用telnet命令,参照下面的说明。4.2 从UNIX机凳录远端UNIX机器在本地机器中打开一个命令窗口,执行telnet 命令:%telnet 远端机器IP地址此后屏幕显示:Trying 192.168.1.129.Connected to 192.168.1.129.Escape character is .SunOS 5.6login: 输入用户后回车,屏幕显示如下:Password: 输入密码后就凳录到了你的帐号。4.3 从PC机凳录远端UNIX机器从PC机凳录到UNIX机器是最常用的,方法有很多种,常用的有:在运行菜单中使用telnet命令、使用netterm软件、使用X-Window仿真程序exceed,还有其它终端仿真程序。4.4 退出UNIX退出UNIX就是要退出所有属于你的帐号的命令窗口,方法是在每一个命令窗口中执行命令:%exit或%logout4.5 在PC机上起动UNIX上的图形应用程序前面提到了UNIX上的图形应用程序都是X-Client应用程序,运行它需要X-Server的支持。所以在PC机上要运行UNIX上的图形应用程序需要安装X-Server,现在我们使用的PC机上的X-Server程序为exceed,exceed的安装和使用以后再学习,现在了解即可。5 UNIX中的常用命令UNIX的提供给用户的接口有两个:字符命令接口(可以在图形方式下设置并使用)和系统调用,系统调用是一种编程接口,这里不作详细介绍。本小节讲解UNIX的一些常用命令,为操作UNIX打下基础。UNIX的命令是在命令窗口中命令提示符下输入的,输入的命令由SHELL解释并交给UNIX运行。UNIX的通用命令语法是:命令动词 命令选项表 命令参数命令动词是命令的名称,表示本命令的基本功能;命令选项是由-开始的参数,多个选项可以连在一起,只用一个-,命令选项用空格分开,命令选项的作用是用来控制命令的执行的;命令参数一般表示命令作用的目标。命令选项表是可选的,有的命令可能没有命令选项和命令参数。命令参数可以使用元字符:? 表示任意一个字符*表示零到多个任意字符 表示方括号中的任意一个字符 表示不在方括号中的任意一个字符这里讲的UNIX命令包括目录操作、文件操作、口令和权限操作、环境操作四个方面。本小节只讲解命令的基本用法,命令的详细功能请用man命令查学:%man 要查的命令5.1 目录操作当前目录或工作目录 是指你的命令执行时所在的目录家目录 是指你的帐号所在的目录. 表示当前目录. 表示当前目录的父目录家目录5.1.1 显示当前目录pwd%pwd5.1.2 改变当前目录cd%cd 命令所要转向的目录5.1.3 目录创建mkdir%mkdir 目录名称5.1.4 目录删除rmdir%rmdir 目录名称要删除的目录必须为空,即目录中不能有内容。如果目录中有内容,请用命令:%rm -r 目录名称5.1.5 目录内容查看命令ls%ls 用来列出当前目录或指定目录中包含的名件或目录的名字及其它信息5.2 文件操作在UNIX中,文件分成三大类:普通文件、目录文件、特别文件。每个文件都有三类仿问权限:用户、用户组、其它,每类仿问权限包括:读(r)、写(w )、执行(x)。5.2.1 文件类型显示file%file 要查看的名件5.2.2 文件的连接与显示cat%cat 文件名。此命令将文件都连接起来并显示在屏幕上。5.2.3 分页浏览文件more%more 文件名此命令分页显示文件的内容5.2.4 文件查找命令find%find 查找的开始目录 查找条件 执行的操作这个命令从指定的目录开始查找符合条件的文件,并执行相应的操作。查找条件可以是文件名、文件大小等,执行的操作缺省为显示到屏幕。5.2.5 文件复制cp%cp 源文件。 目标文件如果目标文件是一个目录,源文件全部复制到这个目录下;如果目标文件是普通文件,源文件连接后写到目标文件;如果源文件中含目录文件,请用选项“-r”。5.2.6 文件删除rm%rm 要删除的文件5.2.7 文件移动与改名mv%源文件 目标文件5.3 口令和权限操作5.3.1 改变口令(密码)%passwd 用户名5.3.2 修改文件权限chmod%chmod 权限修改表 文件名5.4 环境操作5.4.1 设置环境变量set 或setenv%setenv 环境变量名 环境变量值$set 环境变量名=环境变量值5.4.2 显示环境变量env%env6 文本编辑工具vivi是UNIX中的一个全屏文体编辑工具,它很难学,但是功能又很强,几乎是所有UNIX使用者和程序员必须掌握的工具之一,熟练的编辑技巧是UNIX成功的前提。这里仅讲解vi工具的入门知识和其中的几个重要概念,要想熟练的掌握需要查vi的参考手册,并多多练习。6.1 vi中的相关概念vi有三种工作方式:输入方式、命令方式和转义方式。在输入方式下,用户可以输入字符;在命令方式下用户可以输入各种各种的编辑命令;在转义方式下,用户可以输入ed(是一个行编辑命令)命令。刚进入vi时,vi处于命令方式,在命令方式下如果输入编辑命令,vi转入输入方式;在命令方式下如果输入冒号“:”,vi转入转义方式(屏幕下方显示一个冒号)。在输入方式下按ESC键,就转入命令方式。这个使用频率最高。在转义方式下按ESC键,或回车键,应转入命令方式。在vi 中有三种缓冲区:编辑缓冲区、正文缓冲区、删除缓冲区。编辑缓冲区保存正编辑文件的副本,建义在编辑文件时注意存盘;正文缓冲区是用来在文件中移动文本的,有一个无名缓冲区和26个有名缓冲区(命名为a-z);删除缓冲区有9个(命名为0-9),其中0号缓冲区对应无名缓冲区。在vi中,删除的文本自动放入0号缓冲区,其它删除缓冲区的内容自动后移,第9号缓冲区的内容自动丢失。在vi中有文本复制命令和文本粘贴命令,可以指定删除缓冲区或文本缓冲区,指定的方法为:在按命令前先按缓冲区名-“ + a-z 或 “ + 1-9,如果没有指定缓冲区则为无名缓冲区。在vi中有的命令可以指定操作次数,即在按命令前输入一个数字,如yy命令是复制一行到文本编辑区,10yy则从光标所在行向下复制10行到文本编辑区。vi的编辑命令常用的有光标移动命令、屏幕移动命令、文本插入命令、文本修改命令、文本移动命令、模式查找命令、模式替换命令。6.2 光标移动命令字符移动命令 h j k l字移动命令 w W b B e E句移动命令 ( )段移动命令 屏移动命令 H M L行移动命令 G6.3 屏幕移动命令上卷屏 CTRL+F CTRL+U下卷屏 CTRL+B CTRL+D6.4 文本插入命令光标处插入 i 行首插入 I光标后插入 a行尾插入 A光标处插入一行 o光标前插入一行 O执行上面命令后,vi转入输入方式6.5 文本修改命令删除一行 dd删除到光标移动目标处 d+光标移动命令从光标处删到行尾 D重复执行上一条命令 .取消上一条命令 u取消对光标所在行的编辑 U光标所在行与下一行合成一行 J其它修改命令 c+光标移动命令 cc C s S6.6 文本移动命令复制文标到文本缓冲区 缓冲区名+yy 缓冲区名+y+光标移动命令粘贴文本缓冲区的内容到光标处 缓冲区名+p粘贴文本缓冲区的内容到光标前面 缓冲区名+P6.7 模式查找命令向前查找 /+模式向后查找 ?+模式继续向原方向查找 n继续向原方向的反方向查找 N6.8 模式替换命令这是一个转义命令,即在转义方式下执行。开始行号,结束行号 s/模式串/替换成的目标字符串/gc此命令表示从开始行号到结束行号的与模式串匹配的字符串由目标字符串替换。g表示整行替换,否则只替换每行第一个匹配的。 c表示替换时需要确认。6.9 常用转义命令存盘命令 w存盘退出命令 wq x7 编译控制工具make7.1 make程序工作原理make是一个很好的程序维护工具,它保持文件间依赖关系,并依靠这种关系进行目标模块的更新。make的核心功能就是检查源文件与目标文标之间的时间先后关系,如果源文件比目标文件新,make就执行依赖关系后面的命令,对目标文件进行更新。这种依赖关系的检查是递归的,即从高层目标文件(即最终的目标文件,也即make最先检查的目标文件)一直要检查到所有的叶子源文件。文件间的依赖关系写在一个叫做makefile(或Makefile,也可以是其它名称)的文件里,makefile中的基本内容有两项:文件间的依赖关系、根据依赖关系所采取的动作。make文件中的依赖关系和动作的格式如下:目标文件:源文件1 . 源文件n;命令表或目标文件:源文件1 源文件n(一个或多个制表符)命令表这表明“目标文件”依赖于“源文件1” . “源文件n”,或者说“目标文件”由“源文件1”.“源文件n”由命令表生成,如果源文件中的任何一个时间比目标文件新,后面的命令表将被执行。make命令有很多选项,其中一个为“-f makefile名”,用来指定make这次执行所要使用的makefile,如果没有这个选项,make使用当前目录中的makefile,如果当前目录中无makefile,make使用当前目录中的Makefile。如果在makefile中有多个依赖关系,make命令可以指定需要更新的高层目标文件,如果没有指定高层目标文件,make将makefile中第一个依赖关系的目标文件作为高层目标文件。看下面简单makefile的例子:final: mod1.o mod2.occ -o final mod1.o mod2.o mod1.o:mod1.c comm.hcc -c mod1.c mod2.o: mod2.c comm.hcc -c mod2.c上面第一个依赖关系表示final由mod1.o、mod2.o通过命令“cc -o final mod1.o mod2.o”生成,mod1.o由mod1.c comm.h通过命令“cc -c mod1.c”生成,mod2.o由mod2.c通过命令“cc -c mod2.c”生成。在命令行执行make时,如果final最新,make什么也不做,否则执行相应的命令。7.2 makefile的构成及结构makefile由宏定义、文件包含、文件依赖、命令等几部分组成,宏定义与文件包含是为文件依赖和命令服务的。7.2.1 宏定义、宏引用和宏替换makefile中有三种宏:用户定义的宏、缺省宏、内部宏。缺省宏是用来指示make如何工作的,内部宏相当于用户定义的宏,它的值可以在文件依赖和命令中使用。定义宏的语法很简单,如下:宏名 = 宏值宏名不能使用makefile中的特殊字符,请参考make手册。定义的例子:OBJ = main.o date.oFILES = main.c date.c comm.hOTHER = mod1.o mod2.o final宏引用是用宏名引用宏值,引用语法如下:$(宏名)宏替换的例子: $(OBJ)make运行时,所有的UNIX环境变量均当作自己的宏来引用。环境变量当宏引用的例子:$(PATH)宏替换的语义是在宏引用时将宏值的一部分内容由另一内容替换得到新值,而不是直接使用宏值,请查看参考手册。7.2.2 文件包含文件包含的语义是在一个makefile中引入另一个makefile的内容,语法为:include 另一makefile的名称make执行时,此行将被另一个makefile的内容所取代。7.2.3 文件依赖文件依赖表示目标文件依赖于一组源文件,语法为:目标文件: 源文件1 源文件2。7.2.4 命令命令是在目标文件需要更新时执行的,可以是各种命令。这里我们讲的是C/C+程序的编译,用的就是CC,这个命令的语法选项很多,常用的如下:-g 生成可调试的代码-c 生成二进制目标代码-o 生成可执行文件-D 定义C程序中的宏-I 指定C头文件所在的目录-L 指定C库所在的目录-l 指定需要连接的库名8 源程序调试工具dbxdbx是一个交互式的、面向行的源程序级的符号调试器,它可以定位程序的崩溃位置,显示变量和表达式的值,在程序中设立断点,跟踪程序执行。调试方式:验尸调试、活动进程调试、任意进程调试、多进程调试和核心调试验尸调试:调试core文件活动进程调试:控制进程何时开始执行、何时断点停止执行、在何时重新执行。任意进程调试方式:与活动进程调试方式相似,区别是进程初始化不同。使用attach/detach命令。多进程调试:多个进程协同工作,进行调试核心调试:验尸调试的特殊形式,使用核心中核心映象的反映射来映射地址空间。8.1 使用dbx前的准备工作用dbx调试的目标程序,在编译和链接时要使用选项“-g”,以生成带有符号表的目标程序。8.2 dbx的调用dbx的常用的调用语法如下:dbx -r -k-idirobjectfile corefile | processID选项说明:-r 选项表示dbx立即执行后面参数指定的程序,如果程序正确终止,dbx退出,否则,dbx报告终止的原因并等待用户响应。-k 核心调试选

温馨提示

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

评论

0/150

提交评论