文件操作
2016-05-24 11:18
225 查看
文件操作常用到的函数和需要注意的细节
stat函数
获取文件的属性(从inode结构体中获取)
int stat(const char *path,struct stat*buf);
参数:文件名,inode结构体指针(传出参数)
文件属性将通过传出参数返回给调用者
lstat函数
int lstat(const char * path,struct stat*buf)
获取文件属性,参数同stat
stat于lstat的区别在于穿透符号链接,stat会,lstat不会
特殊权限位:
包含三个二进制位。设置组id位,setGID;设置用户id位setID;粘住位sticky
access函数
测试指定文件是否存在/拥有某种权限
int access(count char * pahtname,int mode);
成功/具备该权限:0 失败/不具备-1
通常使用access函数来测试某个文件是否存在,参数2为 F_OK
chmod函数
修改文件的访问权限
int chmod(const char * path,mode_t mode);
成功:0 失败:-1
int fchmod(int fd,mode_t mode);
truncate函数
截断文件长度指定长度。常用来拓展文件大小,代替lseek。
int truncate(const char * path,off_t length);
成功:0 失败:-1
int ftruncate(int fd,off_t lenth);
link 函数
目录项游离于inode之外,是为了实现文件共享。linux允许多个目录项共享一个inode,即共享盘块(data)。不同文件名,在我们眼中理解成两个文件,但是在内核眼里是同一个文件。
link函数可以为已经存在的文件创建目录项(硬链接)
int link(const char * oldpath,const char * newpaht);成功0
mv 命令是修改了目录项,并不修改文件本身。
stat函数
获取文件的属性(从inode结构体中获取)
int stat(const char *path,struct stat*buf);
参数:文件名,inode结构体指针(传出参数)
文件属性将通过传出参数返回给调用者
lstat函数
int lstat(const char * path,struct stat*buf)
获取文件属性,参数同stat
stat于lstat的区别在于穿透符号链接,stat会,lstat不会
特殊权限位:
包含三个二进制位。设置组id位,setGID;设置用户id位setID;粘住位sticky
access函数
测试指定文件是否存在/拥有某种权限
int access(count char * pahtname,int mode);
成功/具备该权限:0 失败/不具备-1
通常使用access函数来测试某个文件是否存在,参数2为 F_OK
chmod函数
修改文件的访问权限
int chmod(const char * path,mode_t mode);
成功:0 失败:-1
int fchmod(int fd,mode_t mode);
truncate函数
截断文件长度指定长度。常用来拓展文件大小,代替lseek。
int truncate(const char * path,off_t length);
成功:0 失败:-1
int ftruncate(int fd,off_t lenth);
link 函数
目录项游离于inode之外,是为了实现文件共享。linux允许多个目录项共享一个inode,即共享盘块(data)。不同文件名,在我们眼中理解成两个文件,但是在内核眼里是同一个文件。
link函数可以为已经存在的文件创建目录项(硬链接)
int link(const char * oldpath,const char * newpaht);成功0
mv 命令是修改了目录项,并不修改文件本身。
相关文章推荐
- lua文件操作详解
- 完美解决MSSQL"以前的某个程序安装已在安装计算机上创建挂起的文件操作"
- Node.js文件操作方法汇总
- java文件操作工具类
- Java最全文件操作实例汇总
- c#文件操作示例带详细注释
- 基于java file 文件操作operate file of java的应用
- asp.net XML文件操作实现代码
- php笔记之常用文件操作
- Python 文件操作技巧(File operation) 实例代码分析
- Perl学习笔记之文件操作
- perl几个文件操作例子
- perl 文件操作总结
- php文件操作小结(删除指定文件/获取文件夹下的文件名/读取文件夹下图片名)
- Node.js文件操作详解
- JavaScript中读取和保存文件实例
- C语言文件操作函数freopen详细解析
- c语言程序设计文件操作方法示例(CreateFile和fopen)
- C语言文件操作 fopen, fclose, mkdir详解
- python文件和目录操作函数小结