1操作系统实验指导书.docx

上传人:b****5 文档编号:29863715 上传时间:2023-07-27 格式:DOCX 页数:50 大小:476.28KB
下载 相关 举报
1操作系统实验指导书.docx_第1页
第1页 / 共50页
1操作系统实验指导书.docx_第2页
第2页 / 共50页
1操作系统实验指导书.docx_第3页
第3页 / 共50页
1操作系统实验指导书.docx_第4页
第4页 / 共50页
1操作系统实验指导书.docx_第5页
第5页 / 共50页
点击查看更多>>
下载资源
资源描述

1操作系统实验指导书.docx

《1操作系统实验指导书.docx》由会员分享,可在线阅读,更多相关《1操作系统实验指导书.docx(50页珍藏版)》请在冰豆网上搜索。

1操作系统实验指导书.docx

1操作系统实验指导书

 

操作系统实验指导书

 

李丹

信息学院

一、准备工作

一、virtualbox的安装

Virtualbox是一个开源软件,完全免费,官方网站:

www.virtualbox.org,推荐去官网下载最新版。

PS:

如果在安装过程中遇到“无法通过windows徽标测试。

”全部都选择:

确定

整个安装过程英文界面,跟其他软件安装过程差不多,注意一下安装目录,还有一个警告直接无视就行。

警告直接无视掉。

---------------------------------------------------------------------------------------

二、新建一个虚拟机及给虚拟机装系统

1)打开virtualbox,点击新建,出现新建虚拟向导后直接下一步

2)给自己的虚拟电脑取个名字,并选择操作系统和版本。

如果是ubuntu的,操作系统就选linux,版本就选ubuntu。

完了后下一步

3)内存默认,当然如果你觉得你的配置牛x,或者是有其他目的也可以弄大一点。

下一步。

4)虚拟硬盘默认,下一步。

5)创建新的虚拟磁盘,默认,下一步。

6)默认,下一步。

7)位置就是你想把你建的虚拟机保存在哪。

大小就是虚拟磁盘大小自己随意,一般默认,下一步。

8)点create,再点create,一个虚拟机就创建好了。

接下来讲给新建的虚拟机装系统:

1)右击新建的虚拟机-----设置-----storage-----没有盘片,点击右上方的小圆盘,选择第一项,找到你系统镜像所在位置(iso格式的,gho的没试过),接下来,确定,确定。

2)点击虚拟机主界面上方的“开始”,就开始安装了,过程就不讲了。

PS:

按一下“右Ctrl”键可以实现主机与虚拟机的鼠标切换。

---------------------------------------------------------------------------------------

Vbox技巧:

1)Veiw菜单下的“host”键指的是“右Ctrl”键

2)虚拟系统运行后,可以关掉vbox软件。

实验一linux基础实验

实验内容:

1、vi编辑器

vi是visualedit的缩写

文本编辑器是所有计算机系统中最常用的一种工具。

UNIX下的编辑器有ex,sed和vi等,其中,使用最为广泛的是vi。

vi编辑器中有三种状态模式

§命令模式

§输入模式

§末行模式

图1vi编辑器的三种工作模式

表1进入编辑模式的功能键

命令

功能

i

在当前光标处进入插入状态

a

在当前光标后进入插入状态

A

将光标移动到当前行的行末,并进入插入状态

o

在当前行的下面插入新行,光标移动到新行的行首,进入插入状态

O

在当前行的上面插入新行,光标移动到新行的行首,进入插入状态

r

替换当前字符

cw

删除当前光标到所在单词尾部的字符,并进入插入状态

c$

删除当前光标到行尾的字符,并进入插入状态

c^

命令删除当前光标之前(不包括光标上的字符)到行首的字符,并进入插入状态

表2光标移动和翻页操作

按键

功能

方向键

进行上下左右方向的光标移动

Home

快速定位光标到行首

End

快速定位光标到行尾

PageUp

进行文本的向上翻页

PageDown

进行文本的向下翻页

Backspace

删除光标左侧的字符

Del

删除光标位置的字符

表3输入模式下光标操作键

操作类型

光标操作键

功能

光标移动

h

向左移动光标

l

向右移动光标

k

向上移动光标

j

向下移动光标

翻页

Ctrl+f

向前翻整页

