14.软连接与硬链接

1|0引入

1|11.硬链接与软连接

Linux 系统中有软链接和硬链接两种特殊的 "文件"

1|22.inode是什么

⛅要解释清楚两者的区别和联系需要先说清楚 linux 文件系统中的 inode 这个东西

⛅当划分磁盘分区并格式化的时候,整个分区会被划分为两个部分,即inode区data block(实际数据放置在数据区域中)

⛅这个inode即是(目录、档案)文件在一个文件系统中的唯一标识,需要访问这个文件的时候必须先找到并读取这个 文件的 inode

⛅Inode 里面存储了文件的很多重要参数,其中唯一标识称作 Inumber

⛅ 其他信息: 创建时间(ctime)、修改时间(mtime) 、文件大小、属主、归属的用户组、读写权限、数据所在block号等信息。

⛅查看一个文件的元数据: "# stat [文件名]"

2|0一.软连接

2|11.什么是软链接

可以看成是 Windows 中的快捷方式, 可以让你快速链接到目标文件或目录, 它找到的是原文件名, 通过原文件名再找到真实的数据, 它自身有 inode

2|22.语法

ln -s [源文件/目录路径] [软连接放置的路径及名字] #设置连接时源文件要使用绝对路径, 不然链接会变红,无效

2|33.软连接示例

  • 文件软连接
"/tmp" 目录下创建 "/root" 目录下的 "a.txt" 软连接

  • 目录软连接
"/tmp" 目录下创建 "/root" 目录下的 "/song" 的软连接

3|0二.硬链接

3|11.什么是硬链接

它透过文件系统的 inode 来产生新的文件名, 注意不是产生新的文件, 换而言之, 就是一个文件使用了多个别名, 这个别名与源文件名都指向源文件的 inode

3|22.语法

ln [源文件路径] [硬连接放置的路径及名字] #目录不能创建硬链接 #不能跨分区系统创建硬链接

3|33.硬链接示例

  • 文件硬链接
"/tmp"目录下创建"/root"目录下的"a.txt"的硬链接

  • 无法创建目录硬链接

4|0三.硬链接与软连接的区别

🐼 ln -s 创建软连接, ln 创建硬链接

🐼 目录不能创建硬链接, 且不能跨分区系统创建

🐼 软连接支持文件和目录, 且能跨分区系统, 常用

🐼 硬链接文件与源文件 inode 相同, 而软连接是不同的

🐼 删除软连接文件和硬链接文件, 对源文件没有任何的影响

🐼 删除源文件, 软连接失效, 硬链接无影响(还可以访问内容)

🐼 删除源文件和硬链接, 整个文件会被真正的删除

5|0四.软连接, 硬链接与 拷贝 的区别

5|11.软连接

软连接建立的链接文件与源文件并不是同一个文件, 就是一个快捷方式, inode号也不同

5|22.硬链接

硬链接实际上是文件的一个别名, 链接文件和源文件实际上是同一个文件, 修改源文件或者硬链接文件, 相互都会改变

5|33.拷贝

复制源文件, 产生一个全新的文件, 与源文件没有关系了, 修改新文件内容与源文件无关

5|44.通过 ls -i 来查看 inode号

查看 inode 可判断是否是同一文件

6|0五.磁盘空间问题

6|11.磁盘满了?

通常指两个方面

  • inode 号用完了
  • 磁盘空间用完了
  • 而通常情况下 inode号是够用的, 磁盘空间经常不够用

6|22.当指定磁盘空间满了怎么办?

  • df 查看磁盘空间及 inode号使用情况

  • 假设 /boot 这个目录关联的磁盘 /dev/sda2空间使用已被使用100%
  • 当你创建文件和写文件的时候都无法操作
  • 但是有一些软件或者配置必须在 /boot/data 下才能找到(或者"/boot"下的其他目录)

6|33.解决方案

  • 首先插上一块新的磁盘, 查看磁盘是否存在

  • 不格式化(制作文件系统)的话可能会报错

  • 格式化新磁盘(制作文件系统) mkfs.xfs /dev/sdb / mkfs.ext4 /dev/sdb

  • 然后让 /boot/data关联(挂载)上去 mount /dev/sdb /boot/data

    • 之后就可以在 /boot/data 里面写文件了, 路径还是这个路径

__EOF__

本文作者ଲ小何才露煎煎饺
本文链接https://www.cnblogs.com/zeny/articles/14438358.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   ଲ小何才露煎煎饺  阅读(108)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
点击右上角即可分享
微信分享提示