Linux系统中的链接文件及ln命令使用

链接文件属于Linux文件类型中的一种,以l开头,作用就类似于Windows下的快捷方式。Linux链接文件有两种,Hard Links和Symbolic Links,即硬链接和符号链接。这两种链接方式的本质区别在于inode处理上。
Linux通过文件名对应的inode来访问文件内容。硬链接则将链接文件链接到源文件的inode上,这样链接文件便能访问到原文件内容。并且将其中链接文件或源文件删除后,都不会影响其它文件的读取访问。
Linux下创建链接文件的命令是ln,具体命令格式为:
ln [-s] [源文件] [目标文件]
如果是符号链接,则添加-s。硬链接则不用。

在CentOS测试例子:
Linux系统中的链接文件及ln命令使用_第1张图片

可以看到,硬链接产生的文件和源文件都使用52818573这个相同的inode。所以删除其中一个文件并不影响另外一个文件的访问。但是硬链接有两个缺点:一个是不能跨文件系统,因为不同文件系统有不同的inode table,另一个是目录无法硬链接。
软链接则是创建一个新的文件,同时也会产生新的inode,当读取软链接文件时,系统会转移读取链接指向的源文件。所以当源文件删除后,链接文件将无法访问。

在CentOS下测试例子:
Linux系统中的链接文件及ln命令使用_第2张图片

可以看到软链接文件后面的箭头指向源文件。而且软链接文件类型是l,而硬链接生成的文件类型是-。

你可能感兴趣的:(Linux)