linux实验

更新时间:2023-03-18 05:46:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

嵌入式操作系统

实 验 指 导 书

苗暹 黄连丽

1 1

目 录

实验一 Linux命令使用 实验二实验三实验四实验五实验六实验七实验八

编辑器的使用 编程实验(一) 编程实验(二) 开发工具的使用 编程实验(一) 编程实验(二) 的系统及网络管理实验

2

2 vi shell shell Linux Linux Linux Linux

实验一 Linux命令使用

班级: 姓名: 学号: 上机时间: 任课教师: 实验教师: 实验成绩:

一、实验目的

1. 掌握Linux的一般命令格式。

2. 掌握有关文件和目录操作的常用命令。 3. 掌握有关进程操作的常用命令。 4. 熟练使用man命令。

二、实验注意事项

实验环境与系统是共用设施,请不要在系统内做对系统或对其他用户不安全的事情。要求每个同学登录后系统后,要在主目录(/home/student)下创建一个属于自己的子目录(以自己(拼音)名字或学号)。以后所有工作都要在自己的目录内进行。建议以后的实验都在同台计算机上做,这样可以保持连续性。

三、实验内容及步骤:

1.登录进入系统。

开机,选择 进入,再选择 登陆窗口,输入用户名: , 输入密码: ,进入Ubuntu图形桌面环境。

2.使用简单命令:date,cal,who,echo,clear等,了解Linux命令格式。

3.浏览文件系统:

(1)运行pwd 命令,确定当前工作目录,记录之: 。 (2)运行ls命令,查看当前目录下有哪些文件和子目录,简略记录。

3 3

要启动一个终端,可以选择 在终端提示符下输入:date ? 显示: 。 在终端提示符下输入:who ? 显示:

在终端提示符下输入:who am I ? 显示: 。 在终端下显示Hello! 命令: 。

在终端提示符下输入:clear ? 显示: 。

在终端提示符下输入:cal ? 显示:

(3)运行ls -l命令,理解文件各字段的含义,找一个文件标注。

(5)使用cd /命令,将当前目录改变为根目录(/)。运行ls -l命令,结合书中给出的Linux树状目录结构,了解各目录的作用。

命令: cd / ? 回到: 命令: pwd ? 显示: 命令: ls -l ? 显示:(简略记之)

(4)运行ls -ai命令,理解各字段的含义。

(6)直接使用cd,回到了那里?用pwd验证之。 命令: ? 回到:

命令: ? 显示:

(7)用 mkdir建立一个子目录subdir。

命令: ?

(8)将当前目录改到subdir。

命令: ?

4.文件操作:

(1)验证当前目录在subdir。

命令: ? 显示: (2)运行date>file1,然后运行cat file1,看到什么信息?

命令: ? ,命令: ? 显示:

“ >”是什么符号?

解释“ date>file1 ”的含义:

(3)运行cat subdir,会有什么结果?为什么?

结果:

为什么? 。

4 4

(4)分别用cat和more查看文件内容(提示:/etc/manpath.config)。比较cat和more这两个命令的异同。

。 (5)利用man 命令显示date命令的使用说明。 命令: ? 显示:(简略记之)

如何从man命令状态退回到终端窗口? 。

(6)运行man date>>file1,再运行cat file1 ,看到什么?

命令: 命令:

显示:

man date>>file1含义: 。 (7)利用ls -l file1,了解链接计数是多少?运行 ln file1 ../fa,再运行ls -l file1,看链接计数有无变化?用cat命令显示fa文件内容。(注意:做完后要删除所做硬链接,恢复原样以便后面同学再做此实验)

命令:ls -l file1? 显示的链接计数: 命令:ln file1 ../fa?

命令:ls -l file1? 显示的链接计数: ,有无变化? 。 命令:cat fa? 显示: 。 (8)使用head和tail命令分别显示file1文件的前十行和后十行的内容。 命令: ? 命令: ? (9)运行cp file1 file2,然后ls -l,看到什么? 命令:cp file1 file2 ? ls -l? 解释显示结果:

运行mv file2 file3, 然后ls -l,看到什么? 命令:mv file2 file3? ls –l ? 解释显示结果:

运行cat f*,结果怎样?

5 5

命令:cat f* ? 解释显示结果:

(10)运行rm file3,然后ls -l,看到什么? 命令:rm file3 ? 命令:ls -l ? 解释显示结果:

(11)在/etc/passwd文件中查找适合你的注册名的行。

命令: (12)运行ls -l理解各文件的权限是什么?(选择两个不同文件标注)

(13)用两种方式改变file1的权限(实例)。

①以符号模式改变权限:

②以绝对方式改变权限:

(14)统计file1文件的行数、字数、字节数。 命令: ? 显示:

解释各参数的含义:

(15)运行命令man ls |more

“man ls |more”的含义:

运行cat file1|head -20|tee file5,结果如何?

显示结果:

“cat file1|head -20|tee file5”的含义:

运行cat file5|wc,结果如何?

