1、我们先了解一下Linux数据是如何保存和查询的
对于操作系统来说,数据分为两种: 1. User data(用户数据) 2. (元数据)。 用户数据是保存和记录的文件的内容。 例如,一个1M的ppt文件和一个500K的txt文件。 这是所有用户数据。 这个文件总是有属性,比如大小、修改时间、访问时间、创建时间、存储位置(文件所在的inode)、文件创建者等信息。 这种属性信息可以理解为汇总信息,我们称之为元数据。 总之,用户数据是文件的实际内容,而元数据是摘要信息。
在Linux中,元数据中的inode号(inode号即索引节点号)是文件的唯一标识符而不是文件名。 文件名只是为了方便人们记忆和使用。 系统或程序使用索引节点号来查找正确的文件数据块。
2、查看文件对应的inode号
[root@zcwyou ~]# ls -i latest.tar.gz
.tar.gz
Linux检查文件对应的inode号
可以看出.tar.gz文件的inode号是。 Linux在搜索、读取和写入文件时,将inode号视为标识符,而不是文件名。 文件名类似于网站的域名,只是为了方便人类记忆。
即有一个硬链接,即.tar.gz。
3.根据inode号找到对应的文件
那么sf123,问题就出现了,系统上是否还有第二个文件及其索引节点号。
使用 find 来查找它:
[root@zcwyou ~]# find / -inum 134474678
搜索结果如下:
/root/.tar.gz
/root/.tar.gz
Linux根据inode号找到对应的文件
硬盘上确实有第二个文件,它的索引节点号也是如此。 在这种情况下,我们认为有两个硬链接。 当然,这是本文作者提前准备好的。
为了解决文件共享的问题,Linux系统引入了两种类型的链接:硬链接和软链接(也称为符号链接、软链接或链接)。 链接解决了Linux系统的文件共享问题,同时也带来了隐藏文件路径、增加权限安全、节省存储等好处。
4.确认硬链接数量
查看文件 .tar.gz
[root@zcwyou ~]# ll latest.tar.gz
输出如下:
-rwxr-xr-x。 2 root root Oct 11 15:00 .tar.gz
请注意输出结果中的数字2,表示该文件有2个硬链接。
一般情况下,一个inode只有一个链接,如下例
[root@zcwyou ~]# ll abc.txt
输出结果:
-rw-r--r--。 1 root root 9 十一月 21 11:39 abc.txt
请注意输出结果中的数字1,表示该文件只有一个硬链接。 默认情况下,该文件只有一个硬链接。
5.查看软链接
我们看另一个文件
[root@zcwyou ~]# ll /dev/stdout
。 1 root root 15 Sep 26 15:57 /dev/ -> /proc/self/fd/1
查看linux中的软链接
我们发现/dev/实际上指向了另一个文件/proc/self/fd/1,这是一个软链接。 类似于系统上的快捷方式。
6、软链接和硬链接的区别
6.1 软链接的特点
6.2 硬链接的特点
ln链接器的原理如下:
Linux ln链接器示意图
7. 创建文件链接
Linux ln命令是一个非常重要且常用的命令,它用于创建文件或目录的链接。
7.1 创建软链接
创建一个演示软链接的文件。
[root@zcwyou ~]# touch soft.txt
创建软链接示例:
[root@zcwyou ~]# ln -sf soft.txt soft123.txt
测试结果:
[root@zcwyou ~]# ll soft123.txt
输出文件属性
。 1 root root 8 十一月 26 17:48 .txt -> soft.txt
linux 创建软链接
可以看到这个文件指向当前目录soft.txt,配置成功。 7.2 创建硬链接
创建一个演示硬链接的文件。
[root@zcwyou ~]# touch hard.txt
不使用选项创建硬链接
[root@zcwyou ~]# ln hard.txt hard123.txt
测试结果:
[root@zcwyou ~]# ll hard123.txt
输出文件属性:
-rw-r--r--。 2 root root 0 十一月 26 17:47 .txt
linux 创建硬链接
请注意上面输出中的数字 2,表示该文件有 2 个副本。
八、总结
ln 命令可以创建文件的副本,也可以创建软链接。
未经允许不得转载! 作者:admin,转载或复制请以超链接形式并注明出处天心神途传奇手游发布网。
原文地址:《sf123 Linux软链接和硬链接区别详解:ln命令》发布于:2024-04-03




还没有评论,来说两句吧...