什么是文件共享

文件共享的两种方式 e623f45cb335420da557f2bfe829af27.jpg

文件共享包括硬链接和软链接,软链接也就是符号链接
首先,操作系统提供了一种功能,叫做文件共享。这就像是你有一个玩具,然后你决定让你的小伙伴们也能和你一起玩这个玩具一样。在计算机世界里,文件共享就是让不同的用户可以访问同一个文件。
然后,文件共享有两种方式,一种是硬链接,另一种是软链接。
硬链接,你可以想象成是给文件多做了一个名字的标签。比如你的玩具车,除了叫“玩具车”,还可以叫“赛车”。这样,不管你叫它“玩具车”还是“赛车”,你都能拿到同一个玩具。在计算机里,硬链接就是让不同的文件名指向同一个文件内容,它们是共享的。
软链接,更像是一个快捷方式。就像你有一个你非常喜欢的玩具,但是你不想每次玩都要跑到玩具箱里去找,所以你就在家里放了一个指向玩具箱的指示牌,这样你一看到这个指示牌就知道玩具在哪里。软链接就是这样,它不是直接指向文件内容,而是指向文件的另一个名字(硬链接),通过这个名字可以找到文件。
所以,无论是硬链接还是软链接,它们都是让多个用户可以共享访问同一个文件的不同方式。
d9bb66021c3a4a279a56f0626c97c80e.jpg

 硬链接

168d83079c9741edbfa9b2d01b8fa305.jpg

 1. 文件和索引结点:在文件系统中,每个文件都有一个对应的索引结点,你可以把它想象成一个文件的"户口本",记录了文件的各种信息。
2. 目录项:每个文件在文件系统中都有一个或多个目录项,就像书的目录一样,告诉你文件的位置。
3. 硬链接:硬链接就像是给文件多做了一个"户口本",即使原来的"户口本"被删除了,只要还有别的"户口本"存在,文件就还存在。
4. 链接计数(count):索引结点里有一个链接计数器,记录有多少个目录项指向这个索引结点。这个计数器就像是文件的"朋友数",有多少个目录项指向它。
5. 删除文件:如果某用户想删除一个文件,他只能删除指向该文件的目录项,就像从书的目录中划掉一个条目。但这不会删除文件的"户口本",因为可能还有其他目录项指向它。
6. 真正删除:只有当链接计数器变为0,也就是没有任何目录项指向这个索引结点了,文件的"户口本"和文件数据才会被真正删除。如果链接计数器不为0,就删除文件数据和索引结点,那么其他指向这个索引结点的目录项就会找不到文件数据,这就是所谓的"指针悬空"。
简单来说,硬链接让文件可以有多个名字,删除一个名字并不会真的删除文件,只有当所有名字都被删除了,文件才会被彻底删除。

软链接

1f1cd73633cc4858a727bce4800b308a.jpg

1. Link型文件:这就像是Windows系统中的快捷方式。你可以在桌面上创建一个快捷方式,指向你的文档文件夹里的一个文件。即使你移动了文档文件夹,快捷方式仍然存在,只是它指向的文件位置变了。
2. 软链接(符号链接):软链接就像是上面提到的快捷方式。它记录了一个路径,告诉操作系统去哪里找到它指向的文件。但是,如果被指向的文件被删除了,软链接还是存在的,只是它再也找不到原来的文件了。
3. 查找共享文件:操作系统会根据软链接里的路径,像查字典一样一层层地查找目录,直到找到最终的文件。
4. 软链接和硬链接的区别:
硬链接:就像给文件多做了一个"户口本",删除一个"户口本"不会影响文件本身。
软链接:更像是一个指向文件的"指示牌",如果文件被移动或删除了,"指示牌"还在,但是它指的地方已经没有了。
5. 磁盘I/O:访问软链接时,操作系统需要按照路径一层层查找,这就需要多次读取磁盘上的数据,这个过程叫做磁盘I/O。如果这个过程很频繁,就会让电脑感觉有点慢。
6. 速度比较:因为硬链接直接指向文件的"户口本",所以访问速度快。而软链接需要先找到"指示牌"上的路径,然后再去找文件,所以访问速度慢一些。
简单来说,软链接就像是给文件做了一个标记,告诉你去哪里找这个文件。但如果文件被移动或删除了,这个标记就失效了,而且访问软链接时,电脑需要多做一些查找的工作,所以速度会比硬链接慢。

