UNIX系统管理:系统调用-文件操作

基本上所有的系统调用成功时返回0或正数,失败时返回负值。

文件的创建与删除

create系统调用的格式

#include <fcntl.h>

int creat(path,mode)

const char *path; /*文件路径名*/

int mode; /*文件存取权*/

参数与功能说明:

该调用创建名为path的文件。如果path已存在,则创建文件的进程对文目录应有执行权限, 并且对该文件有写权限。执行成功时,原先path文件的内容被清除,其长度被设置为0,原先文件的 mode,uid,gid被保留,而新指定的mode不起作用。成功时返回文件描述符。

remove系统调用的格式

#include <stdio.h>

int remove(path)

const char *path; /*文件路径名*/

unlink系统调用的格式

#include <stdio.h>

int unlink(path)

const char *path; /*文件路径名*/

参数与功能说明:

一个文件可以有若干个路径名,unlink的作用是删除某个文件的一个名为path 的路径名,并将文件i接点的连接计数减一。当计数为0时,若仍有进程在打开文件,文件不能立即被删除。

文件的打开与关闭

open系统调用的格式

#include <fcntl.h>

int open(path,oflag[,mode])

const char *path; /*文件路径名*/

int oflag,mode; /*打开方式和存取标志*/

参数与功能说明:

按给定的oflag打开path所指定的文件,可选参数mode一般在创建新文件时使用,其意义与creat调用中的mode一样。Oflag可取值为

O_RDONLY,O_WRONLY,O_RDWR,O_NDEALY,O_CREAT,O_TRUNC,O_EXCL,O_APPEND,O_SYNC,成功时返回文件描述符。

close系统调用的格式

#include <unistd.h>

int close(fd)

int fd; /*文件描述符*/

参数与功能说明:

释放指定的文件文件描述符fd,fd意义是用creat.open,dup,fcntl.pipe调用得到的一个文件描述符。

文件的读写操作

read系统调用的格式

#include <unistd.h>

int read(fd,buf,nbytes)

int fd; /*文件描述符*/

char *buf; /*缓冲区地址*/

unsigned nbytes /*要读的字节数*/

参数与功能说明:

执行成功返回读入的字节数。

write系统调用的格式

#include < unistd.h>

int write(fd,buf,nbytes)

int fd; /*文件描述符*/

char *buf; /*缓冲区地址*/

unsigned nbytes /*要读的字节数*/

参数与功能说明:

执行成功返回写入的字节数。

文件的随机存取

lseek系统调用的格式

#include < unistd.h>

long lseek(fd,offset,inter)

int fd; /*文件描述符*/

int offset; /*文件偏移量*/

int inter; /*对文件偏移量的解释*/

参数与功能说明:

调整文件的读写指针,调整方式有inter给出。Inter可选用的值为SEEK_SET,SEEK_CUT,SEEK_END

文件控制

fcntl系统调用的格式

#include < fcntl.h>

int fcntl (fd,offset,inter)

int fd; /*文件描述符*/

int cmd; /*命令*/

int arg; /*参数*/

参数与功能说明:

对打开的文件进行控制。Arg根据不同的cmd取不同的值。可取为F_DUPFD,F_GETFD,F_GETFL,F_SETFL;;F_GETLK,F_SETLK,F_SETLKW。

flock结构如下:

struct flock

{

short l_type;

short l_whence;

long l_start;

long l_len;

short l_pid;

}

时间: 2024-09-29 12:53:48

UNIX系统管理:系统调用-文件操作的相关文章

UNIX系统管理:文件许可权限和存取

完成这一章,你可以做以下的事情: 描述和更改文件的属主和组. 描述和更改一个文件的许可权限. 描述和建立新文件的默认权限. 描述如何更改文件的用户和组的身份. 5.1 文件的权限和存取 存取一个文件需要用户的身份,和与文件相关的权限.这一章会介绍如何存取文件 权限 理解文件的读,写和执行权限 ls (ll,ls –l) 确定文件被赋予的存取权限. chmod 改变文件的存取权限. chown 改变一个文件的属主. umask 改变默认的文件存取权限 chgrp 改变一个文件的组. su 转换你的

Linux文件操作学习:系统调用和标准I/O库