显示结果:

“cat file5|wc”的含义:

(16)运行cd,回到主目录,运行mkdir mydir,建立mydir 子目录,运行ls -l查看目录,再运行rmdir mydir,看到什么结果?如果要删除mydir目录,该如何操作? 运行命令:cd <回车键> 回到:

6 6

运行命令:mkdir mydir 建立: 运行命令: 查看所建目录内容 运行命令:cp /etc/profile /home/student/mydir

解释该命令: 查看mydir内容命令: 运行命令: rmdir mydir ?

看到什么结果:

如何处理? 注意:在这个实验中没有特别的难点,但是要注意的是,rm命令删除文件的时候,不给任何提示,因此

一定要谨慎,不然很容易删除不应该删除的文件。

四、实验报告要求

1.按实验步骤写出实验命令及运行结果,回答所提问题。 2.总结上机过程中所遇到的问题和解决方法及感想。

7 7

实验二 vi编辑器的使用

班级: k1273-4 姓名: 方康 学号: 20129730415 上机时间:

任课教师: 实验教师: 实验成绩:

一、实验目的

学习使用vi编辑器建立、编辑、显示以及加工处理文本文件。

二、实验注意事项

实验室内的实验环境与系统是共用设施,请不要在系统内做对系统或对其他用户不安全的事情。要求每个同学登录后系统后,要在自己的家目录下创建一个属于自己的子目录(以自己(拼音)名字或学号)。以后所有工作都要在自己的目录内进行。建议以后的实验都在同台计算机上做,这样可以保持连续性。

三、实验内容及步骤

1.进入和退出vi

(1)进入vi,创建一个file.c文件。 命令: 。 (2)进入插入方式,输入如下C程序,将该文件存盘,回到shell状态下。 #include int main() { float a,b,x; printf(\ scanf(\ x=a%b; printf(\ return 0;

}

进入插入方式命令: ,文件存盘回到shell状态命令: 。 (3)运行gcc file.c -o myfile,编译该文件,会发现错误提示,理解其含义。 编译命令:gcc file.c -o myfile <回车>

警告: 。 警告: 。 错误: 。

(4)重新进入vi,对该文件进行修改,然后存盘,退出vi。重新编译该文件,如果编译通过,运行该程序。运行程序命令:./myfile

注意:在错误程序行旁边注释正确程序。

(5)运行man date>file10,然后用vi打开file10文件,使用x,dd命令删除某些文本行,使用u命令复原此前的情况,使用c,r,s等命令修改文本内容,使用检索命令进行给定模式的检索。 删除光标所在的字符命令: 。 删除光标前面那个字符命令: 。 从光标位置删至到行尾命令: 。

8 8

从光标位置删至到行首命令: 。 复原命令: 。 修改命令举例: c: r: s: 搜索命令:

向前字符串检索举例: 解释: 向后字符串检索举例: 解释: 查找字符命令举例: 解释: 解释: 全局替换命令举例: 解释: 解释: 解释: 2.新建文件

(1)请在主目录(/home/student)下建立一个名为 vitest 的目录; 命令: (2)进入 vitest 这个目录当中; 命令: (3)将 /etc/manpath.config 拷贝到本目录下;

命令: (4)使用 vi 开启本目录下的 manpath.config 这个文件; 命令: (5)在 vi 中设定一下行号;

设置行号命令: 。(取消行号命令: :set nonu 。) (6)移动到第67 行,向右移动 26 个字符,请问您看到的是什么目录?

移动到第67 行的命令: 向右移动 26 个字符的命令:

看到:

(7)再向左移动16个字符的命令: 看到: (8)回到当前行第一个字符处命令: 移动到当前行的行尾命令: (9)移动到第5行(包含当前行)词尾命令: 。再回到当前行的第一个字符处。 (10)光标向前移至下一个词的开头命令: 。 (11)光标后退到前一个词的开头命令: 。

(12)移动到第一行,并且向下搜寻一下『 modify 』这个字符串,请问他在第几行?

移动到第一行: , 向下搜寻一下“modify ” 它在 行。 (13)接着下来,我要将 50 到 70 行之间的 man 改为 MAN ,并且一个一个挑选是否需要修改,如何下

9 9

达指令?

命令: (14)修改完之后,突然反悔了,要全部复原,有哪些方法?

(15)我要复制51到60行这十行的内容,并且贴到最后一行之后;

(16)删除11到30行之间的20行;

(17)将这个文件另存成一个 man.test.config 文件;

(18)到第29行,并且删除 15 个字符;

(19) 请问目前的文件有多少行与多少字符?用什么命令统计?

命令: (20)储存后离开吧。

四、实验报告要求

1.按实验步骤写出实验命令及运行结果,回答所提问题。 2.总结上机过程中所遇到的问题和解决方法及感想。

10 10

实验三 shell编程实验(一)

班级: k1273-4 姓名: 方康 学号: 20129730415 上机时间:

任课教师: 实验教师: 实验成绩:

