Linux 版 (精华区)
发信人: tcpip (偶的昵称改了), 信区: Linux
标 题: MINIX原代码分析之三 文 件 管 理(转寄)
发信站: 哈工大紫丁香 (Sun Feb 27 15:25:42 2000), 转信
发信人: 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.hit.edu.cn.[FROM: bin@mtlab.hit.edu.cn]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.680毫秒