读书人

《UNIX环境高级编程》札记-硬链接和符

发布时间: 2013-10-16 11:29:46 作者: rapoo

《UNIX环境高级编程》笔记--硬链接和符号链接
1.硬链接

每个文件都会占用一个 inode ,文件内容由 inode 的记录来指向想要读取该文件,必须要经过目录记录的文件名来指向到正

确的 inode 号码才能读取。也就是说,其实文件名只与目录有关,但是文件内容则与 inode 有关。那么想一想,

上图的意思是,你可以透过 1 或 2 的目录之 inode 指定的 block 找到两个不同的档名,而不管使用哪个档名均可以指到 real 那个

inode 去读取到最终数据!那这样有什么好处呢?最大的好处就是『安全』!如同上图中,
*跟随符号链接是指跟随符号链接到达实际的文件
下面2个函数是对符号链接文件进行操作。symlink函数创建一个符号链接,函数声明如下:

#include <stdio.h>#include <unistd.h>#include <string.h>int main(void){        char buf[256];        memset(buf,0,256);        if(readlink("symblicfile",buf,256)<0){                perror("readlink");                return -1;        }        buf[255] = 0;        printf("%s\n",buf);        return 0;}
运行结果:

yan@yan-vm:~/apue$ ./a.out
desfile

读书人网 >编程

热点推荐