软链接与硬链接

索引节点

索引节点类似一个文件的id号,索引节点是与文件物理地址挂钩的钥匙。

软链接

软链接指向文件名,文件名通过索引节点指向物理地址。删除软链接不删除文件,只删除了与文件名的链接。

ln -s 原始文件 建立的链接地址 (应该是要使用绝对路径)

软链接可以跨文件系统,可以建立目录或者文件的软链接。软链接的索引接点与原文件或目录不一样。

硬链接

ln 原始文件地址 建立的链接地址

硬链接可以说是原文件的别名,它们都指向同一个索引节点,改变其中一个文件内容,其他文件内容也会同时改变。硬链接是一种共享索引接点的普通文件。好比,编程语言中的引用类型,他们都同时指向一个索引接点,类似于指向同一个内存地址,通过硬链接改变文件内容,改变的还是指向同一个内存地址的内容,通过硬链接也是一样。

# 数组是引用类型,b是a的别名,改变a的内容同时b也会发生变化,指向的是同一个内存地址中的数据。硬链接也是一个道理。
a=[1,2,3,4]
b=a
a[0]=2
print(a)
print(b)
#[2, 2, 3, 4]
#[2, 2, 3, 4]
var a=[1,2,3,4]
var b=a
a[0]=2
console.log(a)
console.log(b)
//[2, 2, 3, 4]
//[2, 2, 3, 4]