zoukankan      html  css  js  c++  java
  • Linux基础--04-盘满的两种情况、软连接和硬链接

    一、盘满的两种情况
    比如一个文件在硬盘存放方式是,数据块+inode元数据块
    inode元数据块存储:权限、属主、属组、创建时间、文件名等信息
    所以盘满的两种情况为:数据块满即空间大小不够用了,和inode满inode号不够用了
    ls -i /etc/passwd 会显示inode编号

    df -i 查看inode信息
    df -h查看空间占用大小

    dd if=/dev/zero of=/sdb5/test1 bs=2g count=1

    该dd命令可以测试硬盘的读写速度

    例:运维工作中备份日志文件,直接用cp就可能出现空间还有,但是inode号不够用的情况
    解决办法:将日志文件打包再备份,节约inode编号

    二、软链接和硬链接

    一个分区格式化文件系统后,没有任何文件但用df查看会看到已经占用了一部分,这部分就是文件系统
    文件系统由以下组成
    Super block

    inode号 权限 属主 属组 创建时间 文件名 指针

    inode号 权限 属主 属组 创建时间 文件名 指针

    inode号 权限 属主 属组 创建时间 文件名 指针

    inode号 权限 属主 属组 创建时间 文件名 指针

    Directory block block
    A.txt inode号                              存放数据的block
    B.txt inode号


    ls -i /dev/a.txt 查看文件的inode号
    ls -di /dev 查看目录的inode号

    Cat /a.txt 的过程如下:
    cat先去获得/根目录的inode号为2,再根据inode号或者指针(指向/的directory block:里面存放着
    该目录下的文件和inode的对应关系),再根据a.txt的inode号到inode block里获取文件的信息权限、指针(指向数据块block)然后获取后显示出来。
    删除a.txt的过程

    Super block将a.txt之前占用的inode号置为free,directory block中去掉a.txt和inode的对应关系;数据block中与该文件所占用的块也置为free
    即删除没有真正意义上的删除,都是覆盖

    软链接
    ln -s /a/source.txt /b/des.txt

    特点:1.相当于windows中的快捷方式
    2.删除链接文件,源文件无影响
    3.删除源文件,链接文件失效
    4.修改源文件/链接文件,内容都变
    5.软链接是指向文件名的
    6.软链接可以跨分区建立

    硬链接
    ln /a/s.txt /b/d.txt

    特点:
    1.删除链接文件,源文件无影响
    2.删除源文件,链接文件无影响
    3.修改源文件/链接文件,内容都变
    4.硬链接指向inode号
    5.硬链接不可跨分区建立

  • 相关阅读:
    编写测试类实现并发访问固定URL(亲测能用!!!)
    java项目添加log4j打印日志+转换系统时间
    springboot项目没错,但就是报红叉
    我想查看数据库名,输入命令:select name from v$database;为什么会说表和视图不存在
    DRUID连接池的实用 配置详解+使用方法+监控方式(太强大了!!!)
    Druid连接池 属性说明
    springBoot2.2.0+mybatis-xml文件方式+Oracle11g+jsp页面,实现简单的CRUD
    s5-12 RIP
    s5-12 RIP
    s5-13 RIP 为什么会 衰败
  • 原文地址:https://www.cnblogs.com/jinf/p/10293973.html
Copyright © 2011-2022 走看看