UNIX下存在7种文件类型,分别是普通文件,目录文件,软连接文件,字符设备文件,块设备文件,管道文件,套接字文件。
每种文件类型都可以在目录下创建。以下为这些文件创建,删除所使用的系统调用。
1.普通文件。这是使用最多的文件类型。
创建
int open(const char *pathname, int flags, mode_t mode);//flag使用O_CREAT时
int creat(const char *pathname, mode_t mode);
删除
int unlink(const char *pathname);
2.目录文件。主要依靠目录文件形成层次结构
创建
int mkdir(const char *pathname, mode_t mode);
删除
int rmdir(const char *pathname);
3.软连接文件。
创建
int symlink(const char *oldpath, const char *newpath);
删除
int unlink(const char *pathname);
4.块设备文件
5.字符设备文件
6.管道文件
7.套接字文件
以上4种文件类型有相同的特点,就是创建时只用到了节点数据,并不需要数据块,所以创建都使用了mknod系统调用。
创建
int mknod(const char *pathname, mode_t mode, dev_t dev);
块设备文件---mode需要或上S_IFBLK,且dev表示创建的设备号
字符设备文件---mode需要或上S_IFCHR,且dev表示创建的设备号
管道文件---mode需要或上S_IFIFO
套接字文件---mode需要或上S_IFSOCK
删除
int unlink(const char *pathname);