- [dboth@david temp]$ ls -li
- total 12
- 657024 -rw-rw-r-- 4 dboth dboth 7 Jun 13 07:34 link1.file.txt
- 657024 -rw-rw-r-- 4 dboth dboth 7 Jun 13 07:34 link2.file.txt
- 657024 -rw-rw-r-- 4 dboth dboth 7 Jun 13 07:34 main.file.txt
- 657863 -rw-rw-r-- 1 dboth dboth 0 Jun 14 08:18 unlinked.file
下个实验在我的电脑上会出现如许的结不雅,是因为我的 /tmp 目次在一个自力的逻辑卷上。如不雅你有零丁的逻辑卷或文件体系在不合的分区上(如不雅未应用逻辑卷),肯定你是否能拜访那个分区或逻辑卷,如不雅不克不及,你可以在电脑上挂载一个 U 盘,如不雅上述方法合适你,你可以进行这个实验。
试着在 /tmp 目次中建立一个 ~/temp 目次下文件的链接(或你的文件体系地点的地位)。
- [dboth@david temp]$ ln link2.file.txt /tmp/link3.file.txt
- ln: failed to create hard link '/tmp/link3.file.txt' => 'link2.file.txt':
- Invalid cross-device link
为什么会出现这个缺点呢? 原因是每一个零丁的可挂载文件体系都有一套本身的 inode 号。简单的经由过程 inode 号来跨越全部 Linux 文件体系构造引用一个文件会使体系困惑,因为雷同的节点号会存在于每个已挂载的文件体系中。
有时你可能会想找到一个 inode 的所有硬链接。你可以应用 ls -li 敕令。然后应用 find 敕令找到所有硬链接的节点号。
- [dboth@david temp]$ find . -inum 657024
- ./main.file.txt
- ./link1.file.txt
- ./link2.file.txt
留意 find 敕令不克不及找到所属该节点的四个硬链接,因为我们在 ~/temp 目次中查找。 find 敕令仅在当前工作目次及其子目次中查找文件。要找到所有的硬链接,我们可以应用下列敕令,指定你的主目次作为肇端查找前提。
- [dboth@david temp]$ find ~ -samefile main.file.txt
- /home/dboth/temp/main.file.txt
- /home/dboth/temp/link1.file.txt
- /home/dboth/temp/link2.file.txt
- /home/dboth/main.file.txt
如不雅你长短超等用户,没有权限,可能会看到缺点信息。这个敕令也应用了 -samefile 选项而不是指定文件的节点号。这个效不雅和应用 inode 号一样且更轻易,如不雅你知道个一一个硬链接名称的话。
接着改变个一一个硬链接文件的大年夜小。
对软链接进行实验
(题图: Paul Lewin,Opensource.com 修改。 CC BY-SA 2.0)
如你刚才看到的,不克不及跨越文件体系界线创建硬链接,即在逻辑卷或文件体系中年腋荷琐文件体系到另一个文件体系。软链接给出了这个问题的解决筹划。固然它们可以达到雷同的目标,但它们是异常不合的,知道这些差别是很重要的。
让我们在 ~/temp 目次中创建一个符号链接来开端我们的摸索。
- [dboth@david temp]$ ln -s link2.file.txt link3.file.txt ; ls -li
推荐阅读
七种IoT设备安全检测报告:教你几招辨别物联网设备安全性的简单方法
CTO练习营 | 12月3-5日,深圳,是时刻成为优良的技巧治理者了 背景介绍购物热季光降了,今天我们谈一下物联网设备的安然问题。各大年夜供给商们陆续推出了很多令人高兴的物联网设备,并许琶>>>详细阅读
本文标题:用户指南:Linux文件系统的链接
地址:http://www.17bianji.com/lsqh/39426.html
1/2 1