文件的构成

由元数据(metadata)和数据(data)两部分组成

硬盘分区上一块空间存该分区上文件的元数据,一块空间存这些文件的数据

因为元数据和数据分离存放,所以需要通过指针地址来进行关联

元数据: 存放文件的属性信息

存放每个文件的元数据信息: innode表

元数据信息包括:

  • inode number 节点号
  • 文件大小、类型、权限
  • UID、GID
  • 所有者、所属组
  • 文件时间戳(三个)
  • 链接数

节点编号:每个文件的唯一标识,innode number (ls -i 可以查看inode编号)

df -i --- 每个空间可用得节点编号数量,不同分区得节点编号不干扰

数据: 存放文件真正的数据

磁盘上存放数据空间的分配单位:块(block),默认大小为4kb。 一个文件的数据部分由若干个块来存放。

inode表和数据部分通过指针地址进行关联(指针是保存了别人地址值的一个变量)

目录文件的组成:

目录文件是一个特殊的文件

两部分组成

  • 元数据 -- 存放属性信息
  • 数据块:数据块存放的是文件列表(inode table)和inode number之间的映射关系

删除目录中的文件:

把目录文件的数据块部分的文件列表和文件的节点编号的映射关系删除。

创建文件

1.系统分配空闲的节点编号

2.系统在存放元数据信息的空间添加上对应的该文件的元数据信息

3.在存放数据的空间分配指定大小的空间给该文件存放数据

解决磁盘空间不足的问题

方法一:

1.直接删除占用大的文件,但是若是这个文件被其他进程使用,即使删除了文件但是空间仍然没有被释放。

2. lsof | grep delete --- 照到被删除的文件,看他被那个进程占用,使用kaill关闭这个进程就行了

方法二:

使用重定向创建一个空文件去替换原有的文件---cat /dev/null > 指定文件

创建文件出现空间不够的问题

1.磁盘分区的节点号 inode用完了 可以使用 df -i 进行查看

2.分区的空间真的占用满了 使用df -h 进行查看

软硬链接

硬链接

硬链接:一个文件多个文件名

创建完硬链接后 权限后面的数字会显示这个文件的文件名个数 --- 连接数表明有几个文件名

链接数:

硬链接特点:

  1. 不能跨设备、跨分区
  2. 可以通过多种路径访问到文件
  3. 不允许对目录文件创建硬链接
  4. 每创建一个硬链接 链接数就加1

    注意:

    不允许对目录文件创建硬链接,目录文件链接数2的来源:

    一个是自己本身的名字,一个是目录文件里面的点(.)

软(符号)链接

和源文件非同一个文件、源文件链接数没有变、创建的文件类型和源文件不一样

特点:

  1. 软链接和源文件不是同一个文件(不像硬链接一样)
  2. 创建软连接后,源文件的连接数没有变化
  3. 软连接的文件大小和源文件没有关系,软连接的大小就是源文件路径字符的大小
  4. 软链接支持跨设备和目录文件创建软链接

删除源文件后,软连接就不能使用了

允许跨分区进行操作、且支持给目录文件创建链接

以相对路径创建软链接:

  • 创建软链接时,如果源文件使用相对路径,则这个路径应该相对于软链接文件的相对路径,而不是相对于自己本身
  • 创建一个软连接到一个目录下,没有指定软连接的名字,那么软连接的名字和源文件名一致

