您可以在Linux中创建两种类型的链接:
- 硬链接
- 符号链接
符号链接很像Windows中的桌面快捷方式。符号链接仅指向文件的位置。
删除符号链接对链接指向的物理文件没有影响。
符号链接可以指向当前文件系统或其他文件系统上的任何文件。这使它比硬链接更灵活。
硬链接实际上是它链接到的文件,但名称不同。最简单的思考方式如下:
想象一下,你出生时的名字叫罗伯特。其他人可能会认识你为罗比,鲍勃,鲍比或罗布。每个人都会谈论同一个人。
每个链接将1添加到链接计数器,这意味着删除您必须删除每个链接的物理文件。
为什么要使用硬链接?
硬链接提供了组织文件的有效方式。描述这个的最简单的方法是使用旧的芝麻街剧集。
Bert告诉Ernie收拾他所有的东西,所以Ernie开始了他的任务。首先,他决定收拾所有红色的东西。 “消防车是红色的”。所以厄尼把消防车放好了。
接着,厄尼决定把所有带轮子的玩具收起来。消防车有轮子。所以厄尼把消防车整理好了。
毋庸置疑,Bert回家后发现和以前一样的混乱,但是Ernie已经整理了几十次消防车。
想象一下,消防车只是一个消防车的照片。您可以在计算机上使用不同的文件夹,如下所示:
- 红色的东西的照片
- 车辆的照片
- 紧急服务的照片
现在,您可以创建照片的副本并将其放在每个文件夹中。这意味着您有三个相同文件的副本占用了三倍的空间。
通过复制照片对照片进行分类可能不会占用太多空间,但如果您对视频尝试相同的操作,则会显着减少磁盘空间。
硬链接根本不占用空间。因此,您可以在不减少磁盘空间的情况下,将相同的视频存储在各种不同的类别中(即按年份,类型,演员,导演)。
如何创建硬链接
您可以使用以下语法创建硬链接:
ln path / to / file / path / to / hard / link
例如,在上图中,我们在路径/ home / gary / Music / Alice Cooper / Trash中有一个名为Trash的Alice Cooper音乐文件夹。在该文件夹中,有10首歌曲,其中一首是经典的毒药。
现在Poison是一个摇滚音轨,所以我们在音乐文件夹下创建了一个名为Rock的文件夹,并通过键入以下文件创建了一个指向Poison的硬链接:
ln“01 - Poison.mp3”“〜/ Music / rock / Poison.mp3”
这是组织音乐的好方法。
如何辨别硬链接和符号链接之间的区别
您可以使用ls命令判断文件是否具有硬链接:
ls -lt
没有链接的标准文件如下所示
-rw-r - r-- 1 gary gary 1000 Dec 18 21:52 poison.mp3
列如下:
- -rw-r - r-- =权限
- 1 =链接数量
- 加里=组
- 加里=老板
- 1000 =文件大小
- 12月18日=约会
- 21:52 =时间
- poison.mp3 =文件名
如果这是一个硬链接,输出将如下所示:
-rw-r - r-- 2 gary gary 1000 Dec 18 21:52 poison.mp3
请注意,链接列数显示为2.每次创建硬链接时,该数字都会增加。
符号链接如下所示:
-rw-r - r-- 1 gary gary 1000 Dec 18 21:52 poison.mp3 - > poison.mp3
您可以清楚地看到一个文件指向另一个文件。
如何查找文件的所有硬链接
Linux系统中的所有文件都包含唯一标识文件的inode编号。文件及其硬链接将包含相同的inode。
要查看文件的inode编号,请键入以下命令:
ls -i
单个文件的输出如下:
1234567文件名
要查找文件的硬链接,您只需要对具有相同inode的所有文件(即1234567)进行文件搜索。
您可以使用以下命令执行此操作:
找到〜/ -xdev -inum 1234567