实验三文件系统的用户界面
- 格式:doc
- 大小:29.50 KB
- 文档页数:2
实验六 文件系统的用户界面
(一)实验目的
进一步理解、使用和掌握文件的系统调用、文件的标准子例程,能利用和选择这些基本的文件操作完成复杂的文件处理工作。
(二)实验题目
1.编写一个文件复制的C语言程序:
分别使用文件的系统调用read(fd, buf, nbytes), write(fd, buf, nbytes)和文件的库函数fread(buf, size, nitems, fp), fwrite(buf, size, nitems, fp),编写一个文件的复制程序。
当上述函数中nbytes, size和nitems都取值为1时(即一次读写一个字节),比较这两种程序的执行效率。当nbytes取1024字节,size取1024字节,且nitems取1时(即一次读写1024字节),再次比较这两种程序的执行效率。
2.分别使用fscanf和fprintf,fgetc和fputc,fgets和fputs(仅限于行结构的文本文件),实现上述的文件复制程序。你还可用其他的方法实现文件的复制功能吗?
3.编写一个父子进程之间用无名管道进行数据传送的C程序。父进程逐一读出一个文件的内容,并通过管道发送给子进程。子进程从管道中读出信息,再将其写入一个新的文件。程序结束后,对原文件和新文件的内容进行比较。
4.在两个用户的独立程序之间,使用有名管道,重新编写一个C程序,实现题3的功能。
实验八 Unix实用程序
(一) 实验目的
熟悉和掌握Unix的shell命令,正则表达式和过滤器程序的使用。
(二) 实验题目
1.上机练习ls,ln,ln –s,diff,file,chown,chmode,head,taill, pr,od等命令。
(1) 假定当前目录中没有ls.save文件,先后键入ls –l和ls –l > ls.save两个命令。请将第一个ls命令的输出和第二个命令的输出文件ls.save中的内容作仔细比较。两者有何不同?并加以解释。
(2) 比较ls,ls *,ls .,ls .* ,ls .?* 这些命令的输出有何不同?
(3) 显示某一文件从n1行到n2行的内容。
(4)以下两条命令:
mv file1 file2
cp file1 file2;rm file1
的执行效果是否总是相同的?请仔细推敲并上机验证
2.上机练习 find命令。
(1)在当前的目录树中显示当天修改的c源程序名。
3.掌握正则表达式的匹配规则,上机练习grep,sed,awk等命令。
(1) 按相反的次序显示输入行及行号。 (2) 统计输入单词的频度。
4.上机练习date,df,du,tar命令。
5.上机练习who,ps,time,nohub命令。
6.上机练习compress,gzip命令。
7.上机练习man,cb,history命令。
实验九 软件开发工具
(一) 实验目的
熟悉和掌握unix主要的软件开发工具 vi,cc(或gcc),ar,ld,make,sdb(或gdb),SCCS的使用。重点是make。
(二) 实验题目
课本习题十一(1),(3),(4),(5),(6)。