c30c2244c5c74feebd32b27ed5f80710.jpg


1. 硬链接:
想象一下,你和你的朋友们都在用同一本书学习,这本书就像是电脑里的一个文件。你们每个人手上的书都有一个标签,上面写着你们的名字,这些标签就像是电脑里的“目录项”。书的详细信息,比如作者和内容,都写在书的扉页上,这就像是“索引结点”。你们每个人手上的标签都指向这本书的扉页。索引结点上有一个数字 count ,表示有多少人在用这本书。
2. 删除硬链接:
如果你决定不再用这本书了,你只需要把你的标签撕掉,然后 count 数字就会减1。只有当 count 变成0,也就是没有人再用这本书的时候,这本书才会被真正扔掉,扉页上的信息也会被清除。如果 count 不是0,就不能扔书,因为还有人在用。
3. 软链接(符号链接):
软链接就像是一张纸条,上面写着“这本书在某某地方”。如果你按照纸条上的指示去找书,操作系统就会帮你一层一层地找目录,直到找到书的位置。
4. 软链接和文件共享:
软链接可以指向一个共享的文件,就像是一个指向书的指示牌。但是,如果书已经被拿走了,你按照纸条去找,就会找不到书,但是纸条(软链接文件)还是存在的。
5. 软链接的速度问题:
因为用软链接找文件,需要像侦探一样一层一层地查找,这就像是多走了好几条街去找书,所以会比直接在你的书架上找到书要慢一些。
6. 总结:
硬链接就像是你和你的朋友们都在用同一本书,每个人手上都有一个指向书的标签。软链接则像是一张纸条,告诉你书在哪里,但是如果书被拿走了,纸条就找不到书了。而且,用软链接找东西会比硬链接慢,因为它需要多走一些“路”。

692649da230c48ecacc7985ff83c2df1.jpg
首先,硬链接是一种文件共享的方式,它基于索引结点。索引结点就像是图书馆里的目录卡,它帮助我们快速找到想要的书籍。在计算机里,索引结点是帮助我们快速找到文件的一种机制。
接下来,我们来聊聊索引结点是怎么工作的。想象一下,如果你有一个大衣柜,里面有很多衣服,但是每次找衣服都很麻烦,因为衣服都混在一起。索引结点就像是给衣柜里的每件衣服都贴上了标签,并且把这些标签放在一个容易找到的地方,这样你就不用每次都翻遍整个衣柜来找衣服了。
在操作系统中,文件名就像是衣服上的标签,而索引结点就是那个容易找到的地方。操作系统用索引结点来存储文件的额外信息,比如文件的大小、创建时间等。这样,当我们想要找到文件的时候,只需要通过文件名,操作系统就会通过索引结点快速找到文件的详细信息。
总结一下,硬链接就是利用索引结点来实现文件共享的一种方式。通过索引结点,操作系统可以快速地找到文件,并且让多个用户能够访问同一个文件,就像是多个用户可以同时使用同一个衣柜里的同一件衣服一样。

