linux 软链接 和 硬链接的区别

1131阅读 3评论2012-06-01 glinuxi
分类:LINUX

1>linux的软链接:
 命令: ln -s assert_h_ex.c assert_h_ex1.c
 查看:ls -l  assert_h_ex1.c
 结果:
 
发现软连接类似于windows的快捷方式,—>表示真实文件的地址

2>linux的硬链接
命令:ln  assert_h_ex.c assert_h_ex_hard.c 
显示:ls -l assert_h_ex_hard.c
结果:
发现硬链接与真实文件的大小和创建日期完全相同,类似于copy,同步更新。

3>硬链接与复制的区别
命令:cp assert_h_ex.c assert_h_ex_cp.c
显示:ls -l assert_h_ex_*
结果:
 
发现拷贝与真实文件的创建日期不同。
4>复制文件使得时间也相同,加参数-p
命令:cp -p assert_h_ex.c assert_h_ex_cp_p.c
显示:ls -l assert_h_ex_*
结果:
 
5:硬链接的同步更新
  软连接类似于快捷方式,访问的就是源文件,所有肯定是跟源文件同步。
  而硬链接类似于拷贝,但是却拥有同步更新的功能,再此我们可以验证。
  首先在/test目录下创建文件link
(1)分别穿件link的软连接文件和硬链接文件,link.soft  link.hard
(2)向源文件link 写入数据
(3)查看三个文件的内容
  
发现硬链接文件与源文件同步更新

6:删除源文件后,对硬链接和软连接的影响
 软连接类似快捷方式,所有当源文件不存在时,它也无效。
而硬链接属于拷贝,仍然存在。

7:为什么硬链接可以同步更新?
     同样创建了一个文件link 和它的软链接和硬链接文件,
通过命令ls –i  ,发现硬链接文件和源文件的i结点数字相同,而内核是根据文件的i结点来标识文件的,这两个文件的i结点相同,所有被认为是一个文件,所有同时写入和修改数据。

8:硬链接的要求
  硬链接不能跨文件系统,即不能跨分区,类似于windows内不能将C盘的硬链接放在D盘。而软链接可以放在任何文件系统。
上一篇:C++:内联函数、类成员函数、重载函数
下一篇:C 的顺序容器

文章评论