linux总结应用之四 系统调用函数
2015-08-21 17:35
471 查看
(一):creat 系统调用: 创建文件的系统调用
调用方法:
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
int creat(const char* path,mode_t mode);
其中path是文件描述符,mode是文件的权限.
完全等价于近代的open()调用
fd = open(file,O_WRONLY|O_CREAT|O_TRUNC,mode);
(二):read系统调用:如果该文件是用O_RDONLY或O_RDWR标志打开的
# include <sys/types.h>
# include <unistd.h>
int read(int fd,void *buf,size_t nbytes);
其中fd是想要读的文件描述符,buf是指向内存块的指针,nbytes是要读的个数
(三);write系统调用:
# include <sys/types.h>
# include <unistd.h>
int write(int fd,void *buf,size_t nbytes);
注意:write写入的不是磁盘而是内存缓冲区。write不可能直接写入磁盘。
fd = open(file,O_WRONLY|O_SYNC);
O_SYNC这个标志的效果是使对特定的文件描述符write()系统调用
和相应的实际写磁盘同步,事实上,直到实际写磁盘已经完成,write()系统调用才返回。
调用方法:
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
int creat(const char* path,mode_t mode);
其中path是文件描述符,mode是文件的权限.
完全等价于近代的open()调用
fd = open(file,O_WRONLY|O_CREAT|O_TRUNC,mode);
(二):read系统调用:如果该文件是用O_RDONLY或O_RDWR标志打开的
# include <sys/types.h>
# include <unistd.h>
int read(int fd,void *buf,size_t nbytes);
其中fd是想要读的文件描述符,buf是指向内存块的指针,nbytes是要读的个数
(三);write系统调用:
# include <sys/types.h>
# include <unistd.h>
int write(int fd,void *buf,size_t nbytes);
注意:write写入的不是磁盘而是内存缓冲区。write不可能直接写入磁盘。
fd = open(file,O_WRONLY|O_SYNC);
O_SYNC这个标志的效果是使对特定的文件描述符write()系统调用
和相应的实际写磁盘同步,事实上,直到实际写磁盘已经完成,write()系统调用才返回。
相关文章推荐
- CentOS搭建pptpd服务笔记
- CentOs中iptables配置允许mysql远程访问
- 【开学季】自学嵌入式开发|四核开发板|4412开发板|ARM+Android+linux技术
- 一个Linux下C线程池的实现
- linux多线程
- linux process management
- CentOS 6.5 下yum安装VLC
- linux服务器检测工具
- Linux 自学命令
- Linux下使用rsync
- CentOS 6.5下Rsync远程同步
- 深入理解Linux内核-回收页框
- Linux下编辑利器vim,vimrc,viminfo的高级用法
- Linux GCC常用命令
- linux下布aps.net的项目
- linux系统中的chrome浏览器打开网页韩文字体重叠乱码该怎么办?
- linux 下rsyslog 和 logrotate 的配置
- 关于如何打包java程序(我的是一个聊天服务器),并将jar包部署到远程linux服务器上
- Centos下pure-ftpd安装配置详解
- Linux内核版本不同,导致找不到相关的头文件解决办法