Linu实验报告.docx

上传人:1564****060 文档编号:94925850 上传时间:2023-08-12 格式:DOCX 页数:41 大小:4.90MB
返回 下载 相关 举报
Linu实验报告.docx_第1页
第1页 / 共41页
Linu实验报告.docx_第2页
第2页 / 共41页
点击查看更多>>
资源描述

《Linu实验报告.docx》由会员分享,可在线阅读,更多相关《Linu实验报告.docx(41页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、Linux 根本命令及其使用试验目的:1. 理解Shell 命令的运行;2. 把握Linux 根本命令的使用;3. 通过对现象的观看、总结与思考,理解 linux 命令的学习方法;试验步骤:1. 进入名目,然后显示当前名目全路径。2. 在当前名目下建立 lab1 子名目,进入 lab1。3. 执行echo “hello world”my.txt,使用ls -l 查看当前名目下的文件信息。再执行 echo “hello world” my.txt。比照这些结果,说明的作用与功能。echo “hello world” my.txt将字符串输出重定向,当前名目没有 my.txt,则创立 my.txt

2、, 并将字符串输出到 my.txt 文件中my.txt 内容:hello worldecho “hello world” my.txt将字符串“hello world” my.txt 输出到屏幕4. 再次执行 echo “hello world”my2.txt,使用 cat 命令查看my2.txt 文件内容。又执行 echo “hello world”my2.txt,再次使用cat 命令查看 my2.txt 文件内容。比照分析两次 cat 内容的差异,答复的功能与作用。执行echo “hello world”my2.txt 后将字符串“hello world”追加到 my2.txt 文件中5.

3、 使用ls 显示当前名目下的文件名,比较 ls -a 以及ls-A 结果的区分。比较 ls -l 与ls -li 的区分ls -l 将文件的具体内容列举出来ls -li 在-l 的根底上增加了每个文件的 inode 号 ,inode 相当于索引节点操作系统用 inode 号码来识别不同的文件6. 输入who,执行,依据显示信息分析 who 命令的可能 功能。显示系统中有哪些使用者正在上面,显示的资料包含了使用者 ID、使用的终端机、从哪边连上来的、上线时间、呆滞时间、CPU 使用量、动作等等7. 在当前名目下建立mydir 名目,将以上的my2.txt 拷贝到mydir 名目下。在当前名目下查

4、看 mydir 名目下的文件具体信息长格式。这过程中你遇到了什么问题,后来如何解决的。8. 使用 rm 命令删除 mydir 名目。写出完整的命令格式是.这过程中,你遇到了什么问题,后来如何解决的。rm -r mydir/直接 rm mydir 会出错需要加上参数-r 表示递归删除用于删除名目9. 执行 date 命令。比照输出结果,说明该命令的功能。date 用于显示当前时间10. 执行 cal 命令。比照输出结果,说明该命令的功能。cal 显示当前的日历11. 执行 ls-Rl /usr/include 命令的结果是什么。依据该结果分析一下 R 在ls 命令中作用。将 /usr/inclu

5、de 名目以下所知名目及文件具体资料列出-R 假设名目下有文件,则以下之文件亦皆依序列出12.学习 findfind 是在名目构造中按条件搜寻文件,并可以执行指定的操作。命令格式:find起始名目optiontests操作起始名目:在什么名目及其子名目下查找option:选项tests:查找条件13.-name 表达按名字查找.使用文件名匹配模式表达条件,如”*.txt”留意引号去掉,有的系统会出错;该命令查找试验平台,根名目/下文件名以.txt 结尾的文件,有很多结果14.-user 依据文件属主来查找文件;该命令查找试验平台,根名目/下属于 root 的文件属主,有很多结果15.这些测试条

6、件可以依据与、或非进展组合的:!或-not:表示规律取反,测试为真时,取反后为假,测试为假时,取反后为真,在/名目下查找文件名不以.txt 结尾的文件,该命令结果很多,-a 或-and:表示与,该符号前后的两个测试都必需为真,结果才为真该命令查找根名目下属于 root 用户属主以及文件名以.log 结尾的文件名-o 或 or:表示或,该符号前后的两个测试只有有一个为真,结果为真16.起始名目:在什么名目及其子名目下查找进入终端后,再运行比较这些命令结果,也就是起始名目假设不写,即表示为当前名目“.” 17.-maxdepths :最多搜寻名目层次-maxdepths N:最多搜寻 N 层名目,

7、仅仅在起始名目下按条件查找这样表达:-maxdepths1这是仅仅在根名目下但不在其子名目下查找 root 用户全部属主并且文件名以.log 结尾的文件18.预备:进入终端后,cd ,接如下:这样就生成了一个 my.txt 文件以备后面使用。使用 cat 命令查看该文件内容:19.学习 grepgrep 是 UNIX 和 LINUX 中使用最广泛的命令之一。grep全局正则表达式版本允许对文本文件内容进展模式查找。假设找到匹配模式, grep 打印包含模式的全部行。grep 支持根本正则表达式,也支持其扩展集。根本格式:grep option PATTERN FILES PATTERN:行首$

8、:行尾.:任意单个字符 :表示一个字符匹配的范围,如a-e;或者如a-e,表示取反,也就是不匹配的意思option:选项-c 只输出匹配行的计数;-i 不区分大小写只适用于单字符;-n 显示在原文件中的行号;-s 不显示不存在或无匹配文本的错误信息;-v 显示不包含匹配文本的全部行;20.这是在 my.txt 文件中查找以 l 开头的行,查找结果中显示其在原文件中的行号。这是在 my.txt 文件中查找不以 l 开头的行,查找结果中显示其在原文件中的行号。21 这是在 my.txt 文件中查找以r 结尾的行,查找结果中显示其在原文件中的行号。22.(学习 tar)格式:tar 选项 文件或者名

9、目将多个文件或名目打包,也可以进展压缩。tar 命令同样也可以复原打包文件。使用该命令时。 常用选项有:-c :创立的包文件打包-x :从包文件中释放文件解包-f:使用打包文件或设备,这个选项通常是必选的-z:用 gzip 来压缩/解压缩文件。23.预备,进入终端后,cd ,进入名目,再进入 mytest。24 打包25 解包一在/tmp 名目下建立 backup 子名目,将刚刚创立的 mybackup.tar 包文件拷入该backup 名目下,进入该 backup 名目。再用 tar 解包。用 ls 命令查看当前名目下的文件,正是我们刚刚打包的那两个文件子名目及其包含的文件。26.进入 my

10、backup.tar 所在名目。建立解包后,文件放在的名目/tmp/mybackup。使用 tar 命令解包。27 翻开终端,进入 cd 进入名目。找一个打包名目,如 mytest,打包并压缩。使用 z 选项压缩包,包文件名字后面有.gz 后缀。28.建立/tmp/backup3 名目,将 mytest.tar.gz 解包并加压缩到该名目下。Linux Shell 根本程序设计试验目的:4. 理解 Shell 程序的分支、循环构造,能进展根本分支、循环程序设计;5. 通过对现象的观看、总结与思考,理解 linux 命令的学习方法;6. 学习 VI 的复制黏贴等根本使用方法。试验步骤:一、VI

11、的使用Vi 是 Unix 平台下元老级的文本编辑器,也是linux 常用的一个编辑软件。有三种工作模式:normal 模式:这是当进入 Vim 时,默认的模式。在此模式下,无法输入任何文字,不过可以利用按键命令来执行很多操作命令,例如复制、粘贴以及删除等。insert 模式:进入 vim 后,按a,i 或者 o 键,即可进入该模式。该模式下才可以输入文字内容。按 Esc 键进入 normal 模式。command-line 模式:normal 模式下按”:”键即进入的模式。该模式下,可以做一些和输入文字无关的事。比方搜寻字符串,保存文件或者完毕编辑。1. 用 cd,进入名目,用 mkdirla

12、b2 在名目下建立上机 2 的名目, cd lab2 进入该名目。2. 用 vi myvi.sh 命令对开头对 myvi.sh 文件的编辑。进入后,默认是 normal 模式, 按 i 键进入插入 insert 编辑模式,将以下程序输入 myvi.sh 文件中。#!/bin/shecho “Original parameters are $*“ if-z“$1“thenecho “Hi $1, nice name“ elseecho “Never mind“fi exit 0输入过程中,可以通过 command-line 模式下的w 命令保存:在编辑模式下按 Esc 切换到 normal 模式

13、,再按:切换到在 command-line 模式,再按w,再按回车即可保存。保存后,再按a 键回到 insert 插入编辑模式连续后续输入比较按 a 键与按 i 键回到插入编辑模式的异同。3. 输入完毕后,可以通过command-line 模式下的 wq 命令保存并退出 vi:在编辑模式下按 Esc 切换到 normal 模式,再按:切换到在 command-line 模式,再按 wq, 再按回车即可保存并退出。退出后,通过vi myvi.sh 命令可以再次用vi 翻开myvi.sh 文件,翻开后也可再按o 键回到 insert 插入编辑模式连续后续修改与输入比较按 a、i、o 键切换到插入编

14、辑模式的异同。(1) 用 vi myvi.sh 翻开 myvi.sh 文件,进入 vi。假设不在 normal 模式,需要切换到 normal 模式,如按 Esc 键切换到 normal 模式,将光标移到倒数其次个else 行,按下 dd,删除一行。再将光标移到 else 行,按下 p 键。(2) 此时再将光标移到倒数第三个 echo “Never mind“行,依次按下 4 dd,如以以下图。最终切换到 command-line 模式,用 wq 命令保存退出。6.行定位。用 vi myvi.sh 翻开进入 vi 后,在 command-line 模式下,输入 set number, 按回车后

15、可以设置并显示翻开文件的行号,如以以下图。在 normal 模式下,按下行号,再按下 G,光标可以定位到行号所在行,如按下 3G,如以以下图。7.VI 的有全局替换命令。在 command-line 模式下在插入模式时,按 Esc,再按:, 可以切换到该模式,如下命令将文中的全部 Mind 替换为 mind。需要替换时, 可依据这个命令格式,更换 Mind 以及 mind 字符串即可。g/Mind/s/mind/g8. VI 使用练习1将以下三行内容输入到 lab2 名目下的 myh.sh 文件;I am a student from anhui university of technolog

16、y. I major incomputer science.Iam a freshman.截图如下:(2)将以上全部内容复制粘贴 20 遍后,保存退出。内容如下:I am a student from anhui university of technology. I major incomputer science.Iam a freshman.I am a student from anhui university of technology. I major incomputer science.Iam a freshman.截图如下:(3) 删除第 20、35 行,保存。留意,一由于用

17、 Vi 编号后,用 dd删除一行后,行号会依序变换,因此,先删除第35 行,再删除第 20 行;二删除一行后,不要留下空行。截图如下:二、Shell-if 分支Shell 的 if 完整构造如下:if条件 1#假设条件 1 为真then#那么命令 1#执行命令 1elif条件 2#假设条件 1 不成立,条件 2 成立then#那么命令 2#执行命令 2else#假设条件 1,2 均不成立命令 3#那么执行命令 3fi#完成其中 elif 以及 else 分支可以没有。if 以及 fi 是必需的。if 构造也可以嵌套,if 构造里面包含内层 if 构造。用 vi 翻开 myif.sh 输入以下程

18、序,并保存退出。:符号在 Shell 中表示真true。Vi 创立的文件默认没有执行权限,可以这样执行 Shell 程序:/bin/shmyif.sh也可以给文件创立者既文件拥有者加上执行权限,再执行。1. 常用 Shell 的数学测试条件如下:-eq 数值相等。-ne 数值不相等。-gt 第一个数大于其次个数。-lt 第一个数小于其次个数。-le 第一个数小于等于其次个数。-ge 第一个数大于等于其次个数。条件测试命令是 test,或.调试以下 mymath.sh 程序,是当由 Shell 传送的位置参数$1 大于 50,就输出$1+$2,否者输出$1-$2.其中,$#表示传入的参数总数。比

19、方用命令 chmod u+x mymath.sh 给 mymath.sh 加上x 权限后,./mymath.sh 50 30 来运行 mymath.sh 时,就是传送了 50 与 30 作为参数。2. Shell 常用的文件测试如下:-d:名目为真-f:一般文件为真-r:可读为真-s:长度不为 0 为真-w :可写为真-x:可执行为真调试以下 myfile.sh 程序,给文件创立者既文件拥有者添加执行权限后 输入 ./myfile.sh/usr/bin 运行,它的运行结果是什么?3. Shell 中的常用字符串测试条件如下:= 两个字符串相等。!= 两个字符串不等。-z 空串。-n 非空串。以

20、下 mystr.sh 程序是比较两个字符串是否相等,改正其中的错误,使得它的输出结果正确。4. if 分支练习。在 lab2 名目下编写一个 Shell 程序,文件名为 myifhomework.sh。该程序实现将当前名目下的 myif.sh 拷贝到当前子名目mytest 名目下。请不要在 mytest 名目放其它任何内容。具体要求如下:(1) 推断当前名目下是否有 mytest 名目,可能需要用到-d 条件测试;(2) 假设没有 mytest 则建立该名目,可能要用到 mkdir 命令;(3) 将当前名目下的 myif.sh本次试验创立的 myif.sh拷贝到 mytest 名目下, 文件名

21、照旧叫做 myif.sh;程序截图,运行结果截图。三、While进入试验平台,翻开终端后,cd 进入名目,cdlab3 名目进入 lab3 名目假设没有 lab3 名目,需要使用 mkdir lab3 建立 lab3 名目后,再进入。(1) 在 lab3 名目下,编写以下 mywhile.sh 程序。编写完后,使用命令 chmod u+x mywhile.sh 修改执行权限,运行后,它的输出是什么?(2) 在 lab3 名目下使用 while 循环编写 mywhilehomework.sh 的程序,将 mystu.db 文件内容读出来显示在屏幕显示器上。mystu.db 文件内容有三行内容如下

22、:Zhangsanm19Lisif20Wangwum19程序截图,运行结果截图如下。四、For进入试验平台,翻开终端后,cd 进入名目,mkdir lab3 建立 lab3 名目后, cdlab3 名目进入 lab3 名目。Shell 的 for 构造如下: for 循环变量 in 值列表do命令 1 命令 2done其中:do 与 done 之间是循环体;列表中的值依据从左向右的次序,依次赋给循环变量,每赋值一次,执行一次循环体;变量可以在循环体使用;1在 lab3 名目下,编写以下myfor.sh 程序。编写完后,使用命令chmod u+x myfor.sh 修改执行权限,运行后,它的输出

23、是什么?留意:值列表局部中没有引号2. Shell 的值列表除了可以直接列出值之外,还可以将命令的结果作为值列表。如, 在 for 的值列表局部使用反引号一般与是一个按键执行命令字符串,向标准输出设备输出结果就成为了 for 循环的值列表局部。for 循环变量 in 命令字符串#留意这是反引号do命令 1 命令 2done1在lab3 名目下,编写以下 myfor2.sh 程序。编写完后,使用命令 chmod u+x myfor2.sh 修改执行权限,它的输出是什么?3. for 练习。在 lab3 名目下使用 for 循环编写 myforhomework.sh 的程序, 打印九九乘法表。程序

24、截图,运行结果截图。while 循环会将每行的内容读入到line 变量;for 循环中,将读入的内容以IFS(shell 中的环境变量,Internal Field Seperator,字段分隔符)为界分隔, 然后将各个分隔开的内容,逐一读入变量 line。本质上说,for 循环读取的是字段,只不过可以设置 IFS 为n 这样能够逐行读取7. Linux Shell 中,for 与 while 有和异同。while 循环会将每行的内容读入到line 变量;for 循环中,将读入的内容以IFS(shell 中的环境变量,Internal Field Seperator,字段分隔符)为界分隔, 然

25、后将各个分隔开的内容,逐一读入变量 line。本质上说,for 循环读取的是字段,只不过可以设置 IFS 为n 这样能够逐行读取目的:Shell 函数以及 Shell 综合练习1. 理解 Shell 函数的定义、调用2. 理解基于函数的 Shell 程序构造3. 以简洁的学生信息治理为根底,根本初步的综合 Shell 根本命令以及 Shell 程序训练内容:以学生信息姓名、学号、年龄、专业、性别治理为背景,将学生信息保存在文件中,可以对学生信息进展增、删、改以及查等操作。步骤:1. 定义选择菜单函数2. 定义增加学生信息函数3. 定义更学生信息函数4. 定义删除学生信息函数5. 定义显示学生信息函数6. 主程序中调用以上函数,建构简洁学生信息治理程序试验总结通过本次试验,让我学习到了很多关于 linux 的东西,进一步生疏了 linux 的工作原理,了解了什么是 shell,以及它的功能和种类,理解了 shell 程序的设计方法, 并生疏了 shell 程序编程、运行、调试方法与过程,把握了 Linux 常用命令的功能和使用,为我以后连续深入学习 Linux 课程打下根底。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com