软链接和硬链接

  • Linux系统中,一切皆文件。唯一的标识文件是inode而非文件名,文件名仅是为了方便人们的记忆和利用,系统或程序通过inode寻找正确的文件数据块。
  • 数据块:文件存储在硬盘上,硬盘的最小存储单位叫做“扇区”(sector)。每个扇区存储512字节(相当于0.5kb),操作系统读取硬盘的时候,不会一个个扇区地读取,而是一次性连续读取多个扇区,即一次性读取一个“块”(block),这种由多个扇区组成得“块”,是文件存取得最小单位。“块”的大小,最常见的是4kb,即连续8个sector组成一个block,文件数据都储存在“块”中。
  • 查看文件inode的方法:
    • ls -i  文件名  #查看inode
    • stat  文件名  #除inode外,还可看到文件创建,修改时间,权限等信息。
  • 软链接(符号链接)
    • 软链接相当于windows的快捷方式,一个文件存放的内容是另一文件的路径名的指向。软链接是一个普通文件,软链接有着自己的inode号以及用户数据块。
    • 软链接有自己的文件属性及权限等。
    • 可对不存在的文件或目录创建软链接。
    • 软链接可对文件或目录创建。
    • 软链接可跨文件系统。
    • 删除软链接并不影响被指向的文件,如果指向的文件被删除,则相关软链接被称为死链接(dangling link),若被指向路径文件被重新创建,死链接可恢复为正常的软链接。
  • 硬链接
    • 一个inode对应多个文件名,硬链接有着和源文件一样的inode和其他信息,只是更改的文件名而已,硬链接是有着相同inode号仅文件名不同的文件。
    • 文件有相同的inode以及数据块。
    • 只能对已存在的文件进行创建硬链接。
    • 不能跨文件系统。
    • 不能对目录创建硬链接,只能对文件创建。
    • 删除一个硬链接文件并不影响其他有相同inode号的文件。
  • 无论是硬链接还是软链接都不会将原来的文件复制一份,只会占用非常少量的磁盘空间。
  • 命令:
    • 软链接:
      • ln  -s  [源文件或目录]  [目标文件或目录]
    • 硬链接:
      • ln  源文件  目标文件
  • 创建软链接:
    •   
  • 创建硬链接:
    •   

 

原文地址:https://www.cnblogs.com/wqs-Time/p/14073833.html