aa2b3fa2d55546eca658b7930acb2866.jpg
想象一下,你和你的朋友们在玩一个团队游戏,你们需要共同完成一个任务。在这个游戏中,你们团队有一张共同的地图,这张地图就像是操作系统中的共享文件。现在,如果你们所有人都使用这张地图,并且其中一个人在上面做了标记,比如画了一个X表示宝藏的位置,那么所有使用这张地图的人都能看到这个X标记,因为你们用的是同一张地图。
这就是共享同一个文件的意思。在计算机里,如果多个用户共享同一个文件,那么在系统中就只有一份文件数据。如果一个用户修改了这个文件,比如改了几个字或者加了一些内容,那么其他共享这个文件的用户也能看到这些变化,因为他们看到的是同一份数据。
但是,如果你们每个人都“复制”了这张地图,并且每个人都在自己的地图上做标记,那么这些标记就不会在其他人的地图上显示。因为你们每个人都有自己的地图副本,你们做的修改只会影响到自己的副本,不会影响其他人的副本。
在计算机里,如果每个用户都复制了同一个文件,那么系统中就会有好几份文件数据。如果一个用户修改了他自己的那份文件数据,这个修改不会影响其他用户的文件数据,因为他们各自有各自的副本。
简单来说,共享文件就像是大家用同一张地图,任何修改都能被所有人看到。而复制文件就像是每个人都有自己的地图副本,你在自己的地图上做的标记,不会影响到其他人的地图。
 

 fd8456f1c8ac47cfaef25d8e264b3bf6.jpg

想象一下,你有一个大书架,书架上有很多书。每本书都有一个书名,就像文件名一样。但是,书架上的空间有限,你不想把所有书的详细信息都写在书架上,这样会占用太多空间。
所以,你决定用一种聪明的方法来管理这些书。你创建了一个索引结点,这就像是一个小笔记本,里面记录了每本书的详细信息,比如书的作者、出版年份、书的大小和重量等等。这样,你只需要在书架上写上书名,然后在每本书旁边放一个指向这个索引结点的指针,告诉你去哪里找到这本书的详细信息。
在计算机里,索引结点就是用来存储文件的详细信息的,比如文件的大小、创建时间等。文件名就是文件的名字,就像书名一样。索引结点指针就是指向索引结点的指示,告诉你去哪里找到文件的详细信息。
现在,假设有两个用户,User1和User2,他们都有自己的目录,就像他们都有自己的书架一样。User1的目录里有一本书,这本书的名字是"文件",旁边有一个索引结点指针,指向存储这本书详细信息的索引结点。索引结点里有文件的物理地址,就是书在书架上的确切位置,还有文件的其他信息,比如Count=Q,这可能表示这本书被多少人借阅过。
User2的目录里也有这本书的名字,旁边也有一个索引结点指针,指向同一个索引结点。这意味着User2也可以看到这本书的详细信息,因为他们都指向同一个索引结点。
总结一下,索引结点就像是一个小笔记本,记录了文件的详细信息。文件名就像是书名,索引结点指针就像是指向这个笔记本的指示。这样,即使多个用户都有自己的目录,他们也可以共享同一份文件的详细信息,因为他们都指向同一个索引结点。

d679d817854d462581ae004efbd28277.jpg


1. 索引结点中的链接计数变量(Count):
索引结点中有一个叫做  count  的链接计数变量,用来记录有多少个用户目录项链接到了这个索引结点上。
2. 共享文件的表示:
如果  count  的值为2,这意味着有两个用户目录项链接到了这个索引结点上,也就是说有两个用户正在共享这个文件。
3. 删除文件的操作:
当某个用户决定“删除”一个文件时,实际上他们只是删除了用户目录中与该文件对应的目录项,并且索引结点中的  count  值会减少1。
4. 文件删除的条件:
如果  count  的值大于0,这意味着还有别的用户在使用这个文件,所以不能删除文件数据,否则会导致指向文件的指针悬空(即指针指向了不存在的数据)。
5. 文件的最终删除:
当  count  的值为0时,表示没有用户再使用这个文件,此时系统会负责删除这个文件。
简单来说,索引结点中的  count  变量是用来追踪有多少用户正在共享同一个文件。删除文件时,只有当所有用户都不再使用(即  count  为0)这个文件时,文件才会被系统真正删除。

软链接

24426d71840544759742be4401b09e0d.jpg


