18.Linux/Unix 系统编程手册(上) -- 目录与链接

	每个进程都有2个目录相关属性 根目录和当前工作目录,分别用于解释绝对路径名和相对路径名提供参照点。

1.目录和硬链接
	i-node 表的编号始于1,而非0.若目录条目的 i-node 字段值为0,表示该条目尚未使用。
  i-node 1 用来记录文件系统的坏块。文件系统根目录(/) 总是存储在 i-node 条目2中,所以
  内核在解析路径名时就知道从哪里下手。

  	硬链接限制:
  		1.硬链接必须与其指代的文件驻留在同一个文件系统中
  		2.不能为目录创建硬链接

2.更改文件名: rename()
	rename 仅操作目录条目,不移动文件数据

3.改变进程的根目录: chroot()
	每个进程都有一个根目录,该目录是解释绝对路径(即那些以 / 开始的目录)时的起点。
	这会将应用程序限定于文件系统的特定区域。
	例如,ftp ,当匿名用户登录时,ftp 将使用 chroot() 为新进场设置根目录 --- 一个专门预留
  给匿名登录用户的目录。调用 chroot 后,用户将受困于文件系统中新根目录的子树中,无法再整个文件
  系统中自由驰骋(这里所依赖的事实是根目录是其自身的父目录,也就是说 /.. 是 / 的一个链接,所以改变目录到 / 后
  再执行cd .. 命令时,用户依然会待在同一个目录下)。


readdir();
link();
unlink();
rmdir();
remove();
rename();
symlink();
readlink();
mkdir();
rmdir();
remove();
opendir();
fdopendir();
readdir();
rewinddir();
closedir();
telldir();
seekdir();
dirfd();
readdir_r();
nftw();
getcwd();
chdir();
fchdir();
chroot();
realpath();
dirname();
basename();

猜你喜欢

转载自blog.csdn.net/enlyhua/article/details/82558249