浙江大学Linux程序设计实验报告Word文档下载推荐.docx
- 文档编号:21175005
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:62
- 大小:45.93KB
浙江大学Linux程序设计实验报告Word文档下载推荐.docx
《浙江大学Linux程序设计实验报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《浙江大学Linux程序设计实验报告Word文档下载推荐.docx(62页珍藏版)》请在冰豆网上搜索。
[root@localhostroot]#mkdirkkk
(2)进入目录kkk,并在kkk目录下新建目录kkka,进入kkka目录
[root@localhostroot]#cdkkk
[root@localhostkkk]#mkdirkkka
[root@localhostkkk]#cdkkka
[root@localhostkkka]#
(3)执行命令cd..命令,然后再进入kkka目录,输入命令cd、cd/etc,观察其结果。
[root@localhostkkka]#cd..
[root@localhostkkka]#cd
[root@localhostroot]#cd/etc
[root@localhostetc]#
任务5.掌握cp、ls、mv、chmod、rm命令的基本操作,要求能拷贝文件、新建文件、查看文件的权限、修改文件以及删除文件。
(1)在kkka目录下建立文件
[root@localhostroot]#cd/root/kkk/kkka
(2)查看文件的属性
此时可用命令ls查看
[root@localhostkkk]#ls-l
(6)删除文件与文件夹
删除kkka文件夹下
[root@localhostkkk]#rmdirkkka
查看是否删除了文件夹
[root@localhostkkk]lskkka-l
(7)新建一个linux_d目录,并设置它的权限为666。
(8)在指定的目录中搜索文件,利用find命令搜索含有通配符的文件*.c。
(9)练习命令:
ping\netstat\mount\ifconfig\
(10)在根目录下用find查找.c文件。
(11)练习检查磁盘命令fdisk的使用。
列出结果中有关/dev/sd的磁盘信息。
/sbin/fdisk-l|grep/dev/sd
(12)设置当前的时间为2013年10月01日10点23分。
(13)在后台运行命令gedit,并用命令kill杀死gedit的进程。
(14)检查磁盘,列出目录/dev/sd的磁盘信息。
(15)查找/usr/sbin及/usr/bin/两个目录中所有的C语言程序。
(16)统计当前目录下txt文件的总字节数。
(17)把。
五、实验结果记录
任务2.vi或vim的使用
1
2、输入
任务3.gedit的使用
1、,使用ctrl+h替换,另存为
2、
任务4.掌握mkdir、cd命令的操作
1、输入mkdirkkk新建目录kkk
cdkkk进入kkk文件夹
mkdirkkka新建目录kkka
cdkkka进入kkka文件夹,结果如图
3、输入cd..返回上级目录,cdkkka再进入kkka文件夹
4、
输入cd进入用户主目录,即root文件夹,可使用pwd命令查看当前路径
输入cd/etc进入etc文件夹
任务5.掌握cp、ls、mv、chmod、rm命令的基本操作
1、输入cd/home/brs/work/kkk/kkka即绝对路径
编辑保存后,输入–l查看指定文件详细属性
输入
输入使用ls命令查看是否删除
输入rmdirkkka删除kkka文件夹,再次查看是否删除
3、新建一个linux_d目录,设置权限为使用chmod666linux_d设置其权限为可读可写可执行
5、输入find/home/brs/work/kkk-name*.c在指定目录搜索.c文件
6、
输入find~-name*.c在根目录下搜索.c文件
7、输入ping查看与XX连接情况,使用ctrl+c中断
8、
输入netstat显示各种网络相关信息,如网络连接,路由表,接口状态
输入ifconfig查看网络配置信息,如IP地址
9、mount/dev/sda1/mnt/usb将设备名为sda1的U盘挂载至/mnt/usb
10、
使用umount/mnt/usb卸载U盘
11、输入/sbin/fdisk–l|grep/dev/sd列出有关/dev/sd的磁盘信息,此处使用管道命令|将fdisk的输出作为grep的参数输入
12、
13、:
00"
设置系统时间
14、
15、输入gedit&
在后台运行gedit,此时输入ps查看gedit进程PID号为100963,再输入kill-9100963结束进程。
16、
17、输入find/usr-name*.c查找usr目录下所有.c文件
18、
10、输入wc–c*.txt统计当前目录下txt文件的总字节数
19、输入ps>
sort>
result把ps命令的标准输出结果输入给sort,经过排序后结果被保存到result中
20、
六、实验结果分析
通过使用shell命令可直接完成文件命令操作,文本文件的编辑,并更改简单的系统设置
七、实验心得(思考和意见)
Linux的shell命令让用户可以使用功能强大的命令,完成一些windows上无法完成或繁琐的操作,为以后程序的编写,系统管理提供了便利,我们应熟练掌握这些基础知识。
在学习过程中遇到了不少问题,通过网络得到了解决。
1、soduapt-get命令
在使用vi编辑器时,上下左右按键变成了ABCD,这是由于vi版本号不同所造成的,此时需要使用sudoapt-getremovevim卸载原版vim,再输入soduapt-getinstallvim安装最新版本,便可解决问题。
此外sudoapt-getupgrade用于更新已安装的软件。
3、su命令
以常规用户登录时权限不足,在修改系统文件时会遭到拒绝,此时输入su及root密码可临时切换至root用户,获取最高命令。
5、rmdir命令只能删除空文件夹,若要删除非空文件夹,应使用rm–r
7、开机登陆界面输入密码后无法进入桌面,此时按下ctrl+alt+F1可进入tty命令行,实际上F1-F6对应6个本地命令台,而F7对应图形界面,修改完成后按下ctrl+alt+F7即可返回图形界面。
Linux程序设计实验报告2
——SHELL程序设计1
1.Shell程序设计中变量的使用;
2.理解通道的概念并初步掌握它的使用方法;
3.掌握算术操作、字符串操作、逻辑操作、文件操作;
4.掌握ifthenfi、iftheneliffi、case、while、for等控制语句;
5.在shell脚本中使用函数;
1.观察变量$#,$0,$1,$2,$3,$@的含义
3.顺序、分支、循环程序的设计
4.菜单程序的编写
任务1.调试下列shell程序,写出变量$#,$0,$1,$2,$3,$@的含义。
#!
/bin/bash
echo“程序名:
$0”
echo“所有参数:
$@”
echo“前三个参数:
$1$2$3”
shift
shift3
exit0
修改程序,使用变量$#,程序运行时从键盘输入文件名,判断文件是否存在,如果存在,显示文件内容。
提示:
readDORF
if[-d$DORF]
then
ls$DORF
elif[-f$DORF]
任务2.编写一个shell程序,此程序的功能是:
显示root下的文件信息,然后建立一个kk的文件夹,在此文件夹下新建一个文件aa,修改此文件的权限为可执行。
1.进入root目录:
cd/root
2.
3.显示root目录下的文件信息:
ls–l
4.
5.新建文件夹kk:
mkdirkk
6.
7.进入root/kk目录:
cdkk
8.
9.新建一个文件aa:
viaa#编辑完成后需手工保存
10.
11.修改aa文件的权限为可执行:
chmod+xaa
12.
13.回到root目录:
14.
请修改程序,所建立的目录名从键盘输入,把/root下的所有文件信息保存在aa文件中。
任务3.调试下列shell程序,此程序的功能是:
利用内部变量和位置参数编写一个名为test2的简单删除程序,如删除的文件名为a,则在终端输入的命令为testa。
除命令外至少还有一个位置参数,即$#不能为0,删除的文件为$1。
(1)用vi编辑程序
[root@localhostbin]#vitest2
/bin/sh
iftest$#-eq0
echo"
Pleasespecifyafile!
"
else
gzip$1....+1/n
5.调度下列程序,使用shell编写一个菜单,分别实现列出以下内容:
(1)目录内容、
(2)切换目录、(3)创建文件、(4)编辑文件、(5)删除文件的功能。
在此例中将用到循环语句until、分支语句case、输入输出语句read和echo。
until
(1)Listyouselecteddirectory"
(2)Changetoyouselecteddirectory"
(3)Creatanewfile"
(4)Edityouselectedfile"
(5)Removeyouselectedfile"
(6)ExitMenu"
readinput
iftest$input=6then
exit0
fi
do
case$inputin
1)ls;
;
2)echo-n"
Entertargetdirectory:
readdir
cd$dir
;
3)echo-n"
Enterafilename:
readfile
touch$file
4)echo-n"
vi$file
5)echo-n"
rm$file
*)echo"
Pleaseselected1\2\3\4\5\6"
esac
done
(2)修改以上程序,用菜单形式完成算术四则混合运算。
(3)修改以上程序,用菜单形式完成7种电脑图形游戏。
任务6.调试下列程序
/bin/bash
xx=0
func(){
dire=${PWD%/*}
forfilein$(ls);
do
if[-f“$file”];
then
i=xx
while[“$i”–gt“0”];
do
echo/c“+“
done
echo/c“-“
echo${dire}”/$file”
elif[-d“$file”];
then
cd"
$file"
dire=${PWD%/*}
xx=$(($xx+1))
func;
cd..
fi
done
}
func
分析程序的运行结果,此程序的功能类似于windows的什么命令。
输入参数12345678910结果如下
$#传入的参数个数
$0文件名及路径
$1传入的第一个参数
$2传入的第二个参数
$3传入的第三个参数
$@所有参数
修改程序代码如下
输入文件名输出文件内容,输入文件夹名输出其中文件,若无参数传入,输出提示语句,结果如图
显示root下的文件信息,然后建立一个用户输入的的文件夹,在此文件夹下新建一个文件aa,将/root下的所有文件信息保存在aa中,修改此文件的权限为可执行。
代码如下
输入文件夹名example,结果如下
利用内部变量和位置参数编写一个名为test2的简单删除程序,代码如下
(2)请修改程序,查看回收站中的文件,从键盘输入回收站中的某一文件,把此文件恢复到/home目录下。
(3)删除垃圾箱中的所有文件。
运行结果如下
任务4.调试下列程序,程序的主要思想是用while循环求1到100的和。
(2)用for语句完成以上求和,代码及运行结果如下
(3)计算1+1/2+1/3+1/4+......+1/n,代码及结果如下
(1)目录内容、
(2)切换目录、(3)创建文件、(4)编辑文件、(5)删除文件代码如下
易错知识点:
1、内部参数在shell编程中十分有用,应熟练掌握
$0:
程序所在的路径
$#:
传递给程序的总的参数数目
$?
:
shell程序在shell中退出的情况,正常退出返回0,反之为非0值
$*:
传递给程序的所有参数组成的字符串
2、赋值时等号左右无空格,表达式[expression]判断时左右都有空格,也可使用testexpression
3、使用$(command)格式进行命令替换,如echo$(date)将输出
ThuJul2317:
10:
38CST2015
4、使用’expr$x+$y’来进行数值运算
5、在循环列表中空格表示换行
6、IFS(InternalFieldSeperator)是Linux的shell中预设的分隔符,备份->
替换->
还原
IFSBAK=$IFS(备份原来的值)->
IFS=,(替换)->
IFS=$IFSBAK(还原)
7、使用bc计算器时,用scale=n来精确到n位小数
在shell程序中使用a=`echo”scale=n;
x+y”|bc`来进行运算
Linux程序设计实验报告3
——SHELL程序设计2
1.提高Shell程序编程的技巧;
2.提升综合shell编程能力。
1.菜单的实现
2.遍历所有以该目录为祖先的文件
3.分支与循环、随机数在游戏程序中的应用
4.定时检查存储空间文件的变化
5.消息框程序设计
6.菜单界面程序设计
五、
任务1.编写下列程序。
程序的功能是要实现如下菜单所表示的功能。
请输入您要清空的文件类型
1—文件夹
2—其他文件
3—所有文件
0—没想好,先退出
任务2.调试下列shell程序。
补充完整以下Shell程序,要求输入一个目录名,函数list的功能是遍历所有以该目录为祖先的文件,大致实现命令“ls-R”的功能。
/bin/sh
list()
cd$1
ls-l
foriin$(ls$1)
if[-d$i]
directory="
$1/$i"
Thedirectory$directoryisasubdirectoryof$1,whichincludes:
list$directory
}
任务3.调试下列shell程序,这是一个小游戏,阅读程序,写出这个游戏的玩法。
/bin/bash
foriin$(seq154)#初始化牌
ok[$i]=1
max=0#初始化赢家
foriin$(seq14)#游戏开始
Player$i"
#玩家i的回合
a=$((RANDOM%53+1))#抽牌
while[[${ok[$a]}-eq0]];
a=$((RANDOM%53+1))
ok[$a]=0
if[$a-gt$max];
max=$a
num=$i
HuaSe=$((a%4))#生成花色
case$HuaSein
0)HS='
C'
#草花
1)HS='
D'
#方块
2)HS='
H'
#红心
3)HS='
S'
#黑心
DaXiao=$((a/4+1))#生成牌值
case$DaXiaoin
2|3|4|5|6|7|8|9|10)echo$HS$DaXiao;
11)echo$HS'
J'
12)echo$HS'
Q'
13)echo$HS'
K'
1)echo$HS'
A'
14)echo'
smallJOKE'
#小王
15)echo'
bigJOKE'
#大王
readll
echo"
Player$numwin!
#游戏结果
任务4.编写下列shell程序。
编写一个程序,每隔5分钟检查一下当前用户(假设用户名为liujh)是否有新的邮件,若有则提示用户。
提示题目的关键问题是获取5分钟前后此文件夹的存储容量,如果邮件箱中存储容量发生变化,则可判断有新邮件到达。
提示关键语句:
count1=`ls-l/var/mail/liujh|awk'
{print$5}'
`
echo$count1
sleep300#隔5分钟检测一次
count2=`ls-l/var/mail/liujh|awk'
echo$count2
if[$count1-eq$count2]
任务5.调试下列程序,程序调试后把此程序改写为游戏菜单控制程序。
/bin/sh
dialog--title"
Start"
--msgbox
WelcometotheStartMenu."
Confirm"
--yesno"
DoyouwanttoentertheMenu?
918
if[$?
!
=0];
dialog--infobox"
Welcome!
sleep2
dialog--clear
exit0
fi
if["
$M_O"
="
1"
];
gnome-cd
elif["
2"
gnome-sound-recorder
gnome-volume-control
任务6.调试下列程序。
程序功能是设计了一个简单的调查问卷菜单界面,调查学生一些个人信息。
此程序运用了GUI图形化界面、使用了条件语句,case语句,使用户可以对菜单进行选择,并将选择结果保存在临时文件中,便于进一步操作计算。
程序的源代码为:
gdialog--title"
Questionnaire"
Willyouparticipateinthissurvey?
if($?
=0);
gdialog--infobox"
Thankyou"
sleep1
gdialog--clear
--msgbox"
Thisisasurveyaboutyourpersonalinformation"
gdialog--menu"
$_name,whatisyourmajor?
918
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 浙江大学 Linux 程序设计 实验 报告