1、说明:本人使用的是Archlinux,而实验室使用的是ubuntu,所以某些答案也许会不太对,但大体上应该没问题。还有就是某些地方是很难说清楚的,例如关于vi的操作,只有自己亲自去实际操作一下才能够去理解的。实验一 用户接口实验指导书一、实验目的1熟悉使用Linux字符界面的常用命令。2熟悉使用Linux的图形界面。3熟悉运用Linux的在线帮助系统。4掌握在Linux操作系统环境上编辑、编译、 调试、运行一个 C语言程序的全过程。二、实验内容1熟悉开机后登录Linux系统和退出系统的过程;2熟悉Linux字符界面虚拟终端窗口和shell,以及图形界面X-Window(如gnome或KDE):
2、练习并掌握常用的Linux 操作命令;熟悉常用shell的提示符;熟悉字符窗口与图形界面之间的切换。3学习使用Linux的在线帮助系统,如man命令等。4掌握几种Linux编辑器的使用,特别是字符界面的vi工具的使用。5用vi编辑一个打印“Hello,I am a C program”字串的 C语言程序,然后 编译并运行它,记下整个过程。熟悉gcc、gdb等编译器、调试器的使用。三、实验步骤与结果分析1.Linux的登录及终端与图形界面间的切换在带有GNOME登录界面的Linux系统上执行以下步骤完成本实验环节:步骤1:开机,启动Red Hat Linux系 统,在系统登录界面的左下方 单击“
3、会话”,在屏幕上弹出的菜单中选择会话方式,选择“GNOME”,单击 “确定 ”按钮。步骤2:使用超级用户登录。在欢 迎界面的“ 用户”输入框中输入root,回车后再输入口令888888并回车。系统显示Red Hat Linux桌面。步骤3:在Red Hat Linux桌面下如果要切换到字符命令行方式的 终端,应该如何操作?_Ctrl+Alt+F1F6(按F1至F6中的其中一个)_ 步骤4:如果要在字符命令行方式的终端之间进行切换,又该如何操作?_Ctrl+Alt+F1F6(按F1至F6中的其中一个)_ 步骤5:如果从字符命令行方式的终端切换到Red Hat Linux桌面,应该如何操作?_Ct
4、rl+Alt+F7_ 步骤6:系统启动时缺省时进入图形模式,如果想更改 为系统启动时进入字符命令行方式的终端, 该如何操作?方法1:如果是root用户,直接在终端输入init 3,然后回车即可;如果是普通用户,在终端输入sudo init 3,然后回车,输入密码即可。方法2:修改文件/etc/inittab。在终端输入nano /etc/inittab,非root用户在命令前面加上sudo,找到如下三行:#id:3:initdefault:id:5:initdefault:x:5:respawn:/usr/bin/gdm -nodaemon这三行不一定是连在一起的,(由于系 统的不同,也 许我
5、的文件和 实验室的不一样)将它们修改成如下:id:3:initdefault:#id:5:initdefault:#x:5:respawn:/usr/bin/gdm -nodaemon保存。这里要说一下nano的操作,进入 nano后,键盘上的上下左右操 纵光标的移动,在最下面两行有一些相关的操作,例如 “O WriteOut”,“”表示 Ctrl键,“O”表示键盘上的O,“WriteOut” 表示 对该操作的说明,上面那个操作的意思是按Ctrl+O就保存这个文件(保存的命令最后要按回车键),Ctrl+X 就退出nano 。(如果实在不会用nano,并且系统有gedit 这个软 件,则可以将n
6、ano /etc/inittab 改为gedit /etc/inittab)2.熟悉GNOME在GNOME环境中执行下面的步 骤,完成本实验环节:步骤1:练习使用GNOME面板。GNOME面板(相当于WINDOWS的任务栏),移动鼠标光标停留在面板的空白处,点 击左键,拖动鼠标将面板拖动到屏幕下方、左边、右边、上方,看看有什么 变化。 步骤2:菜单。GNOME提供了应用程序菜单、系统工具子菜单、系统设置子菜 单等纵多菜单按钮。 单击并记录菜单标题,填入表中。 表 实验记录应用菜单项 系统工具子菜单项 系统设置子菜单项步骤3:打开和最小化/最大化一个窗口。步骤4:给定视窗的大小。把鼠标光标移动到
7、视窗的任何一边。可以看到一个箭 头标志。当该标志出现的时候按下鼠标左键不放,然后拖动视窗的边界可以进行 缩放。步骤5:移动视窗。单击视窗的标题栏 保持不放。拖 动视窗到一个新的位置。步骤6:处理重叠视窗。在文字处理视窗打开的情况下,打开新的 视窗会重叠或者覆盖住文字处理视窗。新打开的 视窗现在成为前端视窗或者说是当前进程。 为了把文字处理视窗从底层带 到顶层来,可 单击能够看见的视窗的任何部分。如果看不到,则可单击前面 视窗的左上角符号,打开“窗口菜 单” ,从中选择需要的视窗。步骤7:关闭视窗。单击视窗右上角“关闭窗口” 按钮,可关 闭当前视窗。步骤8:锁定屏幕。如果需要离开屏幕一会儿,而又
8、想保持桌面不变,可以锁定屏幕。当回来的时候,需要输入密码来解锁屏幕。该如何操作?点击面板里关机图标锁定屏幕。 步骤9:处理工作区按钮。工作区又称虚拟控制台,是Linux操作系统的一大特色,它可使用户同时在多个控制台上工作,由此感受Linux 操作系统的多用户、多任务的能力。Linux的虚拟控制台访问方式允许一个用户在同一时间从控制台 (与系统直接相联的监视器和键盘) 进行多次登录;而“ 工作区” 按钮让 用户可以在一个工作区中打开一系列应用程序,而在另一个工作区中打开另一系列应用程序。可以单击 每一个工作区按钮从一个工作区切换到另一个中去。每一个工作区可以有不同的背景 (墙纸) 。工作区从1到
9、4命名。能够通过右键单击其中任意一个按钮重新命名。默认情况下,工作区1是打开的。1) 在工作区1 - 4中分别打开不同的任务视窗。2) 单击每一个工作区按钮,在4 个视窗中切换。3) 关闭每一个视窗中正在运行的应用程序。步骤10:注销GNOME单击红帽子,在菜单中选择“注 销”命令,单击“ 确定”按钮确定注销,将会从当前的GNOME会话中退出,返回到Linux登录界面。4.Linux系统中的Shell在提示符下输入:echo $SHELL并按回车键找出当前系统所使用的Shell。/bin/bash(也许不同的系统不一样)5.Linux系统命令的使用(以下在字符命令行方式下完成)步骤1:用roo
10、t超级用户登录后,用自己的姓名创建自己的账户,并 设置口令,该如何操作? useradd -m username , 参数m表示强制创建用户主文件夹,username是你要输入的帐号名passwd username , 就是为账户创 建密码,例如:useradd -m xiedipasswd xiedi接下来根据提示输入密码(注意输入密码时密码是不会显示的)步骤 2:使用新创建的用户账户和口令登录Linux系统,登录后的界面的命令提示符为:xiedixiedi $步骤 3:使用cd命令转换到root用户的登录目录,操作是否成功?为什么?不成功。root用户的登录目录只有 root账户才能访问,
11、普通 账户 没有权限。步骤4:使用man 获取关于ls命令的帮助信息,试着解释此命令。输入命令man ls即可,要退出man 按q就行了。其 实还可以用info ls或ls -help来查询ls命令的帮助信息。关于 ls命令的解释,我英 语不好,所以就不翻译了,自己看去。步骤5:使用pwd命令察看当前的工作目录,然后用ls命令查看当前目 录下的内容。 分别输入pwd和ls就行了步骤6:在当前目录下建立一个名为test的新目录,然后将工作目 录切换到test下,尝试将/etc目录下的文件passwd拷贝到该目录下(cp 源文件 目的目录)。命令如下:mkdir test cd test cp /
12、etc/passwd . (注意最后一个命令cp,其命令最后的那个 实心点表示当前目录)步骤7:尝试向当前目录下的passwd文件和/etc/passwd 文件分 别写入一些新内容(可使用echo “字符串” 文件 的命令),看看操作能否成功,如果成功,该字符串插入在文件的什么地方,如果不能成功,请说明原因。用cat命令 浏览文件password 的内容,用more命令进行浏览翻页操作,再用less命令浏览文件的内容。比较这几个命令的不同之处:可以成功写入文件。例如:echo “123456” passwd ,字符串将插入到文件的最后。cat命令是直接将所有的内容显示在屏幕上。more命令则可
13、以一页一页的显示内容,在more命令下,空格键表示向后翻一页,q退出,但没有向前翻页。less命令相对与more命令则多了向前翻页的功能,在less命令下,空格键和PageDown表示向后翻 页,PageUp表示向前翻页。步骤8:用mv命令更改文件passwd 的文件名为test.txt。mv passwd test.txt步骤9:删除test目录该如何操作?想一想有没有一条命令将目录及目录下的所有文件删除?rm test.txt cd rmdir test可以用rm命令删除目录及目录下的所有文件删除,假定此 时你处于test 目录下,输入如下命令:cd rm -r test步骤10:尝试执行
14、find /usr/src -name *.c -print,看看 这条命令的执行会出现什么结果,解释一下这条命令。该命令会将目录src下所有以.c为后缀的文件的绝对路径列出来步骤11:执行cal和date命令,说说这 两条指令的用途。cal显示月历,更详细的用法请 man cal。date显示时间,更详细的用法请 man date。步骤12:执行命令clear 和logout,退出系 统。(想一想有没有其他的方法,写出这种方法)clear命令清空终端屏幕 logout命令注销用户(注意不是关机), 还可以用exit命令注销用户步骤13:执行命令shutdown,关闭系统。(想一想有没有更 简
15、单的命令,写出这条命令)shutdown -h now , 还可以用 poweroff -f , halt -p 或 init 0 (注意必须是root才能执行上面的命令,普通用 户请在命令前面加上sudo)6.vi的使用下面会介绍一下vi的基本操作,摘自百度百科。1、vi的基本概念基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:1) 命令行模式command mode)控制屏幕光标的移动,字符、字或行的 删除,移 动复制某区段及进入Insert mode下,或者到 la
16、st line mode。2) 插入模式(Insert mode)只有在Insert mode下,才可以做文字 输入,按 ESC键可回到命令行模式。3) 底行模式(last line mode)将文件保存或退出vi,也可以设置编辑环境,如 寻找字符串、列出行号等。 不过一般我们在使用时把vi简 化成两个模式,就是将底行模式(last line mode)也算入命令行模式command mode)。2、vi的基本操作a) 进入 vi在系统提示符号输入vi及文件名称后,就进入vi 全屏幕编辑画面: $ vi myfile 不过有一点要特别注意,就是您 进入vi 之后,是处于命令行模式(comman
17、d mode),您要切 换到插入模式(Insert mode)才能够输入文字。初次使用vi 的人都会想先用上下左右 键移动光标, 结果电脑一直哔哔叫,把自己气个半死,所以进入vi后,先不要乱动, 转换到 插入模式(Insert mode)再说吧!b) 切换至插入模式(Insert mode)编辑文件在命令行模式(command mode)下按一下字母i就可以进入插入模式(Insert mode),这时候你就可以开始输入文字了。c) Insert 的切换您目前处于插入模式(Insert mode),您就只能一直 输入文字,如果您发现输错了字!想用光标键往回移动,将 该字删除,就要先按一下ESC键
18、转到命令行模式(command mode)再删除文字。d) 退出vi 及保存文件在命令行模式(command mode)下,按一下:冒号键进入Last line mode,例如: : w filename (输 入 w filename将文章以指定的文件名filename保存) : wq (输入wq,存盘并退出 vi) : q! (输入q! , 不存盘强制退出vi)3、命令行模式(command mode)功能键1). 插入模式按i切换进入插入模式insert mode,按 “i“进入插入模式后是从光标当前位置开始输入文件; 按a进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;
19、按o进入插入模式后,是插入新的一行,从行首开始输入文字。2). 从插入模式切换为命令行模式按ESC键。3). 移动光标vi可以直接用键盘上的光标来上下左右移 动,但正 规的vi是用小写英文字母h、j、 k、l,分别控制光标左、下、上、右移一格。 按ctrl +b:屏幕往 “后“移动一页。 按ctrl +f:屏幕往“ 前“移动一页。 按ctrl +u:屏幕往 “后“移动半页。 按ctrl +d:屏幕往 “前“移动半页。 按数字0:移到文章的开头。 按G:移动到文章的最后。 按$:移动到光标所在行的“行尾“ 。 按:移 动到光标所在行的“行首“ 按w:光标跳到下个字的开 头 按e:光标跳到下个字的
20、字尾 按b:光标回到上个字的开头 按#l:光标移到该行的第#个位置,如:5l,56l。4). 删除文字x:每按一次,删除光标所在位置的 “后面“一个字符。 #x:例如,6x表示删除光标 所在位置的“后面“6个字符。 X:大写的X,每按一次,删除光标所在位置的“ 前面“一个字符。 #X:例如,20X表示删除光标所在位置的“前面“20个字符。 dd:删除光标所在行。 #dd:从光标所在行开始删除#行5). 复制yw:将光标所在之处到字尾的字符复制到 缓冲区中。 #yw:复制#个字到缓冲区 yy:复制光标所在行到缓冲区。 #yy:例如,6yy表示拷贝从光 标所在的该行“往下数“6行文字。 p:将缓冲
21、区内的字符贴到光标所在位置。注意:所有与 “y“有关的复制命令都必须与“p“配合才能完成复制与粘贴功能。6). 替换r:替换光标所在处的字符。 R:替换光标所到之处的字符,直到按下ESC键为止。7). 回复上一次操作u:如果您误执行一个命令,可以马上按下u,回到上一个操作。按多次“u“可以执行多次回复。8). 更改cw:更改光标所在处的字到字尾处 c#w:例如,c3w表示更改3个字9). 跳至指定的行ctrl+g列出光 标所在行的行号。 #G:例如,15G,表示移动光标至文章的第15行行首。4、Last line mode下命令简介在使用last line mode之前, 请记住先按ESC 键
22、确定您已经处于command mode下后,再按 :冒号即可进入last line mode。A) 列出行号set nu:输入set nu后,会在文件中的每一行前面列出行号。B) 跳到文件中的某一行#:#号表示一个数字,在冒号后 输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车,就会跳到文章的第15行。C) 查 找字符/关键字:先按/键,再输入您想寻找的字符,如果第一次找的关 键字不是您想要的,可以一直按n会往后寻找到您要的关键字为止。 ?关键字:先按? 键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按n会往前寻找到您要的关键字为止。D) 保存文件w:在冒号
23、输入字母w就可以将文件保存起来。E) 离开viq:按q就是退出,如果无法离开 vi,可以在q后跟一个! 强制离开vi 。 wq:一般建议离开时,搭配w一起使用,这样在退出的时候还可以保存文件。5、vi命令列表1、下表列出命令模式下的一些键的功能: h 左移光标一个字符 l 右移光标一个字符 k 光标上移一行 j 光标下移一行 光标移动至行首 0 数字“0“,光标移至文章的开头 G 光标移至文章的最后 $ 光标移动至行尾 Ctrl+f 向前翻屏 Ctrl+b 向后翻屏 Ctrl+d 向前翻半屏 Ctrl+u 向后翻半屏 i 在光标位置前插入字符 a 在光标所在位置的后一个字符开始增加 o 插入新
24、的一行,从行首开始输入 ESC 从输入状态退至命令状态 x 删除光标后面的字符 #x 删除光标后的#个字符 X (大写X) ,删除光标前面的字符 #X 删除光标前面的#个字符 dd 删除光标所在的行 #dd 删除从光标所在行数的#行 yw 复制光标所在位置的一个字 #yw 复制光标所在位置的 #个字 yy 复制光标所在位置的一行 #yy 复制从光标所在行数的#行 p 粘贴 u 取消操作 cw 更改光标 所在位置的一个字 #cw 更改光 标所在位置的#个字 2 下表列出行命令模式下的一些指令 w filename 储存正在编辑的文件为filename wq filename 储存正在编辑的文件为
25、filename,并退出 vi q! 放弃所有修改,退出vi set nu 显示行号 /或? 查找,在/后输入要查找的内容 n 与/或?一起使用,如果查找的内容不是想要找的关键字,按n或向后(与/联用)或向前(与?联用)继续查找,直到找到为止。 对于第一次用vi,有几点注意要提醒一下: 1 用vi打开文件后,是处于命令行模式(command mode),您要切换到插入模式(Insert mode)才能够输 入文字。切换 方法:在命令行模式(command mode)下按一下字母i就可以 进入插入模式(Insert mode ),这时候你就可以开始输入文字了。 2、编辑好后,需从插入模式切换为命
26、令行模式才能对文件 进行保存,切换方法:按ESC键。 3、保存并退出文件:在命令模式下输入:wq即可!(别忘了 wq前面的:)下面是本次实验的步骤:步骤1:以root用户身份登录进入Linux 系统。步骤 2:启动Vi,切换到输入模式,输入一段英文:This is an exercise! We use Vi to edit it. Left,down,up,right 步骤3:尝试在当前光标前和后插入一串字符,写出 这命令的执行过程。i , a 步骤4:尝试在当前行的前端和末端插入一串字符,写出这命令的执行过程。I , A 步骤5:尝试在当前行前和行后插入一串字符,写出这命令的执行过程。O
27、, o 步骤6:尝试存盘退出操作,写出命令。:wq 7.Linux下C程序设计步骤1:使用Vi输入程序,程序的功能是 输出“Hello,I am a C program”字串,并将 该文件用自己的姓名命名存放在当前目录下,写出操作步骤。vi xiedi.cpp ,(这是c+语言的,C语言的是vi xiedi.c) 进入vi后编辑内容,不会写这个代码自行面壁去。步骤 2:利用gcc编译这个程序,写出 编译命令,如果不成功,说明原因。g+ xiedi.cpp -o xiedi ,(C语言为gcc xiedi.c -o xiedi)有错误的话会提示错误,没有错误就什么都不发生。步骤3:执行程序,写出程序的执 行过程和执行结果。输入./xiedi 执行程序8. 实验小结、建议和体会自己写去