🍖软连接与硬链接

摘要:
这通常意味着inode号在两个方面耗尽了磁盘空间,但通常inode号足够了,而磁盘空间通常不足。2.当指定的磁盘空间已满时会发生什么?

引入

1.硬链接与软连接

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

2.inode是什么

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

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

🍖软连接与硬链接第1张

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

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

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

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

一.软连接

1.什么是软链接

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

2.语法

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

3.软连接示例

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

🍖软连接与硬链接第4张

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

🍖软连接与硬链接第5张

二.硬链接

1.什么是硬链接

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

🍖软连接与硬链接第6张

2.语法

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

3.硬链接示例

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

🍖软连接与硬链接第7张

  • 无法创建目录硬链接

🍖软连接与硬链接第8张

三.硬链接与软连接的区别

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

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

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

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

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

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

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

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

1.软连接

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

2.硬链接

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

3.拷贝

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

4.通过 ls -i 来查看 inode

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

🍖软连接与硬链接第9张

五.磁盘空间问题

1.磁盘满了?

通常指两个方面

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

2.当指定磁盘空间满了怎么办?

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

🍖软连接与硬链接第10张

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

3.解决方案

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

🍖软连接与硬链接第11张

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

🍖软连接与硬链接第12张

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

🍖软连接与硬链接第13张

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

🍖软连接与硬链接第14张

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

免责声明:文章转载自《🍖软连接与硬链接》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇深入 js 深拷贝对象.NET Framework 版本和依赖关系下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

linux面试题目2

9./mnt目录主要用于什么?/root目录跟root用户有什么关系?/根目录与/boot目录有什么联系? 答:/mnt主要用来挂载外部设备,/root根目录是root用户的家目录,/boot目录是/根目录的子目录 10.某一天误操作,执行了rm??-rf??* ,会有哪些情况发生?请举例。 答:文件被彻底干掉,很难恢复。严重点系统瘫痪,数据全部丢失 二、...

安卓开发复习笔记(一)

第一章 安卓应用开发特色: • 四大组件Activity,Service,Broadcast Receiver,Content Provider ️• SQLite 数据库轻量级,运算速度极快的嵌入式关系型数据库,不仅支持sql语句,还可以通过安卓封装好的API进行操作,让存储和读取数据变得特别方便。 • 地理位置定位Android手机都内置GPS,结合强...

React入门教程第一课--从零开始构建项目

工欲善其事必先利其器,现在的node环境下,有太多好用的工具能够帮助我们更好的开发和维护管理项目。 我本人不建议什么功能都自己写,我比较喜欢代码复用。只要能找到npm包来实现的功能,坚决不自己敲代码。 本次编写程序的两个原则:1、尽量使用声明式的编程风格(声明式和命令式,不是很清楚的自己查查资料)2、能复用的决不自己编写。 任何多余的繁琐的行为都是错误的...

iOS实现pdf文件预览,上下翻页、缩放,读取pdf目录

最近有个朋友想做一个pdf预览,要求能够上下滑动翻页、带缩放、目录跳转功能。 因为之前我只做过简单的预览,那时直接用uiwebview实现的,这次找了下资料,发现一个比较好的库。 其原理实现: 自定义uiview来显示pdf+使用的是苹果官方的api读取目录+uiscrollview实现缩放及翻页。 不过这个库是左右翻页的,我不是很习惯,就改成了上下滑动翻...

Linux-(telnet,wget)

telnet命令 telnet命令通常用来远程登录。telnet程序是基于TELNET协议的远程登录客户端程序。Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输...

文件随机或顺序读写原理深入浅出

一、文件读写的用户程序、操作系统、磁盘交互原理  最近为了彻底搞懂文件读写原理,我特意查询了很多资料,包括Java读写文件的API代码、操作系统处理文件以及磁盘硬件知识等。由于网上现存技术文章,几乎没有找到一篇能够彻底综合讲明白这个原理的文章。心中还是有很多疑问。且有不少文章包括书籍所阐述的随机/顺序读写原理讲述的都是错误或误导性的。所以我综合了一下我能查...