一.什么是linux
Linux是一个开源的操作系统,常有的一句话是evrything is object in Linux 在Linux下万物皆是文件;对于操作文件本身,Linux提供了许多系统接口函数:如open、write、read、close。这些统称为系统IO,因为这是操作系统本身提供的对于文件的输入、输出的操作接口。
二.Linux中,系统IO的调用
int open(const char *pathname, int flags);
int open(const char *pathname, int flags, mode_t mode);
pathname表示的是要打开的文件(带绝对路径);成功,返回一个打开的文件的文件描述符(fd > 2) 因为操作系统会自动为每个进程打开三个文件:
标准输入文件 文件描述符为 STDIN_FILENO (0)
标准输出文件 文件描述符为 STDOUT_FILENO (1)
标准出错文件 文件描述符为 STDERR_FILENO (2) 失败,返回-1,同时errno被设置!
这里会涉及到输出重定向问题:如2>&1把出错重定向到输出文件
文件会有:普通文件、目录文件、字符设备、块设备、套接字、管道文件、链接文件
unlink删除一个文件
rmdir删除一个目录
remove删除一个普通文件或者空目录
int stat(const char *pathname, struct stat *statbuf);
stat 这个函数获取属性,只需要一个文件名,不需要open该文件。
目录的内容是什么?
目录项数组