想象一下,你有一个书架,书架上有很多书。现在,你的朋友User1和User2都对一本书特别感兴趣,这本书叫做"aaa"。但是,User3的书架上没有这本书,他只有一张纸条,上面写着"bbb",这张纸条就像是Windows操作系统里的"快捷方式"。
1. 索引结点1:
这是记录"aaa"这本书详细信息的地方,比如书的大小、作者等。User1和User2的书架上都有一个指向这个索引结点的指针,表示他们都在用这本书。
2. User1和User2的目录:
User1和User2的书架上都有一个叫做"aaa"的书,旁边有一个索引结点指针,指向记录这本书详细信息的索引结点1。索引结点1中的 Count 是2,表示有两个人在用这本书。
3. Link类型的文件:
User3的书架上没有"aaa"这本书,但他有一个叫做"bbb"的Link类型的文件,这个文件实际上就是一个指向"aaa"的快捷方式。它记录了"aaa"这本书存放的路径,比如"C:/User1/aaa"。
4. User3访问"ccc":
当User3想要访问"bbb"时,操作系统会识别出"bbb"是一个Link类型的文件,它会根据"bbb"中记录的路径,一步步地查找目录,最终找到User1书架上的"aaa"这本书的索引结点。
5. 索引结点2:
这是另一个索引结点,记录了另一本书"CCC"的详细信息。User3的书架上只有这本书,所以索引结点2中的 Count 是1。
简单来说,软链接就像是一张指向另一本书的纸条(快捷方式)。User3虽然没有"aaa"这本书,但他有一张指向这本书的纸条"bbb"。当User3想要看"bbb"时,操作系统会根据纸条上的路径,找到真正的书"aaa"。这样,即使User3的书架上没有这本书,他也能通过软链接访问到它。

cb5c116980254b059f7698eff654ea9e.jpg

 

623fdd782d6b444288cffc4de5d75664.jpg

删除快捷方式

777cf74a4af040b586e58f063fdc45ed.jpg 

5b2b4d4491f84be2a3599d3095b6fce5.jpg

想象一下,你有三个朋友,我们叫他们User1、User2和User3。User1和User2都有一种特别的玩具,叫做"文件1"。User3没有这个玩具,但他有一个指向这个玩具的线索,我们叫它"软链接"。
1. User1和User2的目录:
User1和User2的玩具箱里都有一个叫做"文件1"的玩具。这个玩具旁边有一个小标签,上面写着"索引结点指针",这个标签指向一个记录玩具详细信息的地方。
2. 软链接:
User2的玩具箱里还有一个特殊的玩具,叫做"文件2"。这个玩具其实是一个线索,它记录了"文件1"玩具放在哪里,就像是一个指向"文件1"的指示牌。
3. 文件1被删除:
有一天,User1不小心把"文件1"这个玩具弄丢了,但是他的玩具箱里还有那个指向玩具详细信息的标签。
4. User3的访问:
User3想玩"文件1",但他没有这个玩具。他只有User2给他的那个线索"文件2"。当他用这个线索时,操作系统就像侦探一样,根据线索上的地址"C:/User1/aaa",一步步找到了User1的玩具箱,但是发现玩具已经不见了。
5. 操作系统的判断:
当User3尝试用线索"文件2"找到玩具时,操作系统会识别出"文件2"是一个特殊的线索(Link类型文件),并会根据线索上记录的路径去找玩具。
6. 索引结点2和Count:
User3的玩具箱里还有一个叫做"索引结点2"的东西,它记录了"文件2"这个线索的详细信息。"Count=1"表示只有User3在使用这个线索。
简单来说,软链接就像是一张寻宝图,告诉你怎么找到宝藏(文件)。如果宝藏被拿走了,寻宝图(软链接)还在,但是按照图上的线索就找不到宝藏了。User3通过User2给的寻宝图(软链接文件2)去找宝藏(文件1),但是发现宝藏已经不见了。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值