硬连接不管有多少.个,都指向的是同一个I节点,会把 结点连接数增加 ,只要结点的连接数不是 0,文件就一直存在 ,不管你删除的是源文件还是连接的文件 。只要有一个存在 ,文件就 存在 (其实也不分什么 源文件连接文件的 ,因为他们指向都是同一个 I节点)。当你修改源文件或者连接文件任何一个的时候 ,其他的. 文件都会.做同步的修改。软链接不直接使用i节点号作为文件指针,而是使用文件路径名作为指针。所以 删除连接文件 对源.文件无影响,但是 删除源文件,连接文件就会找不到要指向的文件 。软链接有自己的inode,并在磁盘上有一小片空间存放路径名... 乙肝
某位网友说我上面对软链接的理解是错误的,我自己也不知道错在哪,又不想一直错下去,所以.特来.求助。服务器
最佳答案寂寞烈火
http://upload.bbs.csuboy.com/Mon_1004/126_6705_c2515fb4e40125e.gif[/img]文件系统维护着一个分区的索引节点表索引节点也就是所谓的inode, 它其实就是代表这一个文件真实的数据块同样也记录着文件的其他属性如修改时间文件类型等域名
同样每个文件一般.表示就是使用目录项(dirent), 每个目录项包含着该文件的名字,该文件指向的inode节点标号等,记住linux把目录和文件都用目录项来表示,真实的文.件类型是在inode节.点里面 杀毒
新建一个硬连接其实也就.是新建一个目录项指向目标目录项指向的inode节点,一个inode节点可以指向多个目录项, 如果一个inode节点所引用的目.录项计数不为0,该.文件的真实数据是不会被外贸
释.放的,当计数为零且没有进程使用.时内核自动释放该文件的数据,所以如果删除了一个硬连接,域名
也只是删除了一个目录项,如果那个inod.e节点还执行其他的目录项,该文件的真实数据是不会.被删除的,其.实我们平时删除一个文件实际上调用的操作也就是unlink域名
新建一个符号连接其实也新建了.一个目录项,所以一个符号连接的名字可以和源.目标不同,但这个符号.连接的目录项里指向的inode节点里面的文件数据指针其实是指向该符号连接所引用的文件的真实地址, 如:服务器
ln -s /et.c/profile ./ss.
这里ss只是该符号连接文件在目录项里面的名字,而该目录项里面inode节点里面的文件数据指针指向的数据就是"/etc/profile"这个路径值, .且inode节.点里面.的文件类型是符号连接,( 游戏 )
所以系统在使用这类文件..时就知道读取符号连接文件的真实数据也就是源地址。.
系统是不允许普通用户创建目录的硬连接,因为硬连接可能造成循环,这样的硬连接.很难删除很容易造成文件.系统的混乱,如下面的错误操作: 电子
mkdir test
ln test test/te.st 电子
只有root用户才能创建目.录的硬连接.