Linux程式设计之三


  Linux程式设计-12.目录操作
http://www.openchess.org/noitatsko/programming/ (2001-05-26 10:08:00)
Linux下的目录是依照标准来实作的,因此,您可以毫无问题地移殖到任何其它UNIX平台。

--------------------------------------------------------------------------------

getcwd/getwd : 取得目前所在目录

--------------------------------------------------------------------------------

#include
char * getcwd(char *buf,size_t size);
buf将会返回目前路径名称。

任何的错误发生,将会返回NULL。如果路径长度超过size,errno为ERANGE。getcwd返回的值永远是没有symbol link的。



--------------------------------------------------------------------------------

#include
char *getwd(char *buf);
getwd是个危险的函数,一般都会强烈建议不要用,因为您无法确定最长的目录长度为多少。PATH_MAX定义了最长的路径长度。在Linux下所以提供这个函数主要是因为「传统」。



--------------------------------------------------------------------------------

chdir/fchdir/chroot : 改变目前所在目录

--------------------------------------------------------------------------------

#include
int chdir(const char * pathname);
int fchdir(int fd);
chdir根据pathname变更目前的所在目录,它只改变该程式的所在目录。
fchdir根据已开启的fd(file descriptor)目录来变更。



--------------------------------------------------------------------------------

#include
int chroot(const char * path);
chroot改变该程式的根目录所在。例如chroot("/home/FTP")会将根目录换到/home/ftp下,而所有档案操作都不会超出这个围内。为保障安全性,当chdir("/..")时,将会仅切换到chdir("/"),如此便不会有档案安全问题。



--------------------------------------------------------------------------------

mkdir/rmdir : 造/移除目录

--------------------------------------------------------------------------------

#include
#include
int mkdir(const char * dirname,mode_t mode);
mkdir会造一个新目录出来,例如mkdir("/home/foxman",0755);。
如果该目录或档案已经存在,则操作失败。



--------------------------------------------------------------------------------

#include
int rmdir(char * pathname);
这个函数移除pathname目录。



--------------------------------------------------------------------------------

opendir/readdir/closedir/rewinddir : 读取目录资讯

--------------------------------------------------------------------------------

#include
DIR * opendir(const char * pathname);
int closedir(DIR *dir);
strUCt dirent * readdir(DIR *dir);

共9 页 首页 上一页 [1] [2] [3] [4] [5下一页 尾页>
上一篇: useradd
下一篇: linux上GD库的安装