02、Linux文件系统与设备文件
一、Linux文件操作
1.1、 文件操作系统调用
1、创建文件
int creat(const char *filename, mode_t mode);
2、打开
int open(const char *pathname, int flags);
int open(const char *pathname, int flags, mode_t mode);
文件打开标志 | 含义 |
---|
O_RDONLY | 以只读方式打开 | O_WRONLY | 以只写方式打开 | O_RDWR | 以读写方式打开 | O_APPEND | 以追加方式打开 | O_CREAT | 创建一个文件 | O_EXEC | 如果使用了O_CREAT而且文件已经存在,就会发生一个错误 | O_NOBLOCK | 以阻塞方式打开 | O_TRUNC | 如果文件已经存在,则删除文件的内容 |
文件访问标志 | 含义 |
---|
S_IRUSR | 用户可读 | S_IWUSR | 用户可写 | S_IXUSR | 用户可执行 | S_IRWXU | 用户可读、写、执行 | S_IRGRP | 组可读 | S_IWGRP | 组可写 | S_IXGRP | 组可执行 | S_IRWXG | 组可读、写、执行 | S_IROTH | 其他人可读 | S_IWOTH | 其他人可写 | S_IXOTH | 其他人可执行 | S_IRWXO | 其他人可读、写、执行 | S_ISUID | 设置用户执行ID | S_ISGID | 设置组执行ID |
3、读写
int read(int fd, const void *buf, size_t length);
int write(int fd, const void *buf, size_t length);
4、定位
int lseek(int fd, offset_t offset, int where);
文件相对位置标志 | 说明 |
---|
SEEK_SET | 相对文件开头 | SEEK_CUR | 相对文件读写指针的当前位置 | SEEK_END | 相对文件末尾 |
5、关闭
int close(int fd);
1.2、C库文件操作
二、Linux文件系统
目录名 | 说明 |
---|
/bin | 包含基本命令,这个目录下文件都是可执行的 | /sbin | 包含系统命令,大多数涉及系统管理命令,这个目录下文件都是可执行的 | /dev | 设备文件存储目录,用用程序通过对这些文件的读写和控制,以访问实际的设备 | /etc | 系统配置文件存储目录 | /lib | 系统库文件存放目录 | /mnt | 一般用于存放挂在存储设备的挂载目录 | /opt | 有些软件会被安装在这里 | /proc | 操作系统运行时,进程及内核信息存放在这个目录。该目录不是真正的文件系统,存在于内存中 | /tmp | 用户程序运行,有事会产生临时文件 | /usr | 系统存放程序的目录,比如用户命令,用户库等 | /var | 目录内的文件内容经常变动 | /sys | 内核支持的sysfs文件系统被映射到此目录 |
|