Linux 硬链接和软链接详细介绍 及 软链接注意事项-CSDN博客

Linux 硬链接和软链接详细介绍

1、Linux 文件介绍

Linux 文件系统及相关管理工具 详细介绍

stat 和 touch 的命令使用(文件元数据的修改和查看)

1.1 文件组成

一个文件通常有两部分组成:

  • 元数据(metadata):使用 stat 命令查看
  • 数据(data):使用文件查看命令查看,如 cat、tac、less等

1.2 文件 Inode

在 Linux 中,元数据中的 Inode 号(Inode 号即索引节点号)才是文件的唯一标识而非文件名。文件名仅是为了方便人们的记忆和使用,系统或程序通过 inode 号寻找正确的文件数据块。

在这里插入图片描述
可使用以下两种方式进行文件 Inode 。

[root@Tang link]# touch link.txt

# 第一种查看方式
[root@Tang link]# ls -i
101662104 link.txt

# 第二种查看方式
[root@Tang link]# stat link.txt 
  File: ‘link.txt’
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: fd00h/64768d	Inode: 101662104   Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2020-05-15 14:27:32.015638699 +0800
Modify: 2020-05-15 14:27:32.015638699 +0800
Change: 2020-05-15 14:27:32.015638699 +0800
 Birth: -

1.3 改变文件名称,Inode 不改变

[root@Tang link]# ls
link.txt

# 改变文件名称
[root@Tang link]# mv link.txt link-rename.txt 

[root@Tang link]# ls
link-rename.txt

# 查看文件 Inode
[root@Tang link]# ls -i
101662104 link-rename.txt

[root@Tang link]# stat link-rename.txt 
  File: ‘link-rename.txt’
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: fd00h/64768d	Inode: 101662104   Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2020-05-15 14:27:32.015638699 +0800
Modify: 2020-05-15 14:27:32.015638699 +0800
Change: 2020-05-15 14:34:04.751308144 +0800
 Birth: -

2、硬链接和软链接

2.1 前提

为解决文件的共享使用,Linux 系统引入了两种链接:硬链接 (hard link) 与软链接(又称符号链接,即 soft link 或 symbolic link)。

链接为 Linux 系统解决了文件的共享使用,还带来了隐藏文件路径、增加权限安全及节省存储等好处。

在这里插入图片描述

2.2 硬链接

2.2.1 硬链接介绍

硬链接是新的目录条目,其引用系统中的现有文件。

文件系统中的每一文件默认具有一个硬链接。

为节省空间,可以不复制文件,而创建引用同一文件的新硬链接。

新硬链接如果在与现有硬链接相同的目录中创建,则需要有不同的文件名,否则需要在不同的目录中。指向同一文件的所有硬链接具有相同的权限、连接数、用户/组所有权、时间戳以及文件内容。指向同一文件内容的硬链接需要在相同的文件系统中。

简单说,硬链接就是一个 inode 号对应多个文件。就是同一个文件使用了多个别名(上图中 hard link 就是 file 的一个别名,他们有共同的 inode)。

2.2.2 硬链接创建
# 创建文件内容
[root@Tang link]# echo "Hello" > link-rename.txt
[root@Tang link]# cat link-rename.txt
Hello
[root@Tang link]# ll
total 4
<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值