ln命令用于创建链接文件,链接文件又可以分为软链接和硬链接文件,这两者的区别主要是:
1、硬链接其实是创建了一个指向文件的节点(inode)(源文件的节点数加1了),我们可以把硬链接理解成源文件的一个备份副本,硬链接可以有效的防止文件被删除,因为在Linux系统中,删除一个文件的实质是删除该文件的节点(inode)信息,从而切断了节点与文件之间的联系,当给一个文件创建硬链接后,删除文件时,只会减少文件的节点数,当节点数为0时,文件才彻底的被删除了。而软链接不同,软链接类似于windows中的快捷方式,当删除了源文件后,软链接的指向就失效了。
2、大小不一样。硬链接文件的内容和源文件的内容是一样的,所所以硬链接文件大小和源文件大小是一样的;而软链接文件中的内容仅仅是源文件的文件名,即仅仅是保存了源文件名而已,所以软件链接文件大小一般是4KB ,即一个节点的大小。
3、硬链接不能跨目录、跨分区做链接,而软链接无要求,既可以跨目录还可以跨分区做软链接。
4、创建硬链接直接使用 ln 命令,不要加参数,创建软链接使用 ln -s 命令,-s表示符号链接,即软链接。
ln命令语法格式:
ln [选项] 源文件 软/硬链接文件名
常用参数如下:
-s :表示创建的是 软链接(符号链接)
演示示例:
ln -s text.txt text.txt_s #创建一个软链接,text.txt_s是软链接名
ls text.txt text.txt_h #创建一个硬链接,text.txt_h是硬链接名
由以上的操作可以得知,创建软件链接后,源文件的节点数并没有增加,而创建硬链接后,源文件的节点数增加了。