操作系统-实验三
操作系统-实验三
文件系统的用户界面
实验目的
进一步理解、使用和掌握文件的系统调用、文件的标准子例程,能利用和选择这些基本的文件操作完成复杂的文件处理工作。
实验题目
1.编写一个文件复制的C语言程序close(sfd);
close(dfd);
return 0;
}
以下为输出结果:
3、在两个用户的独立程序之间,使用有名管道,重新编写一个C程序,实现题2的功能。
程序:
写管道端
#define BUFSIZE 256
#include <>
#include <>
#include <sys/>
#include <>
int main(int argc, const char *argv[])
{
int writeFifoFd, inputDataFd, n;
char buf[BUFSIZE];
mknod("fifo",S_IFIFO|0666,0);
writeFifoFd = open("fifo",O_WRONLY);
inputDataFd = open("",O_RDONLY);
while((n=read(inputDataFd, buf, BUFSIZE))>0)
write(writeFifoFd,buf,n);
close(inputDataFd);
close(writeFifoFd);
return 0;
}
读管道端
#define BUFSIZE 256
#include<>
int main(int argc, const char *argv[])
{
int readFifoFd, outputDataFd, n;
char buf[BUFSIZE];
readFifoFd = open("fifo",O_RDONLY);
outputDataFd = open("", O_CREAT|O_WRONLY, 0644);
while((n = read(readFifoFd, buf, sizeof(buf)))!=0)
write(outputDataFd,buf,n);
close(readFifoFd);
close(outputDataFd);
return 0;
}
运行结果
Unix实用程序
实验目的
熟悉和掌握Unix的shell命令,正则表达式和过滤器程序的使用。
实验题目
上机练习ls,ln,ln –s,file,chown,chmode,head,taill,find等命令。
,先后键入ls –l和ls –l > 。。两者有何不同?并加以解释。
比较ls,ls *,ls .,ls .* ,ls .?* 这些命令的输出有何不同?
以下两条命令:
mv file1 file2
cp file1 file2;rm file1
的执行效果是否总是相同的?请仔细推敲并上机验证(提示:如是软连接如何)。
在当前的目录树中显示当天修改的c源程序名。
掌握正则表达式的匹配规则,上机练习grep、awk命令。
按相反的次序显示输入行及行号。
统计输入单词的频度。
上机练习df,du,tar命令。
上机练习ps,time,nohub命令。
上机练习compress,gzip和man等命令。
实验结果
上机练习ls,ln,ln –s,file,chown,chmode,head,taill,find等命令。
,先后键入ls –l和ls –l > 。。两者有何不同?并加以解释。
ln:创建软连接;
chown: 更改某个文件或目录的所有者,如:chown
chmod: 设置文件或目录的默认权限的命令,如:chmod a+x
head: 用head命令只显示文件或标准输入的头几行,如:head –n 2
taill: 用户想查看文件的尾部,如:tail –n 2
find:查找文件,如:find /etc –iname passwd
ls –l的结果
******@ub
操作系统-实验三 来自淘豆网m.daumloan.com转载请标明出处.