Ctrl+b

向后翻整页

Ctrl+u

向前翻半页

Ctrl+d

向后翻半页

表4行内快速跳转

操作键

功能

^

将光标快速跳转到本行的行首字符

$

将光标快速跳转到本行的行尾字符

w

将光标快速跳转到当前光标所在位置的后一个单词的首字母

b

将光标快速跳转到当前光标所在位置的前一个单词的首字母

e

将光标快速跳转到当前光标所在位置的后一个单词的尾字母

表5文件内行间快速跳转

命令

功能

:

setnu

在编辑器中显示行号

:

setnonu

取消编辑器中的行号显示

1G

跳转到文件的首行

G

跳转到文件的末尾行

#G

跳转到文件中的第#行

表6删除操作

命令

功能

x

删除光标处的单个字符

dd

删除光标所在行5dd可以删除5行内容

dw

删除当前字符到单词尾(包括空格)的所有字符

de

删除当前字符到单词尾(不包括单词尾部的空格)的所有字符

d$

删除当前字符到行尾的所有字符

d^

删除当前字符到行首的所有字符

J

删除光标所在行行尾的换行符,相当于合并当前行和下一行的内容

表7撤销操作

命令

功能

u

取消最近一次的操作,并恢复操作结果

可以多次使用u命令恢复已进行的多步操作

U

取消对当前行进行的所有操作

Ctrl+r

对使用u命令撤销的操作进行恢复

表8复制与粘贴操作

命令

功能

yy

复制当前行整行的内容到vi缓冲区

5yy从当前行开始复制5行

yw

复制当前光标到单词尾字符的内容到vi缓冲区

y$

复制当前光标到行尾的内容到vi缓冲区

y^

复制当前光标到行首的内容到vi缓冲区

p

读取vi缓冲区中的内容,并粘贴到光标当前的位置(不覆盖文件已有的内容)

表9字符串查找

命令

功能

/word

从上而下在文件中查找字符串“word”

?

word

从下而上在文件中查找字符串“word”

n

定位下一个匹配的被查找字符串

N

定位上一个匹配的被查找字符串

表10字符串替换

命令

功能

:

s/old/new

将当前行中查找到的第一个字符“old”串替换为“new”

:

s/old/new/g

将当前行中查找到的所有字符串“old”替换为“new”

:

#,#s/old/new/g

在行号“#,#”范围内替换所有的字符串“old”为“new”

:

%s/old/new/g

在整个文件范围内替换所有的字符串“old”为“new”

:

s/old/new/c

在替换命令末尾加入c命令,将对每个替换动作提示用户进行确认

二.实验内容

1.进入和退出vi。

2.利用文本插入方式建立一个文件。

3.在新建的文本文件上移动光标。

4.对文本文件执行删除、复原、修改、替换操作。

三.实验步骤

1.进入和退出vi

<1>进入vi

在系统提示符($)下输入命令vi和想要编辑(建立)的文件名(如example),便可进入vi。

<2>退出vi

在命令方式下可有几种方法退出vi编辑器:

wq把编辑缓冲区的内容写到你编辑的文件中,退出编辑器。

q退出vi编辑器

q!

强行退出vi。

感叹号(!

)告诉vi,无条件退出,丢弃缓冲区内容。

这样,先前对该文件所做的修改或输入都被抛弃。

2.新建文件

<1>在提示符$之后,输入命令:

vimyfile,然后按〈Enter〉键。

<2>输入插入命令i(屏幕上看不到字符i)。

<3>然后,输入以下文本行:

Ifyouaredoingyur,

youwillnohavetoworryaboutfailure.

Constant dropping wears the stone.

<4>发现这两行有错,进行改正:

按〈Esc〉键,从插入方式回到命令方式。

按光标上移键,使光标移到第一行。

按光标左移键,使光标移到“yur”的第二个“u”处。

输入i(这是插入命令),然后输入o。

该行变成如下形式:

Ifyouaredoingyour,

按光标右移键,使光标移到“your”后面的r上。

我们想在“r”之后输入一个空格和单词“best”。

为此,输入附加命令“a”。

结果屏幕显示为:

Ifyouaredoingyouar

这是怎麽回事儿?

......原来是:

我们先前使用了插入命令i,至今并未用〈Esc〉键返回命令方式。

