荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: FreeBSD (FreeBSD), 信区: Linux
标  题: MINIX原代码分析之三 文件管理(转寄)
发信站: BBS 荔园晨风站 (Tue Mar  7 21:52:11 2000), 站内信件

【 以下文字转载自 FreeBSD 的信箱 】
【 原文由 liugang.bbs@smth.org 所发表 】
发信人: tdx (汤大虾), 信区: Linux
标  题: MINIX原代码分析之三 文件管理(转寄)
发信站: BBS 水木清华站 (Sun Feb 27 08:47:56 2000) WWW-POST

MINIX  文 件 管 理

系统调用        作用    备注
fd=creat(name,mode)     在创建一个新文件同时,还以写方式打开    name:文件名
mode::
保护模式
fd=mknod(name,mode,addr)        创建设备文件    name:”/dev/fd0”(设备文件名)

mode:020744(020-字符设备文件名,744-保护模式) addr:0x0402(04-主设备号  02-次
设备号)
fd=open(file,how,…..)  打开一个文件    file:路径名 how:打开方式 (只读:
O-RDONLY  只写:O-WRONLY  可读可写:O-RDWR)
s=close(fd)     关闭一个打开文件
n=read(fd,buffer,nbytes)        从一个文件读数据到一个缓冲区
n=write(fd,buffer,nbytes)       从缓冲区将数据写入文件
pos=lseek(fd,offset,whence)     移动文件指针    fd:文件描述符 offset:文件的位

whence:文件位置相对于文件头、当前位置、文件尾
s=stat(name,&buf)       获取一个文件的状态信息。        stat用文件名来指定文件,
 fstat用文
件描述符来指定文件,则fstat很适合已打开或文件名不可知的文件
s=fstat(fd,&buf)        获取一个文件的状态信息
fd=dup(fd)      为打开文件分配一个新的文件描述符        0:标准输入 1:标准输出
dup的变种
:dup2(fd,fd2) fd:指向一个打开文件 fd2:为一个未使用的文件描述符
s=pipe(&fd[0])  创建一个管道文件        fd[0]:存放供读使用的文件描述符 fd[1]:
存放供
写使用的文件描述符
s=ioctl(fd,request,argp)        对文件进行特殊操作      fd :指定一个文件
request:操作类
型 argp:指定一个POSIX数据结构的地址(包括各种标志和控制字符的数组)
s=access(name,amode)    检查对一个文件是否具有某种访问权限      amode:4-检查读
权限,
2-检查写权限,1-检查访问权限,允许使用这几者的组合,0-检查文件是否存在和所有目
录是否允许查找
s=rename(old,new)       更改文件名
s=fcntl(fd,cmd,……)    可对文件的一部分进行加锁或解锁


--
※ 来源:·BBS 水木清华站 smth.org·[FROM: 166.111.11.183]
--
※ 转载:·BBS 荔园晨风站 bbs.szu.edu.cn·[FROM: 192.168.8.200]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店