最终就能够读取到正确的数据了。
创建软连接,从下图可以看出软连接的大小是11个字节,对比/etc/passwd和passwdlns可知他们不是同一个文件。
对指向文件的的软连接 :使用cp oldfilename newfilename ,是对软连接指向的文件进行复制,属性和大小都和指向文件相同。
如果只是想复制软连接可以使用:cp -d filename1 filename2
复制指向目录的软连接 :
使用cp -r dir1 dir2 可以看出对于指向目录的软连接的复制是对软连接复制的。
如果我就是相同过软连接复制目录下的全部文件,该如何呢?
使用rm删除文件结果如下,可以看到删除的是软连接文件。
使用rm删除软连接指向的源文件,赶紧将备份的passwd文件还原。
对于目录的删除是对软连接进行删除还是目标目录:
在目录后不加/是对软连接进行 *** 作:
在目录后加上/是对连接目录进行删除:下图可以看出/tmp/testdir的大小已经变成了6了,删除了目录里的全部文件。
对软连接改变权限会对源文件有什么样的影响 :不管是文件软连接还是目录软连接,对软连接进行修改权限,修改的是目标文件和目录的权限
(1)软链接可以跨越文件系统 ,硬链接不可以 。实践的方法就是用共享文件把windows下的 aa.txt文本文档链接到linux下/root目录下 bb,cc . ln -s aa.txt /root/bb 链接成功 。ln aa.txt /root/bb 失败 。(2)关于 I节点的问题 。硬链接不管有多少个,都指向的是同一个I节点,会把 结点连接数增加 ,只要结点的链接数不是 0,文件就一直存在,不管你删除的是源文件还是链接的文件 。只要有一个存在 ,文件就存在 (其实也不分什么源文件和链接文件的 ,因为他们指向都是同一个I节点的)。 当你修改源文件或者链接文件任何一个的时候 ,其他的文件都会做同步的修改。软链接不直接使用i节点号作为文件指针,而是使用文件路径名作为指针。所以删除链接文件对源文件无影响,但是删除源文件,链接文件就会找不到要指向的文件 。软链接有自己的inode,并在磁盘上有一小片空间存放路径名,但软链接文件没有属于自己的文件块. 软链接比较像windows下的快捷方式。(3)软链接可以对一个不存在的文件名进行链接。(4)软链接可以对目录进行链接。 备注:I节点 :它是UNIX内部用于描述文件特性的数据结构.我们通常称I节点为文件索引结点(信息结点).i节点 含有关于文件的大部分的重要信息,包括文件数据块在磁盘上的地址.每一个I节点有它自己的标志号,我们称为文件顺序号.I节点包含的信息 1.文件类型 2.文件属主关系 3.文件的访问权限 4.文件的时间截.1.硬链接实际上是为文件建一个别名,链接文件和原文件实际上是同一个文件。可以通过ls-i来查看一下,这两个文件的inode号是同一个,说明它们是同一个文件;而软链接建立的是一个指向,即链接文件内的内容是指向原文件的指针,它们是两个文件。
通过ls
-al
查看到硬链接和源文件的文件类型一样为“-”而软链接为“l”
ls
-ai
会显示文件的硬链接数量,如果有硬链接则>1
也可以用
stat
XX
来查看文件的inode信息来区分两个文件是复制的还是硬链接的
其实硬链接和软链接和源文件三者任意一个改变三者都会同步改变,这是他们与复制之间的区别
2.硬链接只能用于文件,不能用于目录;软链接可以为目录建链接。
3.硬链接不能跨文件系统 *** 作。
既然软链接和硬链接和源文件的内容是同步的,那软链接和硬链接的应用场景有什么不同呢
A硬链B
删除B后A依然存在,且可用。
A软链B
删除B后A存在,但不可用了(相当于Windows下快捷方式指向的目标不存在了)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)