一.什么是文件 在讲述文件操作之前,我们首先要知道什么是文件.看到这个问题你可能会感觉到可笑,因为对于用过计算机的人来说,文件是最简单不过的概念了,例如一个文本是一个文件,一个work文档是一个文件等.但是在Linux中,文件的概念还远不止于这些,在Linux中,一切(或几乎一切)都是文件.文件包括很多的内容,例如:大家知道的普通文件是文件,目录也是一个文件,设备也是一个文件,管道也是一个文件等等.对于目录.设备这些的操作也可以完全等同于对纯文本文件的操作,这也是Linux非常成功的特性之一吧.

Linux下文件操作的主要系统调用,注意要点及说明!

基本上所有的操作系统都会有对文件的操作,也叫文件I/O.除开可以C函数库中基本操作外,所有操作系统都会针对各自的特点重新提供一些操作文件的API,下面描述一下linux下的主要文件操作API. 一.函数名称及格式. creat   函数(相信很多的初学者都会在这个名字上吃点小亏)- 创建文件 int creat(const char* pathname,mode_t mode); /* 返回值 :若成功返回为只写打开的文件描述符,若错误则返回 -1*/ open  函数 - 打开文件 int o

C 和 C++ 文件操作详解

来源:http://www.cnblogs.com/likebeta/archive/2012/06/16/2551662.html 来源:http://www.cnblogs.com/likebeta/archive/2012/06/16/2551780.html C++的文件操作 在C++中,有一个stream这个类,所有的I/O都以这个"流"类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的运算符: 1.插入器(<<) 向流输出数据.比如说系统有一

PHP教程:PHP的目录操作和文件操作

一.引论 在任何计算机设备中,文件是都是必须的对象,而在web编程中,文件的操作一直是web程序员的头疼的地方,而,文件的操作在cms系统中这是必须的,非常有用的,我们经常遇到生成文件目录,文件(夹)编辑等操作,现在我把php中的这些函数做一详细总结并实例示范如何使用.,关于对应的函数详细介绍,请查阅php手册.此处只总结重点.和需要注意的地方.(这在php手册是没有的.) 二.目录操作 首先介绍的是一个从目录读取的函数,opendir(),readdir(),closedir(),使用的时候是

目录,文件操作详谈—php

一.引论 在任何计算机设备中,文件是都是必须的对象,而在web编程中,文件的操作一直是web程序员的头疼的地方,而,文件的操作在cms系统中这是必须的,非常有用的,我们经常遇到生成文件目录,文件(夹)编辑等操作,现在我把php中的这些函数做一详细总结并实例示范如何使用.,关于对应的函数详细介绍,请查阅php手册.此处只总结重点.和需要注意的地方.(这在php手册是没有的.) 二.目录操作 首先介绍的是一个从目录读取的函数,opendir(),readdir(),closedir(),使用的时候是

Java编程那些事儿86——文件操作之File类使用

11.3 I/O类使用 由于在IO操作中,需要使用的数据源有很多,作为一个IO技术的初学者,从读写文件开始学习IO技术是一个比较好的选择.因为文件是一种常见的数据源,而且读写文件也是程序员进行IO编程的一个基本能力.本章IO类的使用就从读写文件开始. 11.3.1 文件操作 文件(File)是最常见的数据源之一,在程序中经常需要将数据存储到文件中,例如图片文件.声音文件等数据文件,也经常需要根据需要从指定的文件中进行数据的读取.当然,在实际使用时,文件都包含一个的格式,这个格式需要程序员根据需要

PHP5教程之文件操作

一.引论 在任何计算机设备中,文件是都是必须的对象,而在web编程中,文件的操作一直是web程序员的头疼的地方,而,文件的操作在cms系统中这是必须的,非常有用的,我们经常遇到生成文件目录,文件(夹)编辑等操作,现在我把php中的这些函数做一详细总结并实例示范如何使用.,关于对应的函数详细介绍,请查阅php手册.此处只总结重点.和需要注意的地方.(这在php手册是没有的.)(www.3lian.com) 二.目录操作 首先介绍的是一个从目录读取的函数,opendir(),readdir(),cl

PHP的目录操作和文件操作

在任何计算机设备中,文件是都是必须的对象,而在web编程中,文件的操作一直是web程序员的头疼的地方,而,文件的操作在cms系统中这是必须的,非常有用的,我们经常遇到生成文件目录,文件(夹)编辑等操作,现在我把php中的这些函数做一详细总结并实例示范如何使用.,关于对应的函数详细介绍,请查阅php手册.此处只总结重点.和需要注意的地方.(这在php手册是没有的.) 二.目录操作 首先介绍的是一个从目录读取的函数,opendir(),readdir(),closedir(),使用的时候是先打开文件