文件和目录之symlink和readlink函数】的更多相关文章

symlink函数创建一个符号链接. #include <unistd.h> int symlink( const char *actualpath, const char *sympath ); 返回值:若成功则返回0,若出错则返回- 该函数创建了一个指向actualpath的新目录项sympath,在创建此符号链接时,并不要求actualpath已经存在.并且,actualpath和sympath并不需要位于同一文件系统中. 因为open函数跟随符号链接,所以需要有一种方法打开该链接本身,…
用mkdir函数创建目录,用rmdir函数删除目录. #include <sys/stat.h> int mkdir( const char *pathname, mode_t mode ); 返回值:若成功则返回0,若出错则返回- 此函数创建一个新的空目录.其中,.和..目录项是自动创建的.所指定的文件访问权限mode由进程的文件模式创建屏蔽字修改. 常见的错误时指定与文件相同的mode(只指定读.写权限).但是,对于目录通常至少要设置1个执行权限位,以允许访问该目录中的文件名. 用rmdi…
本篇博文内容摘自<UNIX环境高级编程>(第二版),仅作个人学习记录所用.关于本书可参考:http://www.apuebook.com/. 这两个函数使我们可以更改现有文件的访问权限: #include <sys/stat.h> int chmod( const char *pathname, mode_t mode ); int fchmod( int filedes, mode_t mode ); 两个函数返回值:若成功则返回0,若出错则返回- chmod函数在指定的文件上进…
一.link.unlink.remove和rename 一个文件可以有多个目录项指向其i节点.使用link函数可以创建一个指向现存文件连接 #include <unistd.h> int link(const char *existingpath, const char *newpath); 返回值:成功为0,出错为-1 该函数创建一个新目录项newpath,指向现存文件existingpath,如果newpath已存在则返回出错. 为了删除一个现存的目录项,可以调用unlnk函数. #inc…
本篇主要从stat函数开始,逐个说明stat结构的每一个成员,以此来了解文件的所有属性.同时将说明修改这个属性的各个函数. 一.文件 使用stat函数族得到和文件有关的信息结构. #include <sys/stat.h> /* 获取和文件相关的信息结构,当文件是符号链接时,lstat返回该符号链接的信息 * @return 成功返回0,出错返回-1 */ int stat(const char *path, struct stat *buf); int fstat(int fd, struc…
文件系统: 以UNIX系统V文件系统为例: 磁盘分为区,每个分区都有自己的文件系统: ​ i节点是固定长度的记录项,包含了文件的相关信息.目录项包含文件名和i节点号.stat结构中除文件名和i节点编号之外的数据都包含在i节点中 在进行文件索引的时候会首先找到目录项,根据目录项的i节点号找到i节点,i节点中包含了若干数据块的引用,这些数据块就是文件内容.目录项只是对i节点的引用 多个目录项可以引用相同的i节点,i节点将记录引用它的目录项的个数,只有在没有目录项引用它的时候才可以删除其中的数据.所以…
1.文件内核数据结构 一个打开的文件在内核中使用三种数据结构表示: (1)文件描述符表 文件描述符标志 文件表项指针 (2)文件表项: 文件状态标志:读.写.追加.同步和非阻塞等状态标志 当前文件偏移量 i节点表项指针 引用计数器 (3)i节点 文件类型和对该文件的操作函数指针 当前文件长度 文件所有者 文件所在的设备.文件访问权限 指向文件数据在磁盘上所在位置的指针等. 2. 原子操作 (1)文件追加 打开文件时使用O_APPEND标志,进程对文件偏移量调整和数据追加成为原子操作. O_APP…
4 - 文件和目录 1. 函数 stat.fstat.fstatat 和 lstat #inlcude <sys/stat.h> int stat(const char *restrict pathname, struct stat *restrict buf); int fstat(int fd, struct stat *buf); int lstat(const char *restrict pathname, struct stat *restrict buf); int fstata…
转自 http://blog.csdn.net/ktcserver/article/details/936329 一.判断目录是否存在:           C++   Builder中提供了检查文件是否存在的函数FileExists,indows   程序实现如下:           设char   *Dir为带判断的目录       bool   Exist;   //   最后结果,表示目录是否存在       if(Dir[strlen(Dir)]=='//')Dir[strlen(D…
在python中执行和操作目录和文件的操作是通过内置的python OS模块封装的函数实现的. 首先导入模块,并查看操作系统的类型: >>> import os os.name # 操作系统类型 'nt' nt,是Windows:posix是Linux或者unix 1.对目录和文件的操作. >>> os.path#查看当前工作路径 <module 'ntpath' from 'C:\\Users\\Administrator\\AppData\\Local\\Pr…