您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 01熟悉Linux操作系统
实验一熟悉Linux操作系统实验目的Linux作为一种开源的操作系统,具有开放性、多用户、高效性以及灵活性等特点,《操作系统》课程将选择Linux作为实验平台。本实验的目的是让学生了解Linux的操作环境和熟悉Linux操作系统的常用命令,为后续实验奠定实验基础。实验类型综合性实验预习要求已学习操作系统基本概念,了解Linux操作系统的产生背景以及Linux操作系统的基本特征。实验设备与环境PII以上电脑一台,VMwareWorkstation上安装Linux操作系统实验原理操作系统是一台计算机必不可少的系统软件,是整个计算机系统的灵魂。Linux是一套免费使用和自由传播的类Unix操作系统,它主要用于基于Intelx86系列CPU的计算机上。这个系统是由全世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。Linux之所以受到广大计算机爱好者的喜爱,主要原因有两个,一是它属于自由软件,用户不用支付任何费用就可以获得它和它的源代码,并且可以根据自己的需要对它进行必要的修改,无偿对它使用,无约束地继续传播。另一个原因是,它具有Unix的全部功能,任何使用Unix操作系统或想要学习Unix操作系统的人都可以从Linux中获益。Linux作为一个免费开放源代码的操作系统,为我们学习《操作系统》课程提供了学习、探索以及修改计算机操作系统内核的机会。同时,本课程将提供一个Mini版的实验系统Nachos(含源代码),Nachos可在Linux环境下进行编译,可配合课程实验进行修改调试。实验任务1.熟悉Linux文件操作命令2.熟悉Linux系统管理命令3.熟悉linux进程管理命令4.熟悉Linux文本编辑器Vi的使用方法5.掌握Linux的编译器GCC的使用方法实验步骤1.Linux的启动(1)首先,启动电脑进入Windows操作系统,然后双击桌面上VMWareWorkstation图标,选择左侧栏中的CentOS,然后点击Poweronthisvirtualmachine,启动虚拟机系统,username:root,password:123。(2)右击桌面,选择OpenTerminal,进入命令终端,实验内容都在此窗口中完成。2.Linux系统管理命令命令命令格式说明passwdpasswd[用户名]修改用户口令useradduseradd用户名添加新的用户usermodusermod[选项]用户帐号修改帐号的各种属性userdelUserdel用户帐号删除帐号writewrite用户帐号[终端名称]向用户发送信息dfdf[选项]检查文件系统的磁盘空间占用情况dudu[选项][Names…]显示目录(或文件)所占磁盘空间的大小initInit[选项]引导不同运行级别进程ShutdownShutdown[选项]关闭系统RebootReboot[选项]重启系统pwdPwd[选项]显示当前用户所在目录(1)增加新用户rjxy和rjxy1。(2)给用户rjxy设置密码123456。(3)删除用户rjxy1。(4)显示当前用户所在目录。如果对某条命令不熟悉可以查看帮助信息,如pwd–help。这里出现的问题有:1.当添加一个新的用户后,如useraddww,接着删除它,userdelww,之后再重新添加ww用户,会有问题,因为userdelww只是把与ww用户某些相关的文件删除了,但并不是把与该用户相关的所有记录都删除了,所以重新添加的时候,会报错说某些文件已存在,重启再添加即可。2.shutdown关闭的时候会要求输入参数shutdown–hnow即可。3.Linux进程管理1)查看进程,输入ps会显示当前正在运行的进程,可以加--help显示帮助信息,如:ps--help会列出关于ps命令的介绍。2)中断进程为了演示如何中断进程,首先运行一个持续时间比较长(不然尚未发送信号它自己就退出了)的程序,如:find/-name*f。这个命令是在根目录(/)下查找以f结尾的文件,并将结果列出。*为通配符,表示任意个数的任意字符。输入如下命令可看到find的帮助:find–help,现在再次输入:find/-name*f。然后按住Ctrl,再按z(这个操作记作:Ctrl+z),即可将当前正在运行的程序切换到后台。现在输入:ps,从列表中可以看类似下面的一行:PIDTTYTIMECMD5243pts/100:00:00find其中5243是我进行实验时find的PID号,每一次实验都有可能不同。下面输入:kill5243这将向进程号为5243的进程(即find进程)发送TERM信号,中止进程的运行,当使用kill时,即使工作按期完成了,用户也得不到任何反馈。现在输入:fg这条命令将刚才利用Ctrl+z切换到后台的进程切换到前台,如果命令kill执行成功,将显示:Killed表示find进程中止运行。输入:ps查看是否属实。如果刚才没有输入kill命令,或进程号(PID)输入错误,则find进程会继续运行。如果用kill命令不能终止一个进程,就需要使用更有效的kill命令,kill命令通常有集中不同等级的操作。不带任何选项的killpid将关闭打开的文件,如果这样不起作用,在使用kill命令时带上选项-9,它将无条件的撤销一个进程。#kill-95243另外,可使用Ctrl+c退出当前进程。4.Linux文件操作命令命令命令格式说明lsls[选项][目录或是文件]显示目录内容cpcp[选项]源文件或目录目标文件或目录文件或目录的复制mvmv[选项]源文件或目录目标文件或目录文件或目录更名或将文件由一个目录移到另一个目录中rmrm[选项]文件删除文件或目录touchtouch文件名修改文件时间或创建新文件mkdirmkdir目录名创建目录rmdirrmdir目录名删除空目录cdcd[directory]改变工作目录catcat[选项]文件列表显示文件findfind目录列表[选项]搜索文件whereisWhereis[选项]文件名或目录名寻找特定文件locateLocate[选项]文件名找出与文件名相关联的文件grepgrep[选项]字符串文件列表按指定模式查找文件moremore[选项]文件名通用的按页显示lessLess[选项]文件名与more类似,还可以往前翻页nlnl[选项]文件名显示文件,顺便输出行号tartar[主选项+辅选项]文件或者目录为文件和目录创建档案gzipgzip[选项]压缩(解压缩)的文件名压缩文件uinzipunzip[选项]压缩文件名.zip展开*.zip文件(1)在home目录下新建目录test。(2)跳转到test目录(3)在test目录下新建文件myfile和myfile1。(4)显示test目录内容(5)删除文件myfile1。(6)拷贝myfile文件到home目录下。(7)在/home目录下搜索myfile(8)压缩myfile文件生成myfile.gz(9)解压myfile.gz这里的出现的问题有:有些同学以为用gzip进行压缩,用unzip进行解压缩,其实不是这样的,它们在不同的选项参数下都可以对文件进行压缩或者解压缩,在解压文件时,我们应该根据文件的压缩格式(后缀)来选择相应的解压命令。5.Vi编辑器的使用(1).进入和退出vi1)进入vi在系统提示符($)下输入命令vi和想要编辑(建立)的文件名(如example),便可进入vi。2)退出vi在命令方式下可有几种方法退出vi编辑器::wq把编辑缓冲区的内容写到你编辑的文件中,退出编辑器,回到Linuxshell下。:ZZ仅当作过修改时才将缓冲区内容写到文件上。:x与:ZZ相同。:q!强行退出vi。感叹号(!)告诉vi,无条件退出,丢弃缓冲区内容。这样,先前对该文件所做的修改或输入都被抛弃。(2).新建文件1)在Linux提示符$之后,输入命令:vimyfile,然后按〈Enter〉键。2)输入插入命令i(屏幕上看不到字符i)。3)然后,输入以下文本行:Themoreyoulearn,themoreyouknw,Themoreyouknow,themoreyou.4)发现这两行有错,进行改正:按〈Esc〉键,从插入方式回到命令方式。按光标上移键,使光标移到第一行。按光标左移键,使光标移到“knw”的“w”处。输入i(这是插入命令),然后输入o。该行变成如下形式:Themoreyoulearn,themoreyouknow,按光标右移键,使光标移到最后字母“u”上。我们想在“u”之后输入一个空格和单词“forget”。为此,输入附加命令“a”。结果屏幕显示为:Themoreyoulearn,themoreyouknow,Themoreyouknow,themoreyoau.这是怎麽回事儿?......原来是:我们先前使用了插入命令i,至今并未用〈Esc〉键返回命令方式。所以,输入的所有字符都作为输入文本予以显示。5)按〈Esc〉键,返回命令方式。利用x命令删除错误字符。然后,进入插入方式,输入正确字符。6)最后输入如下所示的文本:Themoreyoulearn,themoreyouknow,Themoreyouknow,themoreyouforget,7)将你编辑的文本文件存盘。(利用:wq命令,或者:x命令)8)重新进入vi编辑程序,编辑上面的文件。(如:$vimyfile)9)在屏幕上见到myfile文件的内容。在屏幕底边一行显示出该文件的名称、行数和字符个数,若它仍然有错,需进一步修改。10)回到命令方式。输入命令8〈Space〉(键盘输入“8”,屏幕上不会显示出来,接着再按一下空格,光标便移动了),光标移至何处?(提示:光标右移8个字符位置。)11)将光标移至第三行。输入新行命令O(大写字母),屏幕上有什麽变化?(注意:输入命令时,vi应处于命令模式)(提示:光标移至上一行(新加空行)的开头。)12)输入新行的内容:Themoreyouforget,thelesiyouknow.此时,vi处于哪种工作模式?(提示:插入模式)14)按〈Esc〉,回到命令方式。将光标移到第四行的lesi的i字母处。利用替换命令s将i改为s。15)修改后的文本是以下内容:Themoreyoulearn,themoreyouknow,Themoreyouknow,themoreyouforget,Themoreyouforget,thelesiyouknow.将该文件存盘,退出vi。6.Linux的编译器GCCC语言是Linux下的最常用的程序设计语言,Linux上的很多应用程序就是用C语言写的。我们实验中的编程都是使用C或C++来实现的。Linux系统上运行的GNUC编译器(GCC)是一个全功能的ANSIC兼容编译器。虽然GCC没有集成的开发环境,但堪称是目前效率很高的C/C++编译器。命令格式:gcc[选项]源文件[目标文件]选项含义:-oFILE:指定输出文件名,在编译为目标代码时,这一选项不是必须的。如果FILE没有指定,缺省文件名是a.out.-c:GCC仅把源代码编译为目标代码。缺省时GCC建立的目标代码文件有一个.o的扩展名。-static:链接静态库,即执行静态链接-O:GCC对源代码进行基本优化。这些优化在大多数情况下都会使程序执行得更快。-ON:指定代码优化的级别为N,o=N=3。-O2选项告诉GCC产生尽可能小和尽可能快的代码。-O2选项将使编译的速度比使用-O时慢,但通常产生的代码执行速度会更快。-g:在可执行程序中包含标准调试信息。GCC产生能被GNU调试器使用的调试信息,以便调试你的程序。GCC提供了一个很多其他C编译器里没有的特性,在GCC里可以使-g和-O(产生优化代码)联用。-pedantic:允许发出ANSI/ISOC标准所列出的所有警告-pedantic–errors:允许发出ANSI/ISOC标准所列出的所有错误-w:关闭所有警告,建议不要使用
本文标题:01熟悉Linux操作系统
链接地址:https://www.777doc.com/doc-4761519 .html