首先需要问的是Linux中有没有像java doc 那样的API查看文档呢?
结果是肯定的,查看方法有二:
1.在命令行用man XXX 查看即可 ,按q退出。如查看open()函数,man open 即可,按空格键查看下一页;
2.也可登录Linux man-pages主页查看:http://man7.org/linux/man-pages/dir_all_alphabetic.html,在这里我们可以查看到所有的API接口;
系统调用方式的文件操作主要用到的函数有如下几个:
1.open SYNOPSIS top
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
int open(const char *pathname, int flags);
int open(const char *pathname, int flags, mode_t mode);
int creat(const char *pathname, mode_t mode);
函数返回的是一个非负整数作为文件描述符,而该描述符的范围是0-OPEN_MAX,该描述符用于下面将要介绍的read,write等函数中作为输入参数,所以一般都要用变量把文件描述符存储起来。
pathname是要打开或创建的文件名,flags参数用于指定文件的访问方式且只能为:O_RDONLY,O_WRONLY, O_RDWR中的一个或多个(必须),当然还可以或上别的参数如O_APPEND等(可选),具体查看文档。
2.creat
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
int open(const char *pathname, int flags);
int open(const char *pathname, int flags, mode_t mode);
int creat(const char *pathname, mode_t mode);
3.close
#include <unistd.h>
int close(int fd);
fd是所要关闭的文件描述符.
4.lseek
SYNOPSIS top
#include <sys/types.h>
#include <unistd.h>
off_t lseek(int fd, off_t offset, int whence);
若成功则返回新的文件偏移量,出错则返回-1; offset 与whence相关,其中whence可取值为:
SEEK_SET 文本开始处
The offset is set to offset bytes.
SEEK_CUR 当前值
The offset is set to its current location plus offset bytes.
SEEK_END 文本结尾处
The offset is set to the size of the file plus offset bytes.
5.read
SYNOPSIS top
#include <unistd.h>
ssize_t read(int fd, void *buf, size_t count);
若成功则返回读到的字节数,若已到文末返回0,出错返回-1; void * 表示普通指针 buf保存读取数据,count 读取字节数;
6.write
SYNOPSIS top
#include <unistd.h>
ssize_t write(int fd, const void *buf, size_t count);
分享到:
相关推荐
【linux学习笔记-10】Linux进程相关系统调用(三).doc 【linux学习笔记-11】守护进程daemon.doc 【linux学习笔记-12】守护进程的日志实现.doc 【linux学习笔记-13】基本进程通信--文件锁.doc 【linux学习笔记-14】...
【linux学习笔记-3】文件操作(stat,chmod,umask) 【linux学习笔记-4】进程扇和进程链 【linux学习笔记-5】编写自己的ls命令 【linux学习笔记-6】文件IO操作--读写、重定向等 【linux学习笔记-7】用户标识UID与有效...
Linux系统编程涵盖了众多领域,从基础的文件操作到高级的网络通信和多线程编程,为开发者提供了广泛的功能和灵活性。在这个领域工作的开发者需要深入了解Linux内核和系统底层的工作原理。 Linux 系统编程是指在 ...
普通文件:包括文本文件、数据文件、可执行的二进制程序等。 目录文件:简称为目录,Linux 中把目录看成是一种特殊的文件,利用它构成文件系统的分层...当调用符号链接文件时,系统自动地访问保存在文件中的路径;
Linux C 指针 结构体 库函数文件操作 系统调用文件操作 函数库设计 makefile编写
sockfd:是由socket调用返回的文件描述符. addrlen:是 sockaddr结构的长度. my_addr:是一个指向 sockaddr的指针. 在<linux/socket.h>;中有 sockaddr的定义 struct sockaddr{ unisgned short as_family; char ...
第一章UNIX操作系统概述 1983年AT&T发布UNIX System V,系统功能已经趋于稳定和完善,现在最后版本为System V Release 4 代表性UNIX版本: 1.System V Release 4 (SVRV) 小型机上、大型机上使用。 2.加州大学...
Woodhull的《操作系统:设计与实现》来学习操作系统的读者,本书尤其适合作为你的引路书籍,因为它翔实地介绍了初学者入门时所必需的知识积累,而这些知识在《操作系统:设计与实现》一书中是没有涉及的,笔者本人...
Woodhull的《操作系统:设计与实现》来学习操作系统的读者,本书尤其适合作为你的引路书籍,因为它翔实地介绍了初学者入门时所必需的知识积累,而这些知识在《操作系统:设计与实现》一书中是没有涉及的,笔者本人...
1.2.3 操作文件命令 10 1.2.4 目录处理命令 14 1.2.5 查看文件内容命令 15 1.3 监控程序 20 1.3.1 进程查看 20 1.3.2 实时进程监控 22 1.3.3 停止进程 24 1.4 监控磁盘空间 25 1.4.1 挂载介质 25 1.4.2 使用df命令 ...
c#学习笔记(1) 51099在线学习网发布 文章来源:网络收集 发布时间:2006-05-25 字体: [大 中 小] 51099在线学习网 http://www.51099.com 1, 结构(struct) 与 类(class) [attributes] [modifiers] struct ...
里面是我学习NAO的经验总结,主要内容有 1、Ubuntu下NAO环境配置 ...如果你是学习NAO机器人一员,这将加快你对nao机器人的了解与开发,本文章同样使用于linux下opencv的学习者,帮助其快速解决编译问题!
脚本执行方式: 1、echo 输出命令 echo [选项] [输出内容] #选项:-e:支持反斜线控制的字符转换 \e[1;31m 开启颜色显示,结尾要加上 \e[0m 2、创建shell脚本文件hello.sh:脚本第一行写上#!bin/bash 例: #!bin/...
2.14 Java系统API方法调用 14 2.15二进制基础 14 2.16 Java基础其他注意事项 14 面向对象 16 3.1类 16 3.2对象 16 3.3包 16 3.4方法及其调用 17 3.5引用 17 3.6访问控制(封装) 17 3.7构造器 17 3.8 super()、super...
本人学习的国嵌笔记。操作详细! 第一季 精通嵌入式 4 一. 安装tftp服务器 4 二. Samba服务器安装 4 三. NFS服务器 5 四. 安装vsftpd FTP...五、系统调用之文件描述符 22 六、库函数文件编程 22 七、时间编程 22
word源码java CTF Blog 由于不再从事安全方面的学习,此repo停止更新 2月28日 更新 STL String 应用:VSCode调用WSL编译运行单...3.对参数argv[1]的操作:将Windows文件路径转换为Linux格式 C:\Project\Project1\mai
{7.1}Java的文件系统管理}{103}{section.7.1} {7.2}回调模式与FileFilter}{104}{section.7.2} {7.3}\ttfamily RandomAccessFile}{106}{section.7.3} {7.4}基本类型数据序列化}{108}{section.7.4} {7.5}String的...
百度地图开发java源码 1 开始网络编程 1.1 理解网络编程和套接字 linux 头文件 #include windows ...基于linux平台的实现 网络编程结束连接请求的套接...linux不区分文件和套接字 打开文件 #include #include <sys/st
│ 淘淘商城第七天笔记.doc │ ├─08.第八天 │ 14.搜索服务切换到集群.avi │ 01.课程计划.avi │ 02.课程计划.avi │ 03.搜索服务-分析.avi │ 04.搜索服务-dao层.avi │ 05.搜索服务-Service.avi │ 06.搜索...