《操作系统原理及应用》实验指导书阜阳师范学院计算机系第1页实验一UNIX/LINUX入门实验目的1、了解UNIX的命令及使用格式。2、熟悉UNIX/LINUX的常用基本命令。实验内容1、通过WINDOWS操作系统中的远程登录程序telnet.exe登录UNIX。2、熟悉UNIX/LINUX的常用基本命令如ls、who、w、pwd、ps、pstree、top等。实验指导一、UNIX的登录与退出1、登录在DOS环境下用MS提供的telnet程序(也可使用WINDOWS自带的telnet图形界面程序或多功能的S-Term终端程序),可使PC作为终端(terminal)登录(login)UNIX服务器(UNIXServer)。(1)执行格式:telnethostname(主机名)或telnet主机的IP地址例:telnet(2)步骤login:(输入username)password:(输入密码)2、退出在UNIX系统提示符$下,输入logout、exit或shutdown。例:$logout二、UNIX命令格式命令[选项][处理对象]例:ls-lamydir注意:(1)命令一般是小写字串。注意大小写有别(2)选项通常以减号(-)再加上一个或数个字符表示,用来选择一个命令的不同操作(3)同一行可有数个命令,命令间应以分号隔开(4)命令后加上&可使该命令后台(background)执行三、常用命令《操作系统原理及应用》实验指导书阜阳师范学院计算机系第2页1、目录操作和DOS相似,UNIX采用树型目录管理结构,由根目录(/)开始一层层将子目录建下去,各子目录以/隔开。用户login后,工作目录的位置称为homedirectory,由系统管理员设定。‘~’符号代表自己的homedirectory,例如~/myfile是指自己home目录下myfile这个文件。UNIX的通配符有三种:’*’和’?’用法与DOS相同,‘-‘代表区间内的任一字符,如test[0-5]即代表test0,test1,……,test5的集合。(1)显示目录文件ls执行格式:ls[-atFlgR][name](name可为文件或目录名称)例:ls显示出当前目录下的文件ls-a显示出包含隐藏文件的所有文件ls-t按照文件最后修改时间显示文件ls-F显示出当前目录下的文件及其类型ls-l显示目录下所有文件的许可权、拥有者、文件大小、修改时间及名称ls-lg同上ls-R显示出该目录及其子目录下的文件注:ls与其它命令搭配使用可以生出很多技巧(最简单的如ls-l|more),更多用法请输入ls--help查看,其它命令的更多用法请输入命令名--help查看.(2)建新目录mkdir执行格式:mkdirdirectory-name例:mkdirdir1(新建一名为dir1的目录)(3)删除目录rmdir执行格式:rmdirdirectory-name或rmdirectory-name例:rmdirdir1删除目录dir1,但它必须是空目录,否则无法删除rm-rdir1删除目录dir1及其下所有文件及子目录rm-rfdir1不管是否空目录,统统删除,而且不给出提示,使用时要小心(4)改变工作目录位置cd执行格式:cd[name]例:cd改变目录位置至用户login时的workingdirectorycddir1改变目录位置,至dir1目录cd~user改变目录位置,至用户的workingdirectorycd..改变目录位置,至当前目录的上层目录cd../user改变目录位置,至上一级目录下的user目录cd/dir-name1/dir-name2改变目录位置,至绝对路径(Fullpath)《操作系统原理及应用》实验指导书阜阳师范学院计算机系第3页cd-回到进入当前目录前的上一个目录(5)显示当前所在目录pwd执行格式:pwd2、文件操作(1)查看文件(可以是二进制的)内容cat执行格式:catfilename或morefilename或catfilename|more例:catfile1以连续显示方式,查看文件file1的内容morefile1或catfile1|more以分页方式查看文件的内容(2)删除文件rm执行格式:rmfilename例:rmfile?rmf*(3)复制文件cp执行格式:cp[-r]sourcedestination例:cpfile1file2将file1复制成file2cpfile1dir1将file1复制到目录dir1cpfile1/tmp/file2将file1复制到当前目录tmp下名为file2cp–rdir1dir2(recursivecopy)复制整个目录。(4)移动或更改文件、目录名称mv执行格式:mvsourcedestination例:mvfile1file2将文件file1,更名为file2mvfile1dir1将文件file1,移到目录dir1下mvdir1dir23、系统询问与权限口令(1)查看系统中的使用者执行格式:who(2)查看username执行格式:whoamI查看自己的username(3)改变自己的username的帐号与口令su执行格式:suusername例:suusername输入帐号password输入密码(4)文件属性的设置chmod改变文件或目录的读、写、执行的允许权执行格式:chmod[-R]modename其中:[-R]为递归处理,将指定目录下所有文件及子目录一并处理mode为3-8位数字,是文件/目录读、写、执行允许权的缩写(r:read,《操作系统原理及应用》实验指导书阜阳师范学院计算机系第4页数字代号为4w:write,数字代号为2x:execute,数字代号为1)mode:rwxrwxrwxusergroupother缩写:(u)(g)(o)例:chmod755dir1将目录dir1设定成任何人皆有读取及执行的权利,但只有拥有者可作写修改。其中7=4+2+1,5=4+1chmod700file1将file1设为拥有者可以读、写和执行chmodo+xfile2将file2,增加拥有者可执行的权利chmodg+xfile3将file3,增加组使用者可执行的权利chmodo-rfile4将file4,除去其它使用者可读取的权利(5)改变文件或目录所有权chown执行格式:chown[-R]usernamename例:chownuserfile1将文件file1改为user所有chown.foxfile1将文件file1改为fox组所有chownuser.foxfile1将文件file1改为fox组的user所有chown-Ruserdir1将目录dir1及其下所有文件和子目录,改为user所有4、进程操作(1)查看系统目前的进程ps执行格式:ps[-aux]例:ps或ps-x查看系统中属于自己的processps-au查看系统中所有使用者的processps-aux查看系统中包含系统内部及所有使用者的processps-aux|grepapache找出系统中运行的所有名称中带有apache串的process(2)查看正在background中执行的process执行格式:jobs(3)结束或终止进程kill执行格式:kill[-9]PID(PID为利用ps命令所查出的processID)例:kill456或kill-9456终止processID为456的process(4)后台(background)执行processcommand的命令执行格式:command&(在命令后加上&)例:gccfile1&在后台编译file1.c注意:按下^Z,暂停正在执行的process。键入”bg”,将所暂停的process《操作系统原理及应用》实验指导书阜阳师范学院计算机系第5页置入background中继续执行。例:gccfile1&^Zstoppedbg(5)结束或终止在background中的进程kill执行格式:kill%n例:kill%1终止在background中的第一个jobkill%2终止在background中的第二个job(6)显示系统中程序的执行状态例:top-q不断地更新、显示系统程序的执行状态第一行显示的项目依次为当前时间、系统启动时间、当前系统登录用户数目、平均负载。第二行为进程情况,依次为进程总数、休眠进程数、运行进程数、僵死进程数、终止进程数。第三行为CPU状态,依次为用户占用、系统占用、优先进程占用、闲置进程占用。第四行为内存状态,依次为平均可用内存、已用内存、空闲内存、共享内存、缓存使用内存。第五行为交换状态,依次为平均可用交换容量、已用容量、闲置容量、高速缓存容量。PID每个进程的ID。PPID每个进程的父进程ID。UID每个进程所有者的UID。USER每个进程所有者的用户名。PRI每个进程的优先级别。NI该进程的优先级值。SIZE该进程的代码大小加上数据大小再加上堆栈空间大小的总数。单位是KB。TSIZE该进程的代码大小。对于内核进程这是一个很奇怪的值。DSIZE数据和堆栈的大小。TRS文本驻留大小。D被标记为“不干净”的页项目。LIB使用的库页的大小。对于ELF进程没有作用。RSS该进程占用的物理内存的总数量,单位是KB。SHARE该进程使用共享内存的数量。STAT该进程的状态。其中S代表休眠状态;D代表不可中断的休眠状态;R代表运行状态;Z代表僵死状态;T代表停止或跟踪状态。TIME该进程自启动以来所占用的总CPU时间。如果进入的是累计模式,那么该时间还包括这个进程子进程所占用的时间。且标题会变成CTIME。%CPU该进程自最近一次刷新以来所占用的CPU时间和总时间的百分比。%MEM该进程占用的物理内存占总内存的百分比。COMMAND该进程的命令名称,如果一行显示不下,则会进行截取。内存中的进程会有一个完整的命令行按ctrl+c停止查看(7)以树状图显示执行的程序pstree例:pstree-h列出进程树并高亮标出当前执行的程序《操作系统原理及应用》实验指导书阜阳师范学院计算机系第6页(10)监视用户空间程序发出的全部系统调用stracestrace还能显示调用的参数,以及用符号方式表示的返回值。strace从内核中接收信息,所以一个程序无论是否按调试方式编译(gcc-g)或是否被去掉了调试信息,都可以被跟踪。执行格式:strace[-tTeo]executable-program-name-t:用来显示调用发生的时间-T:显示调用花费的时间-e:限定被跟踪的调用类型-o:将输出重定向到一个文件中类似命令:ltrace[-fiS]executable-program-name7、其它常用命令(1)命令在线帮助man执行格式:mancommand例:manls查询ls这个指令的用法(2)设定命令记录表长度history执行格式一:sethistory=n例:sethistory=40功能:设定命令记录表长度为40(可记载执行过的前面40个命令)执行格式二:history查看命令记录表的内容(3)显示说明info执行格式:infocommand-name例:infogcc功能:查看gcc的说明,按上下箭头选定菜单,回车进入,u键返回上级菜单.info不加参数则进入最上一级菜单.实验一UNIX/LINUX及其使用环境(二)LINUX下C语言使用、编译与调试实验实验目的1、复习C语言程序基本知识2、练习并掌握UNIX提供的vi编辑器来编译C程序3、学会利用gcc、gdb编译、调试C程序实验内容1、用vi编写一个简单的、显示Hello,World!的C程序,用gcc编译并观察编译后的结果2、利用gdb调试该程序3、运行生成的可执行文件。《操作系统原理及应用》实验指导书阜阳师范学院计算机系第7页实验指导二、文件编辑器vivi是在UNIX上被广泛使用的中英文编辑软件。vi是visualeditor的缩