Linux学习-链接

正在学习Linux,记录一下学习历程。奋斗


i节点

当创建文件时,完成了两件事:

1. 在存储设备上保留一块空间用来存储数据

2. 创建一个称为索引节点或i节点的结构,来存放文件的基本信息

i节点包含使用文件所需的全部文件系统信息。可以通过stat命令查看i节点内容。

文件系统将所有的i节点存放在一个大表中,被称为i节点表。

在i节点表中,每个i节点由所谓的所引号或i节点号表示。

目录中只包含文件名称及文件的i节点号。

每当程序需要使用文件时,程序在目录中查找文件名将是一件简单的事,只需使用相应的i节点号查找i节点,然后使用i节点中的信息访问文件即可。


链接

链接:文件名和i节点之间的连接。

从概念上讲,链接将文件名和文件本身连接起来。这也是i节点不包含文件名的原因。

一个文件可以有不止一个名称。

文件的唯一标识符是其i节点号,而不是它的名称。

因此,多个文件名称可以引用同一个i节点号。

链接的基本想法是同一个文件可能拥有不同的含义(取决于文件使用的环境)。

链接是基本文件操作cp,mv,rm,ln的基础。

系统平等地对待所有的链接。

文件不由它们的名称或位置控制,而只受所有权和权限控制。


创建新链接

每当创建文件时,文件系统就会自动在文件名和i节点间创建一个链接。

当希望为已有文件创建一个新链接时,使用ln(link)命令。

ln file newname

为单个文件创建新链接。

file是文件的已有名称,newname是希望赋予链接的新名称。

ln file...  firectory

为一个或多个普通文件创建新链接,并将新链接放在指定的目录中。

file是文件的名称,directory是希望放置新链接的目录名称。

ps:

这里的文件名称均指文件的路径名,即在目录树中的定位。


移除链接

通过移除目录条目,消除文件名和i节点号之间的连接。

如果文件已经没有链接,删除该文件。


符号链接

上文中讨论的链接类型允许我们为同一个文件指定不止一个名称。

但是有两个限制:

1. 不能为目录创建链接

2. 不能为不同文件系统中的文件创建链接

符号链接:包含的不是文件的i节点号,而是源文件的路径名。可以创建不同文件系统中的目录或文件的链接。

用ln -s 创建。

符号链接文件的文件类型指示符为l

文件只有4个字节长,仅能容下实际文件的路径名。该文件是一个符号链接,而不是一个只有4个字符的普通文件,这一事实在该文件的i节点中注明。


硬链接&软链接

硬链接:常规的链接

软链接:符号链接

使用ls -l时显示的链接数是硬链接的数量。





  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值