linux软链接和硬链接

在linux系统中,链接分为软链接和硬链接

硬链接:
硬链接是通过索引节点inode来进行链接,在linux文件系统中,多个文件名指向同一个inode是正常且允许的。硬链接的作用之一是允许一个文件拥有多个有效路径名,这样用户就可以建立硬链接到重要的文件,以防止“误删”数据。为什么一个文件创建硬链接就会防止数据误删除呢?
因为文件系统(ext2)的原理是,只要文件的索引节点还有一个以上的链接。只删除其中一个链接并不影响索引节点本身和其他的链接。提示:硬链接就相当于文件的另一个入口

硬链接文件创建方法: ln   源文件   硬链接文件名

软链接:
linux的软链接就想到于windows中的快捷方式,提示:软链接文件和硬链接不是同一个文件,如果软链接源文件被删除,软链接的快捷方式还在。
软链就文件创建方法:ln -s 源文件   软链就文件名

有关文件的总结:
01)往源文件里面写东西,软硬链接都同样都有相同的内容
02)源文件删除,硬链接文件不受影响,软链接文件失效,找不到源文件
03)删除硬链接和源文件,整个数据才会被删除
04)很多硬件设备中的快照功能,就是利用了硬链接的原理

有关目录的总结:
01)对于目录,不可以创建硬链接,但可以创建软链接 
        自我理解,没理论依据:打个比方/etc和/home可以分别挂载到/dev/sda1和/dev/sda2两个分   区上,但是硬链接文件明确规定是不能跨越分区的,如果允许目录创建硬链接又不让他跨越分区,这样就矛盾了。所以索性就不让给目录创建硬链接。
02)对于目录的软链接是生产场景运维中常用的技巧
03)硬链接不能跨越文件系统(从原理可以理解)
        硬链接的前提是两个文件的inode节点相同,你想,如果文件跨越两块硬盘分区,那么文件系统的inode节点肯定是不一样的。
04)每个目录下面都以一个硬链接".",和上级目录的链接“..”

链接知识拓展:
软链接生产案例:
我们编译apache软件时,编译路径带着版本号/application/apache2.2.21,而访问目录时又希望简介,此时就可以通过建立一个简单的软链接来达到方便访问的目的。有关链接的建议:生产情况应尽可能少或者说合理的创建软链接,不要过多的使用软链接,否则在数据进行迁移时会引起麻烦,软链接过多也会造成目录看起来很混乱

硬链接生产案例:
硬件存储的快照功能。
为备份的数据文件创建多个硬链接,防止误删除数据

 

你可能感兴趣的:(linux,windows,用户,影响,源文件)