UNIX中的链接是指向文件的指针。像任何编程语言中的指针一样, UNIX中的链接是指向文件或目录的指针。创建链接是一种访问文件的快捷方式。链接允许多个文件名引用其他位置的同一文件。
链接有两种类型:
- 软链接或符号链接
- 硬链接
例如, 如果我们有一个文件a.txt。如果我们创建到文件的硬链接然后删除文件, 我们仍然可以使用硬链接访问文件。但是, 如果我们创建文件的软链接然后删除文件, 则无法通过软链接访问该文件, 并且软链接会悬空。基本上, 硬链接会增加位置的引用计数, 而软链接则充当快捷方式(例如在Windows中)
1.硬链接
- 每个硬链接文件都被分配了与原始文件相同的Inode值, 因此它们引用了相同的物理文件位置。硬链接更加灵活, 即使原始文件或链接的文件在整个文件系统中移动, 硬链接仍然保持链接, 尽管硬链接无法跨不同的文件系统。
- ls -l命令显示所有链接, 而link列显示链接数。
- 链接具有实际文件内容
- 删除任何链接只会减少链接数, 但不会影响其他链接。
- 我们无法为目录创建硬链接以避免递归循环。
- 如果原始文件被删除, 则该链接仍将显示文件的内容。
- 创建硬链接的命令是:
$ ln[original filename] [link name]
- 软链接类似于Windows操作系统中使用的文件快捷方式功能。每个软链接文件都包含一个指向原始文件的单独的Inode值。与硬链接类似, 对任何一个文件中数据的任何更改都会反映在另一个文件中。软链接可以跨不同的文件系统链接, 尽管如果删除或移动了原始文件, 则软链接文件将无法正常工作(称为挂起链接)。
- ls -l命令显示所有具有第一列值l的链接?链接指向原始文件。
- 软链接包含原始文件的路径, 而不包含内容。
- 删除软链接对删除原始文件没有任何影响, 但该链接变为"悬空"链接, 指向不存在的文件。
- 软链接可以链接到目录。
- 跨文件系统链接:如果要跨文件系统链接文件, 则只能使用符号链接/软链接。
- 创建软链接的命令是:
$ ln-s [original filename] [link name]
推荐阅读
- 如何在PHP中基于键删除数组元素()
- 签证面试经验|实习(校园内)
- Java程序统计每个字符的出现次数
- win7系统游戏手柄怎样用?
- win7系统剪切板怎样打开?
- win7 运行在啥地方里?win7 运行位置介绍
- Win7系统旗舰版Winmgmt.exe文件出错的处理办法
- Win7已激活,微软正版验证显示:不是正版的处理办法
- 怎样处理Win7网上看视频绿屏的问题?