一、实验目的

1.了解shell的作用和主要分类。 2.掌握bash的建立和执行方式。 3.掌握bash的基本语法。

4.综合Linux常用命令和vi编辑器的使用,熟练掌握shell脚本编程。

二、实验注意事项

实验室内的实验环境与系统是共用设施,请不要在系统内做对系统或对其他用户不安全的事情。 要求每个同学登录后系统后,要在自己的家目录下创建一个属于自己的子目录(以自己(拼音)名字或学号)。以后所有工作都要在自己的目录内进行。建议以后的实验都在同台计算机上做,这样可以保持连续性。

三、实验内容

1.利用vi 建立一个脚本文件,该文件在用户输入年、月之后,自动打印数出该年该月的日历。然后以3种不同方式执行该脚本,如有不能执行情况,请说明原因。 echo \read year

echo \read month

cal \

2.编程提示用户输入两个单词,并将其读入,然后比较这两个单词,如果两个单词相同则显示“Match”,并显示“End of program”,如果不同则显示“End of program”。 echo \read word1

echo \read word2

if test \then echo \fi

echo \

False If

test-command Ture

then 11 command

图3.1 if…then流程图

3.修改上述程序,编程提示用户输入两个单词,并将其读入,然后比较这两个单词,如果两个单词相同显示“Match”,不同则显示“Not match”,最后显示“End of program”。 <编程提示>请使用 if?then?else 控制结构。 echo \read word1

echo \read word2

if test \then echo \else echo \fi

echo \

4.编程使用case结构创建一个简单的菜单,屏幕显示菜单: a. Current date and time b. User currently logged in

c. Name of the working directory d. Contents of the working directory Enter a,b,c or d:

根据用户输入选项做相应操作。

echo \echo \echo \

echo \echo \read response case $response in a) date;; b) who;; c) pwd;; d) ls;; esac

5. 修改上题,使用户可以连续选择直到想退出时才退出。 echo \echo \echo \

12 12

echo \echo \

echo \while true do

read response case $response in a) date;; b) who;; c) pwd;; d) ls;; e) exit;; esac

done

6. 设计一个程序,从命令行接收数值参数,并计算这些参数的和。 x=10

for y in $* do

x=`expr $x + $y` done

echo \

四、实验报告要求

1.列出调试通过程序的清单,并加注释。 2. 写出程序运行步骤及结果。

3.总结上机调试过程中所遇到的问题和解决方法及感想。

通过这次实验,我基本上掌握了shell的编程,了解和熟悉创建并使用脚本的步骤;

熟悉bash的控制结构;学会简单的shell编程;能够通过编程实现一些功能,学会了Shell的一些控制语句,测试,Shell变量,Shell的特殊字符等。

当然了,在实验的过程中肯定会遇到很多的困难,但是根据老师的给出的指导,根据老师的说明一步一步的做,问题不大,遇到了实在解决不了的问题,我会去请教老师和同学,把问题解决掉。初步学会了Linux下Shell的编程,为以后更加系统的学习Linux打下了坚实的基础!

13 13

实验四 shell编程实验(二)

班级: 姓名: 学号: 上机时间: 任课教师: 实验教师: 实验成绩:

一、实验目的

综合Linux常用命令和vi编辑器的使用,熟练掌握shell脚本编程。

二、实验注意事项

实验室内的实验环境与系统是共用设施,请不要在系统内做对系统或对其他用户不安全的事情。要求每个同学登录后系统后,要在自己的家目录下创建一个属于自己的子目录(以自己(拼音)名字或学号)。以后所有工作都要在自己的目录内进行。建议以后的实验都在同台计算机上做,这样可以保持连续性。

三、实验内容

1. 变写一个脚本,求斐波那契数列的前10项及总和。 num1=1 num2=1

echo -n \sum=2

for((i=1;i<=8;i++)) do

tmp=`expr $num1 + $num2` echo -n \

((num1=num2)) ((num2=tmp)) sum=$(expr $sum + $tmp) done

echo \

fk@ubuntu:~$ cat > fks1 fk@ubuntu:~$ bash fks1

1+1+2+3+5+8+13+21+34+55=143

14 14

2.编写一个脚本,求一个数的逆序。 read match let i=match

while [ $i -gt 0 ] do

let a=i echo -n \let i=i/10 done echo \

fk@ubuntu:~$ bash fk4 1234 4321

3.设计一个Shell程序,在用户主目录下建立一个userdata目录,在此目录下再建立5个目录,即user1~user5,并设置每个目录的权限,其中其他用户的权限为:读;文件所有者的权限为:读、写、执行;文件所有者所在组的权限为:读、执行。(注意:最后删除自己所建立的目录,恢复原样,以便后面同学做此实验)

4.用Shell编程,判断一文件是不是普通文件,如果是将其拷贝到 /home/student/test 目录下,用命令查看test目录内容,最后再删除test目录。

15 15

本文来源:https://www.bwwdw.com/article/blzf.html

Top