首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

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

2013-10-16 
《UNIX环境高级编程》笔记--硬链接和符号链接1.硬链接每个文件都会占用一个 inode ,文件内容由 inode 的记录

《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

热点排行