Linux文件的删除和软硬链接的更多相关文章

  1. linux学习(四)复制(cp)移动(mv)删除(rm)查找(find)文件、文件夹操作、软硬链接的区别

    目录 复制文件 mv命令 rm命令 touch 命令 file命令 find命令 grep命令 mkdir命令 rmdir命令 @(复制移动删除查找文件.软硬链接的区别) 复制文件 cp命令用于复制文 ...

  2. Linux文件的软链接和硬链接

    1.Linux链接概念 Linux链接分两种,一种被称为硬链接(Hard Link).还有一种被称为符号链接(Symbolic Link).默认情况下.ln命令产生硬链接. 1.1索引节点 索引节点是 ...

  3. Linux运维学习笔记-软硬链接知识总结

    文件链接   硬链接,通过索引节点来进行链接 硬链接原理图 硬链接的创建: 直接执行命令“ln 源文件 硬链接文件”,即可完成创建硬链接. 硬链接知识小结: 1.具有相同Inode节点号的多个文件是互 ...

  4. linux文件描述符、软硬连接、输入输出重定向

    引用链接:https://blog.csdn.net/qq769651718/article/details/79459346 文件描述符的作用: 文件描述符是linux操作系统中特有的概念.其相当于 ...

  5. linux 文件已经删除,但是空间没有释放的原因

    监控系统报告一台服务器的空间满了,登陆后发现/tmp下有大量access_log文件,分析是Apache的日志文件很久没有清理了,确认并执行删除操作. 但是,问题来了,执行 rm /tmp/acces ...

  6. Linux文件被删除后恢复

    当ext4中的文件被删除后,进行文件恢复:http://www.360doc.com/content/18/0320/08/51898798_738625260.shtml上面的博客是恢复删除的文件, ...

  7. linux文件夹删除、创建

    一.删除文件夹 rm -rf ./html2imag 二.创建文件夹 mkdir html2image

  8. NO21 Llinux的文件种类与扩展名--文件权限--软硬链接--Linux删除文件原理

    Linux的文件种类与扩展名 一.文件种类:1.普通文件(regular file)第一个字符为[ - ]包括:①纯文本档(ASCII):这是Linux系统中最多的一种文件类型,称为纯文本档.是因为内 ...

  9. 软硬链接、文件删除原理、linux中的三种时间、chkconfig优化

    第1章 软硬链接 1.1 硬链接 1.1.1 含义 多个文件拥有相同的inode号码 硬链接即文件的多个入口 1.1.2 作用 防止你误删除文件 1.1.3 如何创建硬链接 ln 命令,前面是源文件  ...

随机推荐

  1. Java语言学习day33--8月8日

    今日内容介绍1.基本类型包装类2.System类3.Math类4.Arrays类5.大数据运算 ###01基本数据类型对象包装类概述 *A:基本数据类型对象包装类概述 *a.基本类型包装类的产生 在实 ...

  2. css兼容问题集锦

    BEGIN; 1.文本框很大,导致里面的内容不居中.以及内容为数字时,不支持text-indent属性 解:line-height: K px; (值为文本框的height值). 2.文本框有背景图片 ...

  3. 如何配置JAVA环境并安装IEAD软件

    安装IDEA软件之前需要做哪些准备? 在安装IDEA软件之前,需要先确定电脑中有没有JDK,如果没有需要先安装JDK. JDK是整个JAVA的核心,包括了Java运行环境,Java工具(javac/j ...

  4. “如何实现集中管理、灵活高效的CI/CD”在线研讨会精彩内容分享

      "如何实现集中管理.灵活高效的CI/CD"在线研讨会精彩片段分享 片段主讲人:李培(西瓜刀) 大家好,我是李培.前面听文老师讲DevOps,包括CI/CD 的一些理论,也是挺有 ...

  5. 劳动节快乐!手写个核心价值观编码工具 - Python实现

    前言 今天是五一劳动节,祝各位无产阶级劳动者节日快乐! 然后来整活分享一些有趣的东西~ 这个小工具是我大学时做着玩的,对于各位接班人来说,12个词的核心价值观这东西,大家都非常熟悉了,这工具可以实现将 ...

  6. 阿里CBU技术面试小结

    一个执着于技术的公众号 前言 今天给大家分享一篇胡文兴同学阿里CBU技术面试的自我总结,希望通过本篇文章也让正在准备求职面试的你有所帮助. 本篇文章已经征得原作者同意转载至本公众号,并且征得他的同意标 ...

  7. 如何查看Linux进程详情?(ps命令)

    点击关注上方"开源Linux", 后台回复"读书",有我为您特别筛选书籍资料~ 1. ps是什么? 要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是 ...

  8. 【原创】ShellCode免杀的骚姿势

    ShellCode免杀的骚姿势 常见的免杀手法: shellcode(攻击代码)和加载程序的分离: Lolbins白利用加载shellcode(白名单利用): shellcode混淆.编码解码: sh ...

  9. svelte组件:svelte3.x自定义美化虚拟滚动条组件svelte-scrollbar

    基于svelte3.0自定义pc端虚拟滚动条组件svelteScrollbar. svelte-scrollbar:运用svelte3.x创建的桌面pc版自定义美化滚动条组件.支持是否原生滚动条.自动 ...

  10. linux中MySQL主从配置(Django实现主从读写分离)

    一 linux中MySQL主从配置原理(主从分离,主从同步) mysql主从配置的流程大体如图: 1)master会将变动记录到二进制日志里面: 2)master有一个I/O线程将二进制日志发送到sl ...