风声笔记

微信订阅号:fensnote 技术点滴,积少成多,水滴石穿,水到渠成……

导航

关于Linux目录访问函数总结

Linux下目录访问函数总结,主要是涉及到的函数,以及所在头文件。

 

获得工作目录:

#include   <unistd.h>   

char   *getcwd(char   *buf,size_t   size);char   *getwd(char   *buf);/*this   is   for   FreeBSD*/ 


改变当前目录:

#include   <unistd.h>   

int   chdir(const   char   *path); 


保存当前目录:

#include   <unistd.h>

int   fchdir(int   fd); 


建立新目录:

#include   <sys/type.h>   
#include   <sys/stat.h>   

int   mkdir(const   char   *path,mode_t   mode); 


删除目录:

#include   <unistd.h>   

int   rmdir(const   char*   path); 


打开目录进行搜索:

#include   <sys/type.h> 
#include   <dirent.h> 

DIR   *opendir(const   char   *pathname);   int   dirfd(DIR   *dirp); 


关闭目录:

#include   <sys/types.h> 

#include   <dirent.h> int   closedir(DIR   *dirp); 


搜索目录:

#include   <sys/type.h> 
#include   <dirent.h>   

struct   dirent   *readdir(DIR   *dirp); 


重新回到目录的开始:

#include <sys/type.h> 
#include <dirent.h> 

void   rewinddir(DIR   *dirp); 


保存目录中的位置:

#include   <sys/type.h> 
#include   <dirent.h> 

long   telldir(const   DIR   *dirp); 


在目录内恢复位置:

#include   <sys/type.h>
#include   <dirent.h> 

void   seekdir(DIR   *dirp,long   loc); 


扫描目录:  

#include   <sys/type.h> 
#include   <dirent.h> 

int   scandir(const   char   *diename,struct   dirent   ***namelist,int   (*select)(struct   dirent   *),int   (*compar)(const   void   *,const   viod*)); 


遍历目录结构:

#include   <ftw.h> 

int   ftw(const   char*   path,int(*fn)(const   char   *obj_path,const   struct   stat   *obj_stat,int   obj_flags),int   depth); 

int   nftw(const   char*   path,int(*fn)(const   char   *obj_path,const   struct   stat   *obj_stat,int   obj_flags,struct   FTW   obj_FTW),int   depth,int   flags); 


改变根目录:

#include   <unistd.h> 

int   chroot(const   char   *dirname);

 

posted on 2020-04-14 07:46  风声笔记  阅读(145)  评论(0编辑  收藏  举报