当前位置:文档之家› Linux程序设计实验报告.doc

Linux程序设计实验报告.doc

Linux程序设计实验报告Linux程序设计实验报告姓名学号班级指导教师2008年3月实验一Linux基本命令的使用1、实验内容和步骤步骤1以user_login用户身份并使用telnet登录Linux 服务器login (输入username)password (输入密码)步骤2使用新创建的用户账户和口令登录Linux系统,察看登录后的界面。

Adduser tty1 步骤3使用pwd命令,然后用ls命令,使用-a,-l,-F,-A,-lF等不同选项并比较不同之处。

[rootteacher ] pwd /root ls anaconda-ks.cfg Documents install.log.syslog Pictures Videos chapter15 Downloads kk Public Desktop install.log Music Templates ls -a 显示出包含隐藏文件的所有文件ls -F 显示出当前目录下的文件及其类型ls -l 显示目录下所有文件的许可权、拥有者、文件大小、修改时间及名称ls -R 显示出该目录及其子目录下的文件步骤4在当前目录下建立一个名为test的新目录,然后将工作目录切换到test下,尝试将/etc目录下的文件passwd拷贝到该目录下(cp 源文件目的目录)。

察看当前目录下的passwd文件的属主和文件权限。

Mkdir test cp /etc/passwd test ls -l total 4 -rw-r--r--. 1 root root 2755 2010-06-11 1315 passwd 步骤5尝试向当前目录下的passwd文件和/etc/passwd文件分别写入一些新内容,用cat命令浏览文件password的内容,用more命令进行浏览翻页操作,再用less命令浏览文件的内容。

可以cat passwd hello world cat passwd|more hello world cat passwd|lesshello world END 步骤6用ls命令查看test下文件的权限,用mv命令更改文件password的文件名为test.txt,尝试用chown和chgrp更改文件的属主为root、组为root,看看能否成功,不成功,请说明原因。

尝试用chomd将文件权限为“-rw-------”。

ls -l total 4 -rw-r--r--. 1 root root 12 2010-06-11 1318 passwd mv passwd test.txt [rootteacher test] l total 4 -rw-r--r--. 1 root root 12 2010-06-11 1318 test.txt chown test.txt root chown invalid user test.txt chgrp test.txt root chgrp invalid group test.txt chmod 12 test.txt 步骤7用rm命令删除test目录下的所有文件,再用rmdir命令删除test目录。

(想一想有没有一条命令将目录及目录下的所有文件删除,写出这条命令)rm test.txt rm remove regular file test.txt y [rootteacher test] l total 0 步骤8使用ps命令查看当前系统内的进程,并利用man命令获取ps命令的参数,写出获取当前终端进程执行情况的ps命令。

Ps -x 步骤9使用df命令查看当前系统已安装的文件系统的空间使用情况,记录结果。

Filesystem 1K-blocks Used Available Use Mounted on/dev/sda1 20153140 6777992 12351408 36 / tmpfs 250752 272 250480 1 /dev/shm /dev/sda3 10662896 777488 9885408 8 /media/A1C5-D4A0 /dev/sdb1 1917228 1252344 664884 66 /media/FWW 步骤10使用du命令查看用户的工作目录占用了多少空间,记录结果。

9992 ./student/desk/1818/Linux实用教程10344 ./student/desk/1818 10488 ./student/desk 8 ./student/.qt 4 ./student/视频/Webcam 步骤11使用free命令查看内存资源的使用情况,记录结果。

total used free shared buffers cached Mem 501504 495180 6324 0 18112 208092 -/ buffers/cache 268976 232528 Swap 10233364 120184 10113180 步骤12使用man获取tar和gzip 的帮助信息,尝试将test目录下的文件打包并压缩,然后到另外一目录tmp下解包,写出这几条命令。

Tar cvf test *test gzip test gzip -d test 步骤13尝试执行“ls –l tmp”,看看这条命令的执行会出现什么结果,解释一下这条命令。

bash tmp Is a directory 将命令ls –l的结果输出重定向到目录tmp. 步骤14尝试执行find /usr/src -name *.c -print | xargs grep “include”,看看这条命令的执行会出现什么结果,解释一下这条命令。

无结果步骤15执行cal和date命令,说说这两条指令的用途。

May 2010 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 查看日历Sat May 29 124359 EDT 2010 查看系统时间步骤16执行命令clear和logout,退出系统。

(想一想有没有其他的方法,写出这种方法)exit 步骤17执行命令shutdown,关闭系统。

(想一想有没有更简单的命令,写出这条命令)init 0 3、实验结论通过此次试验,进一步学习和掌握Linux的基本命令,收获颇多。

实验二简单Shell程序设计1、实验内容和步骤步骤1以root用户身份登录进入Linux 系统。

步骤2启动Vi,切换到输入模式,输入一段英文This ia an exercise We use Vi to edit it. Left,down,up,right 步骤3尝试匹配其中的一串字符,写出这命令及执行结果。

grep an kk This ia an exercise 步骤4尝试替换其中的一串字符,写出这命令及执行结果。

1. s/is/are/g Thare ia an exercise We use Vi to edit it. Left,down,up,right 步骤5尝试复制/删除其中的一行或几行文本,写出命令及执行结果。

2yy p 复制2行粘贴dd 删除行步骤6尝试复制/删除其中的一个单词或几个字符,写出命令及执行结果。

d w 删除到某个单词的结尾位置d 3 w 删除到第三个单词的结尾位置y w p删除到某个单词的结尾位置y 3 w p 删除到第三个单词的结尾位置步骤7尝试使用鼠标复制文本,写出命令及执行结果。

Ctrl c 步骤8尝试存盘退出操作,写出命令。

wq 2.2 简单的shell程序步骤1使用Vi将程序清单2-1的程序输入。

步骤1使用Vi将程序清单2-1的程序输入。

步骤2尝试运行该程序,如果不能运行,原因是什么,怎样修改。

Chmod 777 2-1 ./2-1 步骤3执行程序,写出程序的执行结果。

--------------------------------------------------------------------- Userroot Hostlocalhost Date29/05/10 --------------------------------------------------------------------- 1 List subdirectory in current directory 2 List files in current directory which can run 3 See who is on the system H Help screen Q Exit Menu -------------------------------------------------------------------- Your Choice [1,2,3,H,Q] 1 chapter14 chapter15 Desktop Documents Downloads kk Hit the return key to continue Your Choice [1,2,3,H,Q] 3 there are 3 users online who are root root root Hitthe return key to continue 步骤4阅读程序,掌握shell函数的编写方法,补全函数file_run。

步骤5修改程序中的函数uers,使得显示在线用户时不分行。

(提示可以使用循环,对每个在线用户分别处理。

)for name in who | awk {print 1} do printf “name “ done printf “\n“ Your Choice [1,2,3,H,Q] 3 there are 3 users online root root root 实验三Linux下简单C程序设计与文件操作1、实验内容和步骤步骤1使用Vi将程序清单3-1和3-2的程序输入,并在当前目录下创建文件“file.in”和文件“file.out”,尽可能的使文件“file.in”大一些。

步骤2利用gcc分别编译这两个程序,写出编译命令和执行结果,如果不成功,尝试利用gdb调试。

Gcc -o 3-1 3-1.c 步骤3仔细观察这两个程序,比较标准C的文件操作和Linux的系统调用open、read、write等的使用区别。

Open与fopen的参数有差别了。

open的打开模式是以O_RDONLY,O_WRONLY,O_RDWR.三种方式,fopen以“W”“r””w””r””rb””wb””ab”等多种方式。

相关主题