linux实验答案

发布 2023-04-19 11:09:28 阅读 9046

软件学院实验报告实验题目:shell编程基础。

学号:201200301094(辅修号:)日期:12.21班级:一班姓名:李传祥email:

实验目的:1.掌握引号的使用。

2.理解什么是位置变量参数和特定变量参数。

3.掌握简单的表达式赋值方法,包括expr命令和变量扩展$((

4.掌握test命令的用法,熟悉test命令的字符串操作符、整数操作符、文件操作符和逻辑操作符。5.了解shell控制语句的基本用法。软硬件环境:

版本12.04(precise) 32位。

内核linux 3.2.0-32-genetic-pae

gnome 3.4.2

实验步骤:world”;echo “$string”:echo '$string'; the current work directory is:

`pwd`”;bin;cd /bin;vi param;

4./bin# i=10;/bin# j=5;/bin# echo $(i*5-j));

5.(1)str1=abcd;str2=”abcd”;test “$str1” =str2”;echo $?2)str1=1234;str2=01234;[“str1” -eq “$str2”];echo $?

3)touch aa;[-w aa];test -w aa;echo $?d aa];echo $?4)/bin# [-r aa -a -x aa];/bin# echo $?

6.(1)until who | grep “$1” >dev/nulldo

sleep 60done

2)if[“$#” -ne 1]then

echo “incorrect number of arguements”fi~

3)echo “*1 has logged on***exit 0

一。引号的使用。

1.双引号和单引号的使用。依次输入下列命令:(1) $string =“hello world!”(2)$echo “$string”(3)$echo ‘$string’

比较(2)和(3)的结果,为什么不同?

student@student-lenovo:~$string="hello world"student@student-lenovo:~$echo "$string"hello world

student@student-lenovo:~$echo '$string'$string

答:单双引号意义不同。

2.反引号的使用。进入你的主目录,输入:

echo “the current work directory is: `pwd`”会显示什么结果?解释反引号的作用。

student@student-lenovo:~$echo "the current work directory is:`pwd`"the current work directory is:

/home/student答:反引号括起来的内容被shell解释为命令行。

二。 shell编程。

3.位置变量参数和特定变量参数。验证讲义中param脚本的运行结果。

1)在你的主目录/home/student下建立目录bin,并进入到bin目录。用vi编辑器编辑param脚本,内容如下:echo " script name: "echo $0

echo "show arguments:"echo $*

echo "my process id:"echo $$

echo "did my script go with any errors?"echo $?

2)执行param脚本,显示什么内容?$param hello world

3)结合执行结果,解释脚本中$0,$*的意义。

1)student@student-lenovo:~$mkdir binstudent@student-lenovo:~$cd /bin

student@student-lenovo:/bin$ vi param(2)script name:-bash

show arguments:

my process id:2399

did my script go with any errors?0

0指命令对应的可执行名$*所有参数。

?最后一个程序或指令的执行状态,用数字表示:0表示执行没有错误,其他任何值表明有错误。$$脚本运行三当前shell的pid4.表达式。依次进行以下操作:

1)给变量i赋值为10,变量j赋值为5.

2)分别用算术扩展$((和expr两种方式求表达式i*5-j的值。

命令。1)字符串操作符。依次输入以下命令,并解释执行结果。$str1=abcd$str2="abcd "

test "$str1" =str2"$echo $?

2)整数操作符。依次输入以下命令,并解释执行结果。$str1=1234$str2=01234

[ "str1" -eq "$str2" ]echo $?

3)文件操作符。依次输入以下命令,并解释执行结果。$touch aa$ [w aa ]$test -w aa$ echo $?d aa ]$echo $?

用ls -l命令进行查看,验证上述输出的正确性。

4)逻辑操作符。利用(3)中的文件aa执行如下命令,并解释结果。$[r aa -a -x aa ]$echo $?

1)student@student-lenovo:/bin$ str1=abcd

student@student-lenovo:/bin$ str2="abcd "

student@student-lenovo:/bin$ test "$str1" =str2"student@student-lenovo:/bin$ echo $?1

错误。str1不等于str2

2)tudent@student-lenovo:/bin$ str1=1234student@student-lenovo:/bin$ str2=01234

student@student-lenovo:/bin$ [str1" -eq "$str2" ]student@student-lenovo:/bin$ echo $?0

正确。3)student@student-lenovo:/bin$touch aa

student@student-lenovo:/bin$ [w aa ]student@student-lenovo:/bin$ test -w aastudent@student-lenovo:

/bin$ echo $?student@student-lenovo:/bin$ [d aa ]student@student-lenovo:

/bin$ echo $?0

aa具有可写权限,不是一个目录文件。

4)student@student-lenovo:/bin$ $r aa -a -x aa ]student@student-lenovo:/bin$ $echo $?1

aa具有可读权限,但不具有执行权限。

6. shell控制语句。编写一个脚本,要求如下:

1)把用户名作为输入参数(位置变量参数),每隔60秒检查一次用户是否登陆,直至该用户登陆。(2)如果执行脚本时输入的参数数目不为1,则输出"incorrect number of arguments"提示。

信息,并退出执行脚本。

3)该用户登陆后,显示"the user用户名has logged on"。其中用户名对应于用户执行时输入的参数信息。

提示:1)用[ "# " cne 1 ]测试输入参数个数是否为1

2)用who|grep "^user ">dev/null判断用户$user是否登陆。

3)用sleep 60表示每隔60秒进行某项操作。

结论分析与体会:通过本次实验,对shell的应用与脚本编写有了更深的认识,其次,对shell的基本知识经过这两次的实验已经取得长足的进步,最后,感谢linux给了我一个扩展自己的平台,我会继续努力,争取更大的进步。

Linux实验

大学。实。验。报。告。系班级姓名学号。课程 linux 教师。实验的目的。为了更好的了解和掌握linux操作系统的,和对linux的常见的命令的运用,以及远程的控制,linux服务器的主机,等linux操作系统有关的问题。实验的内容。1.安装虚拟机软件vmware workstation 6.5或更...

Linux实验

实验1 linux在虚拟机上的安装及与宿主机通信。一 实验目的。1 了解虚拟机的安装与使用方法。2 掌握linux 在虚拟机上 的安装过程。3.学习linux图形用户界面和命令行命令的使用。3 掌握虚拟机上的linux与宿主机之间通信的方法。4 为后续的实验准备环境。5.了解linux内核和发行版本...

linux实验

南京信息工程大学实验 实习 报告。实验 实习 名称 linux下shell编程实验 实习 日期得分指导教师 一 实验目的。1.掌握编辑器vi的基本用法。2.练习编写shell程序。二 实验内容及步骤。实验内容 1.编辑器vi的使用方法。2.编写shell程序。实验步骤 1.复制 etc passwd...