Linux之链接

Linux之链接

简单介绍与Linux链接有关的概念与操作


索引节点

在Linux中,所有的文件都有一个索引节点(index node) 来存储使用文件所需的全部文件系统的信息,如文件地址、权限、文件大小、修改时间等。索引节点又称i节点(Inode),文件系统将所有的i节点都存放在i节点表中,每个i节点都有一个i节点号,查看文件的i节点信息可以使用如下命令

stat filename

目录中并不包含文件,而是只包含文件名和文件的i节点号

当我们在a目录下创建file文件时,大致步骤如下

  1. 在硬盘上保留存放该文件的空间
  2. 查看i节点表,找到一个空闲的i节点
  3. 将文件的信息填写到i节点中
  4. 在a目录中添加一个条目,包含文件名和i节点号

当我们要使用file文件时,只需要使用i节点号去查找i节点,再通过i节点访问文件即可。

文件名与i节点之间的连接就称为链接,一个i节点可以有多个链接,有多个文件名


创建链接ln

每当创建文件时,系统都会自动创建一个链接,如果你希望再要一个,可以使用ln命令

ln file newfile

例如

ln temp temp2

此时当前目录下就会多出来一个文件名temp2,但实际上它和temp指向的是同一个文件,因此修改temp2,temp也会修改。

使用ls -l可以查看文件的链接数量,在权限的右边

使用ls -i可以查看文件的i节点号

这种链接也称为硬链接


符号链接

符号链接也称为软链接

硬链接有两个缺点,不能为目录创建链接,不能为不同文件系统的文件创建链接。为了解决这两个问题,可以使用符号链接,也就是软链接。

符号链接是通过路径来查找文件的,所以当访问符号链接时,都会通过路径去找真实的文件,类似于windows的快捷方式。

创建软链接可以使用ln -s命令,语法如下

ln -s file newfile

例如

ln -s blank blank2

使用ls -l查看符号链接时,示例如下

lrwxrwxrwx. 1 root root 7 Oct 21 10:28 bin -> usr/bin

其中,第一个字母为l,表示是个符号链接。最右边则显示链接,bin链接到usr/bin。表示当访问bin时,实际上访问的是user/bin


在符号链接目录中使用cd和pwd

对于上面的符号链接目录bin -> usr/bin

当我们使用cd进入bin时,默认情况下,cd会将bin为真实的目录,看起来好像我们真的bin中一样,实际上我们操作的都是usr/bin。

当我们使用cd -P(physical,物理)进入bin时,我们将跳到实际的目录usr/bin中。

对于pwd也是类似的,当我们使用cd bin后,默认情况下,pwd将bin视为真实的目录,打印bin的路径。

当我们使用pwd -P,则打印bin实际目录的路径,也就是usr/bin

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值