zoukankan      html  css  js  c++  java
  • Linux之存储及文件系统管理

    一、存储管理

      1、各种存储设备在Linux系统中对应的文件名

        

       2、硬盘结构及分区

        1)、硬盘结构

          

           

        2) 、为什么要进行硬盘分区:
          a) 更容易管理和控制系统,因为相关的文件和目录都放在一个分区中。
          b) 系统效率更高。
          c) 可以限制用户使用硬盘的份额(磁盘空间的大小)。
          d) 更容易备份和恢复。

        3)、磁盘分区

          a) 磁盘分区包括主分区、扩展分区和逻辑分区

          b) fdisk命令:管理磁盘分区

            fdisk -l:列出系统内所有磁盘分区

            

          创建磁盘分区(对sdb磁盘进行分区)

            

              

            

            

            partprobe命令:使内核重新读取分区信息

      3、格式化文件系统    

        

      4、挂载与卸载

        

        

    二、文件系统

        通常称一个可被挂载的数据为一个文件系统

        Linux系统中一切皆文件,文件除了包含实际的数据内容外,还包括许多的属性,例如:文件的权限信息、属主属组信息、以及时间戳等。文件系统会将这两部分数据分别放在不同的块中。

        

        superblock:记录此 filesystem 的整体信息,包括inode/block 的总量、使用量、剩余量, 以及文件系统的格式与相关信息等

        inode table:  存储文件的元数据(文件权限,时间戳,指向block的指针等信息)

        data block: 存储是文件的实际数据

      1、文件系统的运作

        如下图所示,文件系统先格式化出 inode 与 block 的区块,假设某一个文件的属性与权限数据是放到 inode 4 号(下图较小方格内),而这个 inode 记录了文件数据的实际放置点为 2, 7, 13, 15 这四个 block,此时操作系统就能够据此来排列磁盘的阅读顺序,可以将四个 block 内容读出来!

        

      2、符号链接与硬链接

        符号链接:又称软链接,是指向另一个文件的文件

        硬链接:一个硬链接(hard link)是一个文件名与一个i节点之间的对应关系,也可以认为一个硬链接是在所对应的文件上添加了一个额外的路径名

        例:将/home/heilong/a.txt创建软链接到/tmp/b.txt

         

          将/home/heilong/ying.txt创建硬链接到/tmp/ying.txt.bak

         

        软链接与硬链接的区别:

          软链接:

          1) 相当于windows中的快捷方式

          2) 删除链接文件,源文件无影响

          3) 删除源文件,链接文件失效

          4) 修改源文件/链接文件,内容都随之改变

          5) 软链接指向源文件的文件名

          6) 软链接可以跨分区创建

          硬链接:

          1) 删除链接文件,源文件无影响

          2) 删除源文件,链接文件无影响

          3) 修改源文件/链接文件,内容都随之改变

          4) 硬链接指向inode号

          5) 硬链接不可以跨分区创建

      3、df命令与du命令

        df命令:查看文件系统中磁盘使用和空闲区的数量,以及挂载信息。-h选项:改变单位

          

        du命令:查看文件或目录的大小

          

  • 相关阅读:
    幂等性
    视频上墙
    java 字符串 大小写转换 、去掉首末端空格 、根据索引切割字符 、判断是否含有某连续字符串
    Java 递归 常见24道题目 总结
    Java 单引号 与 双引号 区别
    细谈 Java 匿名内部类 【分别 使用 接口 和 抽象类实现】
    细谈 == 和 equals 的具体区别 【包括equals源码分析】
    简单谈谈 数组排序 的方法 【自定义算法 、 冒泡算法 等】
    细说 栈 为什么又被称为 栈堆 ?【得从数组变量讲起】
    简单谈谈 堆、栈、队列 【不要傻傻分不清】
  • 原文地址:https://www.cnblogs.com/heilongorz/p/6073216.html
Copyright © 2011-2022 走看看