文件的构成

由元数据(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. JavaWeb学习day7-Response初学3(重定向)

    重定向:web资源收到客户端请求后,通知客户端去访问另外一个web资源 1 protected void doGet(HttpServletRequest req, HttpServletRespon ...

  2. 倒数第N个字符

    一. 题目描述 给定一个完全由小写英文字母组成的字符串等差递增序列,该序列中的每个字符串的长度固定为 L,从 L 个 a 开始,以 1 为步长递增.例如当 L 为 3 时,序列为 { aaa, aab ...

  3. Bugku CTF练习题---MISC---眼见非实

    Bugku CTF练习题---MISC---眼见非实 flag:flag{F1@g} 解题步骤: 1.观察题目,下载附件 2.拿到手以后发现是一个压缩包,打开是一个Word文档,观察其中的内容,除了开 ...

  4. XCTF练习题---WEB---robots

    XCTF练习题---WEB---robots flag:cyberpeace{6c4b08933075fc620d16d1157ee07a7e} 解题步骤: 1.观察题目,打开场景 2.打开实验场景, ...

  5. Linux 运维请务必收藏~ Nginx 五大常见应用场景

    关注「开源Linux」,选择"设为星标" 回复「学习」,有我为您特别筛选的学习资料~ Nginx 是一个很强大的高性能 Web 和反向代理服务,它具有很多非常优越的特性,在连接高并 ...

  6. 4.文件共享总结上篇-Windows之间文件共享

    本文章包含上篇和下篇两部分,今天我们主要讨论Windows系统之间的文件互访 Windows系统之间文件互传 1)利用Windows自带的文件共享服务 本次试验以Win7为服务器端,win10为客户端 ...

  7. axios源码解析 - 请求拦截器

    axios请求拦截器,也就是在请求发送之前执行自定义的函数. axios源码版本 - ^0.27.2 (源码是精简版) 平时在业务中会这样去写请求拦截器,代码如下: // 创建一个新的实例 var s ...

  8. 二、深入学习c++需要掌握的基础知识

    一.掌握形参带默认值的函数 给定默认值的时候是从右向左给,因为函数在内存中的压栈顺序是按照形参列表的元素从右向左依次向内存中压栈 形参是否有默认值对调用效率的问题:如果有一个默认值,在函数调用的过程中 ...

  9. mybatis 查询返回的类型中字段类型为 List<xx>

    基本类型数组 mapper.xml <resultMap id="xxDtoResultMap" type="com.xx.xxDto"> < ...

  10. 使用 AgileConfig 动态配置 NLog

    NLog 是我们在 .NET 领域使用非常广泛的日志组件.它默认使用 xml 来维护它的配置.最近有几个同学问我当使用 AgileConfig 的时候如何配置 NLog .因为 AgileConfig ...