所以,输入的所有字符都作为输入文本予以显示。

<5>按〈Esc〉键,返回命令方式。

利用x命令删除错误字符。

然后,进入插入方式,输入正确字符。

<6>最后输入如下所示的文本:

Ifyouaredoingyourbest,

youwillnohavetoworryaboutfailure.

Constant dropping wears the stone.

<7>将你编辑的文本文件存盘。

(利用:

wq命令,或者:

x命令)

<8>重新进入vi编辑程序,编辑上面的文件。

(如:

$vimyfile)

<9>在屏幕上见到myfile文件的内容。

在屏幕底边一行显示出该文件的名称、行数和字符个数:

“myfile”3lines,characters

它仍然有错,需进一步修改。

<10>将光标移到第二行的no的o处。

输入a命令,添加字符t。

<11>按〈Esc〉,回到命令方式。

输入命令4〈Space〉,光标移至何处?

---光标右移4个字符位置。

<12>利用取代命令r将toworry改为toworry。

<13>将光标移至第三行。

输入新行命令O(大写字母),屏幕上有什麽变化?

---光标移至上一行(新加空行)的开头。

<14>输入新行的内容:

Every man is his own worst enemy.

此时,vi处于哪种工作方式?

<15>修改后的文本是以下内容:

Ifyouaredoingyourbest,

youwillnohavetoworryaboutfailure.

Every man is his own worst enemy.

Constant dropping wears the stone.

将该文件存盘,退出vi。

<16>重新编辑该文件。

并将光标移到最后一行的wears的w字母处,使用d$命令将w至行尾的字符都删除。

<17>现在想恢复15步的原状,怎麽办?

(使用复原命令u)

<18>使用dd命令删除第一行;将光标移至man的a字母处,随便插入一串字符。

将光标移到下一行的开头,执行5x命令;

<19>屏幕内容乱了!

现在想恢复15步的原状,怎麽办?

(不写盘,强行退出vi)能用u或U命令恢复屏幕原状吗?

四、实验练习

1.请在/root这个目录下建立一个名为vitest的目录;

mkdir/root/vitest

2.进入vitest这个目录当中;

cd/root/vitest

3.将/etc/man.config拷贝到本目录底下;

cp/etc/man.config

4.使用vi开启本目录下的man.config这个档案;

viman.config

5.在vi中设定一下行号;

:

setnu

6.移动到第62行,向右移动40个字符,请问您看到的双引号内是什么目录?

先按下62G,再按下40+向右键,会看到“/dir/bin/foo”

7.移动到第一行,并且向下搜寻一下『teTeX』这个字符串,请问他在第几行?

先按下1G,然后按下/teTeX搜寻,会看到他在第51行!

8.接着下来,我要将50到100行之间的man改为MAN,并且一个一个挑选是否需要修改,如何下达指令?

:

50,100s/man/MAN/gc

9.修改完之后,突然反悔了,要全部复原,有哪些方法?

(1)简单的方法可以一直按u回复到原始状态,

(2)使用不储存离开:

q!

之后,再重新读取一次该档案

10.要复制51到60行这十行的内容,并且贴到最后一行之后;

51G然后在10yy之后按下G到最后一行,再p贴上十行!

11.删除11到30行之间的20行;

11G之后,再给他20dd即可删除20行了

12.将这个档案另存成一个man.test.config的檔名;

:

wman.test.config

13.去到第29行,并且删除15个字符;

29G之后,再给他15x即可删除15个字符;

14.请问目前的档案有多少行与多少字符?

135行,共3903个字符

15.储存后离开

:

wq!

附录:

vi常用指令

进入vi的命令

vifilename:

打开或新建文件,并将光标置于第一行首

vi+nfilename:

打开文件,并将光标置于第n行首

vi+filename:

打开文件,并将光标置于最后一行首

vi+/patternfilename:

打开文件,并将光标置于第一个与pattern匹配的串处

vi-rfilename:

在上次正用vi编辑时发生系统崩溃,恢复filename

vifilename....filename:

打开多个文件,依次进行编辑

移动光标类命令

h:

光标左移一个字符

l:

光标右移一个字符

space:

光标右移一个字符

Backspace:

光标左移一个字符

k或Ctrl+p:

光标上移一行

