ln -s file1 file2 # 建立软连接
ln file1 file2 # 建立硬连接
ln file1 file2 # 建立硬连接
在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号。文件属性保存在索引结点里,在访问文件时,索引结点被复制到内存中,从而实现文件的快速访问。 对于一个文件来说,有唯一的索引接点(inode)与之对应,而对于一个索引接点号,却可以有多个文件名与之对应。
硬链接相当于一个文件指针 指向了同一个Inode。
文件的硬链接不能从最初的目录项上区分开来;对于文件所做的任何修改都是有效的。
1、硬链接不能用于创建目录连接
2、不能在在不同的文件系统之间创建文件的硬连接。
一个文件的硬链接数可以在目录的长列表格式的第二列中看到,无额外连接的文件的连接数为1.ln命令会增加连接数,rm命令会减少连接数。一个文件除非连接数为0,否者不会被物理的从文件系统中删除。
软链接又叫符号链接将一个路径名连接到一个文件。这些文件是一种特别类型的文件(小文本文件),包含所连接目标文件的绝对路径。所以当原文件从一个目录下移到其他目录中,再访问链接文件,系统就找不到 了。
符号连接与源文件或目录的区别
1、删除文件或目录时,只删除了数据,不会删除连接。一旦以同样的文件创建了源文件,连接将继续指向该文件的新数据。
2、在目录长列表中,符号连接文件为一种特殊的文件类型显示出来,其第一个字母是l。
3、符号练级的大小是其连接文件的路径名中的字节数。
4、使用ls -l命令列出文件时,可以看到符号连接名后有一个箭头指向源文件或目录。