Unix/Linux下文件基本操作
			
			
				时间:2014-11-18 15:06来源:未知 作者:众诚志联撰 点击:次
            	比较重要的设备文件有三个,它们是/dev/console、/dev/tty 和 /dev/null 1,/dev/console设备:系统控制台,出错和诊断信息通常会被发送到这个设备。 2,/dev/tty设备:进程控制终端的一个假名。 3,/dev/null:空设备,所以写向这个设备的输出都将被丢弃。而
			
			
				        比较重要的设备文件有三个,它们是/dev/console、/dev/tty 和 /dev/null 
1,/dev/console设备:系统控制台,出错和诊断信息通常会被发送到这个设备。 
2,/dev/tty设备:进程控制终端的一个假名。 
3,/dev/null:空设备,所以写向这个设备的输出都将被丢弃。而读这个设备会立刻返回一个文件尾标志。 
文件的系统调用函数: 
文件描述符: 
0:标准输入; 
1:标准输出; 
2:标准错误; 
open系统调用: 
建立一条到文件或者设备的访问路径,如果操作成功,它将返回一个文件描述符,后续的read,write等系统调用就将使用该文件描述符对打开的那个文件进行操作。 
int open (const char *path,int oflags); 
int open (const char *path,int oflags,mode_t mode); 
oflags参数是通过把要求的文件访问模式与其它可选模式按位or得到的。 
文件访问模式:O_RDONLY(只读)O_WRONLY(只写)O_RDWR(读写) 
其它可选模式: 
O_APPEND(把写入的数据追加在文件的末尾) 
O_TRUNC(把文件的长度设置为0,丢弃其中现有的内容) 
O_CREAT(按mode中给出的模式创建文件) 
O_EXCL(与o_creat一起使用,如果文件存在,open操作失败) 
mode参数: 
S_IRUSR:读权限,文件属主 
S_IWUSR:写 
S_IXUSR:执行权限,文件属主 
S_IRGRP:读 
S_IWGRP:写 
S_IXGRP:执行权限,文件所在分组 
S_IROTH:读 
S_IWOTH:写 
S_IXOTH:执行权限,其它用户 
如: 
open ("myfile", O_CREAT, S_IRUSR | S_IXOHT); 
创建一个名为myfile的文件,文件的属主拥有它的读操作权限,其它用户只能执行。Mode会受umask决定。(chmod umask myfile) 
close系统调用: 
终止一个文件描述符fildes与它文件之间的关联。 
   |