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毫秒