Linux实验报告【全集】
实验目录:Linux常用命令、linux下的shell编程、 Linux下的c编程、Linux下的API编程(每个实验的图片都比较多)
一开始实验基本都是书上的例题、后面会变难,做实验时往往会想:为什么每届都做同样的实验,却没有留传下来“成果”?
所以就有了我的“实验报告”博文,写这种博文也挺麻烦的,喜欢的话记得点赞????哦!若是看到报告里蒙混过关的内容烦请纠正。
实验一 Linux常用命令
【实验题目】
Linux常用命令
【实验目的】
熟练掌握Linux常用命令
【实验内容与实现】
1. 使用联机帮助命令,包括man命令和info命令。
图1 使用man ls命令获取ls的联机说明
图2 使用info ls获取ls的联机说明
2. 熟练使用目录和文件操作命令。
(1)使用cd命令改变当前工作目录,使用pwd命令显示当前工作目录的绝对路径。
(2)linux提供的mkdir、rmdir两个命令分别用于创建新的目录、删除空目录。删除非空目录要用到rm命令。要求在某个mkdir、rmdir、rm命令后跟ls(list)命令,列出文件目录,以验证目录创建、目录删除操作是否成功。
3. ls命令用于检视指定目录下的文件列表与文件属性。
(1)回到用户的“家”目录
(2)显示当前目录列表,包括文件名以“.”开头的隐藏文件
(3)给出绝对路径,列出目录/etc下的文件名列表
(4)列出当前目录列表,给出每个文件的类型标记
(5)将家目录(可用符号“~”表示)下的所有文件及详细属性列出来,每行一个文件
(6)显示当前目录(省略目录名为当前目录)下所有文件的文件名及其i节点号(显示于文件名的前面)
(7)显示当前目录下的所有文件
3. 熟练使用文件权限命令。
(1)在/tmp目录下创建文件f52、f521、f522,将文件f522的文件权限更改为777,为所有用户添加对f521文件的读写权限,去掉所有用户对f522文件的写权限。
(2)文件档案归属更改:chown、chgrp
以root身份登录,在/tmp目录下创建文件f53,将其文件主、所属用户组分别更改为can、bin。
4. 熟练运行通配符。
(1)在/tmp目录下创建两个文件ff1和ff2,将所有文件名ff开头,长度为3个字符的文件复制到目录personal中。
(2)删除personal目录下的所有名字以ff开头的文件。
(3)删除personal目录下的所有文件、目录、包括子目录。
5. 熟练使用输入输出重定向和管道命令。
(1)将前一命令给出的passwd联机帮助重定向到文件a,覆盖文件a的所有内容。
(2)将命令date给出的日期时间信息追加到文件a
(3)不带参数的cat命令本来是从终端读取输入,通过输入重定向改从文件读取
(4)将文件/etc/passwd的内容送往命令sort排序输出
(5)find命令在当前用户的家目录树中查找所有文件名后缀为.c的文件信息交由more分页显示
(6)grep命令在当前目录树文件中搜索包含”main()”的文本,交由命令more分页显示
【实验心得】
通过本次试验我熟练掌握了使用联机帮助命令man和info命令来获取相应命令的联机说明,学会使用目录和文件操作命令,同时还会用文件权限管理命令,熟练运行通配符、输入输出重定向和管道命令,受益匪浅。
实验二 linux下的shell编程
【实验题目】
Linux下的shell编程
【实验目的】
掌握shell脚本的设计方法。
【实验内容与实现】
1. 根据提示输入你的用户名和密码,并将结果显示在屏幕上。
2. 对IF行的命令进行测试,如果命令执行成功,则执行then分支的语句序列(“it worked”)。
3. 对IF的命令进行测试,如果在IF行放了一条错误的命令,显示语句序列为”we’re outside of the if statement”
4. if语句行使用grep命令搜索/etc/passwd文件,查看系统是否正在使用某个特定的用户名。如果一个用户拥有该用户名,脚本会显示一些文本,然后列出用户家目录下的bash文件。
5. 定义两个变量val1和val2,比较val1是否大于5,val1是否等于val2,并输出比较的结果。
6. 检查对象是否存在,在使用脚本或目录之前,-e选项能检查它们是否存在。若要确定指定的对象是否为文件,可使用-f选项。
7. 检查文件是否能够运行,请使用-x选项确定是否拥有指定文件的运行权限。
8. 编写程序,使用case语句对指定的不同变量进行模式匹配。
9. 编写程序,请读取列表或变量中的值。
10.编写程序,请读取命令结果中的值。
11. 使用通配符读取目录。
12. 利用一个until循环对一个值为整数的变量做递减运算,并显示运算结果。
13. 使用管道,将cat命令的输出通过管道送给read命令。若输入文件有多行数据要读出来,则将cat输出送往while read命令。
14. 在Shell脚本中调用同一个函数3次,最后打印结果“This is the end of the loop”。
15. 逆序输出一个字符串。
16. 编写一个shell脚本,利用for循环将当前目录下的.c文件移动到指定的目录,并按文件大小显示出移动后指定的目录的内容。
17. 利用数组形式存放10个城市的名字,然后利用for循环把它们打印出来。
实验三 Linux下的c编程
【实验目的】
熟练使用Linux自带系统库,执行教材3.2.4、3.2.5、3.5.1、3.5.2节中的示例程序,对程序进行功能扩充。分别在教材第70-71页、第72-73页、第90-91页、第91页。
【实验内容与实现】
1. 应用time函数,将两次调用的时间相减得到代码的执行时间。
2. 使用qsort函数,对整型数组int num[10]={90,51,32,83,94,45,36,47,28,19}进行排序。
3. 利用linux C程序相关函数展示环境变量的读取方法。
4. 请编写程序演示命令行的读取方法。
5. 用希尔排序法将数组中的数据按由小到大的顺序进行排序
实验四 Linux下的API编程