Linux特点:linux下一切皆文件
文件分类:
1,普通文件。计算机用户和操作系统用于存放数据、程序等信息的文件,一般都长期存放在外存储器中,普通文件一般又分为文本文件和二进制文件
2,目录文件。目录文件只允许系统进行修改,用户可以读取目录文件,但不能对他们进行修改。
3,设备文件。Linux把所有的外设都当作文件来看待,每一种I/O设备对应一个设备文件并存放在/dev目录中。
4,管道文件。主要用于在进程间传递数据,管道是进程间传递数据的媒介。
5,链接文件。又称符号链接文件。它提供了共享文件的一种方法。
通过ls -l 指令可以查看文件类型和文件属性。
- 表示普通文件
d 表示目录文件
l 表示链接文件
c 表示字符设备
b 表示块设备
p 表示管道文件
f 表示堆栈文件
1,普通文件。计算机用户和操作系统用于存放数据、程序等信息的文件,一般都长期存放在外存储器中,普通文件一般又分为文本文件和二进制文件
2,目录文件。目录文件只允许系统进行修改,用户可以读取目录文件,但不能对他们进行修改。
3,设备文件。Linux把所有的外设都当作文件来看待,每一种I/O设备对应一个设备文件并存放在/dev目录中。
4,管道文件。主要用于在进程间传递数据,管道是进程间传递数据的媒介。
5,链接文件。又称符号链接文件。它提供了共享文件的一种方法。
通过ls -l 指令可以查看文件类型和文件属性。
- 表示普通文件
d 表示目录文件
l 表示链接文件
c 表示字符设备
b 表示块设备
p 表示管道文件
f 表示堆栈文件
文件描述符:标识文件的ID,是唯一的,是一个非负整数,是在对文件进行操作时,才给文件分配一个ID,
通常,当一个进程启动时,都会打开三个文件,标准输入,标准输出,标准出错处理,这三个文件对应的文件描述符分别为0、1、2。宏替换分别为 STDIN_FILENO . STDOUT_FILENO . STDERR_FILENO
下面是对文件操作时主要用到的函数,这些是不带缓存的I/O操作函数
下面是对文件操作时主要用到的函数,这些是不带缓存的I/O操作函数
头文件: #include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <sys/stat.h>
#include <fcntl.h>
一、
int creat(const char *pathname,int mode) 用于建立文件,返回文件描述符 有错误会返回-1;
int creat(const char *pathname,int mode) 用于建立文件,返回文件描述符 有错误会返回-1;
二、
int open(const char * pathname,int flags); 用于打开文件
int open(const char * pathname,int flags,int mode);返回文件描述符
int open(const char * pathname,int flags); 用于打开文件
int open(const char * pathname,int flags,int mode);返回文件描述符
flags 所用三种互斥旗标:O_RDONLY O_WRONLY O_RDWR
三、
int read(int fd,void *buf,int sizecount); 用于从一打开的文件读取数据
int read(int fd,void *buf,int sizecount); 用于从一打开的文件读取数据
四、
int write(int fd,void *buf,int sizecount);用于将数据写入一打开的文件内
int write(int fd,void *buf,int sizecount);用于将数据写入一打开的文件内
五、
int lseek(int fildes,int offset,int whence); 用于移动文件的读写位置
int lseek(int fildes,int offset,int whence); 用于移动文件的读写位置
六、
int close(int fd);用于关闭文件
int close(int fd);用于关闭文件