j或Ctrl+n:

光标下移一行

Enter:

光标下移一行

w或W:

光标右移一个字至字首

b或B:

光标左移一个字至字首

e或E:

光标右移一个字至字尾

):

光标移至句尾

(:

光标移至句首

}:

光标移至段落开头

{:

光标移至段落结尾

nG:

光标移至第n行首

n+:

光标下移n行

n-:

光标上移n行

n$:

光标移至第n行尾

H:

光标移至屏幕顶行

M:

光标移至屏幕中间行

L:

光标移至屏幕最后行

0:

(注意是数字零)光标移至当前行首

$:

光标移至当前行尾

屏幕翻滚类命令

Ctrl+u:

向文件首翻半屏

Ctrl+d:

向文件尾翻半屏

Ctrl+f:

向文件尾翻一屏

Ctrl+b;向文件首翻一屏

nz:

将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。

插入文本类命令

i:

在光标前

I:

在当前行首

a:

光标后

A:

在当前行尾

o:

在当前行之下新开一行

O:

在当前行之上新开一行

r:

替换当前字符

R:

替换当前字符及其后的字符,直至按ESC键

s:

从当前光标位置处开始,以输入的文本替代指定数目的字符

S:

删除指定数目的行,并以所输入文本代替之

ncw或nCW:

修改指定数目的字

nCC:

修改指定数目的行

删除命令

ndw或ndW:

删除光标处开始及其后的n-1个字

do:

删至行首

d$:

删至行尾

ndd:

删除当前行及其后n-1行

x或X:

删除一个字符,x删除光标后的,而X删除光标前的

Ctrl+u:

删除输入方式下所输入的文本

搜索及替换命令

/pattern:

从光标开始处向文件尾搜索pattern

?

pattern:

从光标开始处向文件首搜索pattern

n:

在同一方向重复上一次搜索命令

N:

在反方向上重复上一次搜索命令

s/p1/p2/g:

将当前行中所有p1均用p2替代

n1,n2s/p1/p2/g:

将第n1至n2行中所有p1均用p2替代

g/p1/s//p2/g:

将文件中所有p1均用p2替换

选项设置

all:

列出所有选项设置情况

term:

设置终端类型

ignorance:

在搜索中忽略大小写

list:

显示制表位(Ctrl+I)和行尾标志($)

number:

显示行号

report:

显示由面向行的命令修改过的数目

terse:

显示简短的警告信息

warn:

在转到别的文件时若没保存当前文件则显示NOwrite信息

nomagic:

允许在搜索模式中,使用前面不带“\”的特殊字符

nowrapscan:

禁止vi在搜索到达文件两端时,又从另一端开始

mesg:

允许vi显示其他用户用write写到自己终端上的信息

最后行方式命令

n1,n2con3:

将n1行到n2行之间的内容拷贝到第n3行下

n1,n2mn3:

将n1行到n2行之间的内容移至到第n3行下

n1,n2d:

将n1行到n2行之间的内容删除

w:

保存当前文件

efilename:

打开文件filename进行编辑

x:

保存当前文件并退出

q:

退出vi

q!

不保存文件并退出vi

!

command:

执行shell命令command

n1,n2w!

command:

将文件中n1行至n2行的内容作为command的输入并执行之,若不指定n1,n2,则表示将整个文件内容作为command的输入

r!

command:

将命令command的输出结果放到当前行

寄存器操作

"?

nyy:

将当前行及其下n行的内容保存到寄存器?

中,其中?

为一个字母,n为一个数字

"?

nyw:

将当前行及其下n个字保存到寄存器?

中,其中?

为一个字母,n为一个数字

"?

nyl:

将当前行及其下n个字符保存到寄存器?

中,其中?

为一个字母,n为一个数字

"?

p:

取出寄存器?

中的内容并将其放到光标位置处。

这里?

可以是一个字母,也可以是一个数字

ndd:

将当前行及其下共n行文本删除,并将所删内容放到1号删除寄存器中。

实验二简单shell脚本应用和linux下c编程

一、实验目的

1、掌握linux常用命令

2、掌握shell脚本基本知识

3、掌握linux系统中的编辑、编译、调试、运行一个c语言程序的全过程。

二、实验内容

(一)linux常用命令

1、进入和退出SHELL。

进入shell的二种方法:

(1)是在桌面上依次单击“主程序→系统工具→终端”可打开如图2-1的终端窗口;

(2)是在Linux桌面上单击鼠标右键,从弹出的快捷菜单中选择“终端”命令,也可打开终端窗口。

2、练习与目录和文件操作相关的Linux命令:

cd—切换目录

mkdir—建立一个新目录

cp—文件拷贝

ls—显示目录及文件的内容

mv—更改文件名称

cat—浏览文件内容

chmod—更改文件或目录的访问权限

rm—删除文件

rmdir—删除目录

(1)进入SHELL。

将工作目录切换到根目录,用ls命令查看根目录下的内容,尝试使用-a,-l,-F,-A,-lF等不同选项并比较不同之处。

ls命令的使用方式如下:

ls[选项][文件目录列表]

选项的含义

®-a:

显示所有文件及目录(ls规定将文件名或目录名中开头为"."的视为隐藏档,不会列出)

®-c:

按列输出,纵向排序

®-x:

按列输出,横向排序

®-l:

除文件名外,也将文件状态、权限、拥有者、文件大小等信息详细列出

®-t:

根据文件建立时间的先后次序列出

®-A:

同-a,但不列出"."(目前目录)及".."(父目录)

®-X:

按扩展名排序显示

®-R:

递归显示下层子目录

®--help:

显示帮助信息

®--version:

显示版本信息

(2)在用户主目录下建立一个名为test的新目录,将工作目录切换到test下。

然后将/etc/grub.conf文件拷贝到该目录下,并将该文件用mv命令改名为:

Test.txt。

命令参考:

mkdirtest

cdtest

cp/etc/grub.conf.

mvgrub.confTest.txt

(3)用cat命令浏览文件Test.txt的内容。

命令参考:

catTest.txt

(4)用ls命令查看test下的文件的权限。

命令参考:

ls–lTest.txt

(5)用rm命令删除test目录下的所有文件,再用rmdir命令删除test目录。

命令参考:

rm*.*

cd..

rmdirtest

(6)创建一个普通用户

#useraddtest1

给这个用户一个密码

#passwdtest1

第二种方法:

添加一个用户test2,密码redhat

#useraddtest2

#echoredhat|passwdtest2--stdin

(8)切换到test1这个用户

#su-test1

(9)验证用户信息及当前位置

$whoami

$pwd

$id

(10)从test1这个用户退回到root

$exit

(11)删除test1这个用户

#userdel-rtest1

(二)shell脚本

1、

(1)建立一个脚本

  程序必须以下面的行开始(必须放在文件的第一行):

#!

/bin/sh

(2)当编辑好脚本时,如果要执行该脚本,还必须使其可执行。

  要使脚本可执行:

chmod+xfilename

(3)可以通过输入:

./filename来执行你的脚本。

(4)注释

在进行shell编程时,以#开头的句子表示注释,直到这一行的结束。

2、练习

(1)键入vi,按回车。

编辑下列内容:

#!

/bin/sh

#对变量赋值:

a="helloworld"

#现在打印变量a的内容:

echo"Ais:

"

echo$a

(2)编辑结束,存盘

:

whello

(3)之后键入执行(在root下)

chmod+xhello

(4)最后输入

./hello执行该脚本。

(5)这个脚本将会输出:

Ais:

helloworld

(6)编辑并运行下面shell脚本,观察其结果

#!

/bin/sh

echo"WhatisyourfavouriteOS?

"

selectvarin"Linux""GnuHurd""FreeBSD""Other";do

    break

done

echo"Youhaveselected$var"

3、shell脚本应用

--------------------------

*批量添加用户50个用户{user1---user50}

#vimadu.sh

#!

/bin/bash

forNUMin`seq150`

do

useradduser$NUM

echouser$NUM|passwduser$NUM--stdin

done

#chmod700adu.sh

#./adu.sh

*批量删除用户

#vimdelu.sh

#!

/bin/bash

forNUMin`seq150`

do

userdel-ruser$NUM

done

#chmod700delu.sh

#./delu.sh

(三)使用gcc编译器

1、范例

在vi中编写一个abc.c程序,对程序进行编译、连接、运行。

具体如下:

$viabc.c

#include

main()

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1