• 磁盘与文件系统管理


    一、文件系统概述

    对于linux的文件系统来说,它将一个文件的属性存放到inode中,实际数据存放到data block中,整个文件系统还有一个super block。

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

    inode:记录文件的属性(权限、属主属组、大小、修改与访问时间等),以及此文件的数据所在的block号码

    block:记录实际文件的内容

    每个文件最多占用一个inode,如果文件较大可能占用多个block,如果文件较小block的剩余空间不能再被其他文件占用。

    一个文件系统一开始就讲inode与block规划好了,除非重新格式化或者resizefs,否则inode与block固定后就不再变动。

    二、df

    df用来列出文件系统的整体使用情况,语法df [-akmhiTH] [文件系统/挂载点],一般使用df -h即可。

    • -a:列出所有的文件系统,包括系统特有的/proc等
    • -k/m/h:以K、M或者较易阅读的单位显示大小,默认以KB显示
    • i:显示inode数量,而不是大小
    • T:显示文件系统类型
    • H:以1000为进位的方式显示大小

    三、du

    du用来统计目录和文件所占用的磁盘容量,语法du [-akmhs] 目录或文件,一般在某个目录下使用du -sh *。

    • -a:列出指定的目录或文件所占用的空间大小,会递归显示各个层级的目录
    • -k/m/h:以K、M或者较易阅读的单位显示大小,默认以KB显示
    • s:列出指定的目录或文件所占用的空间大小,不显示子目录

    dumpe2fs /dev/hda   查看文件系统信息

    五、fdisk磁盘分区

    fdisk -l [磁盘]:列出指定分区表,如果省略则列出所有分区

    fdisk 磁盘:对指定磁盘进行分区操

    注意使用fdisk进行分区时,是对磁盘进行分区而不是对磁盘中的分区进行分区,例如应该是fdisk /dev/sda而不是、fdisk //dev/sda1。

    fdisk中常用的命令是p打印、n新增、d删除、w保存并退出、q不保存退出。

    如果通过fdisk进行了分区修改,需要在退出fdisk命令后执行partprobe来告知内核重新读取分区表。 

    由于每个磁盘最多有4个分区,在新增分区时:

    如果分区号1-4有剩余且未有扩展分区,此时会让选择创建主分区还是扩展分区,和1-4之间的分区号

    如果分区号1-4有剩余且已有扩展分区,此时会让选择创建主分区还是逻辑分区,如果选择主分区还需要选择剩余的分区号,选择逻辑分区系统会自动指定

    如果分区号1-4没有剩余,无需挑选分区类型,直接进入逻辑分区流程

    六、文件系统格式化

    mke2fs

    七、mount与umount

    mount -a:读取/etc/fstab将未挂载的磁盘挂载上

    mount [l]:显示当前挂载信息,加上-l参数会增加一列label卷标

    mount  [-t 文件系统类型]  [-L label]  [-o 参数] 设备名 挂载点

    • -t:指定文件系统类型,常见的有ext2、ext3、vfat、iso9660等,一般没有特别情况下这个参数可以不指定,系统会自动分析并测试挂载
    • -L:利用文件系统的卷标名称进行挂载
    • -o:挂载参数,例如账号、密码、权限等

        ro、rw 挂载后的文件系统只读、可读写

        async、sync 使用异步、同步方式写入

        auto noauto 允许、禁止使用mount -a一键挂载

        ……等等其他参数

    umount 设备名或挂载点

    例如mount /dev/sda1 /mnt/sda1

        umount /dev/sda1或者umount /mnt/sda1

    系统重启后会读取/etc/fstab的内容进行文件系统的自动挂载,因此通过mount和umount挂载和卸载的设备,如要永久生效,还需要写入/etc/fstab。

    /etc/fstab文件内容共6列,分别表示设备名称[或label]、挂载点、文件系统类型、参数、能否用dump备份、是否开机进行fsck检查文件系统完整性。

    对于第5列dump,0表示不作dump备份、1表示每天进行dump、2表示其他不定日期的dump备份,我们自己写入这个文件的一般值都设置为0。

    对于第6列fsck,0表示不用开机检查,1表示最早检查(一般只有根目录设为1),2也表示检查,我们自己写入这个文件的一般值都设置为0。

  • 相关阅读:
    【做题记录】区间排序—线段树
    【做题记录】CF1428E Carrots for Rabbits—堆的妙用
    线段树合并、分裂
    一、drf入门规范
    七、Django实战--图书管理系统搭建
    六、ORM模型层补充
    五、Django之模型层
    四、Django之模板层
    三、Django之视图层
    二、Django之路由层
  • 原文地址:https://www.cnblogs.com/Forever77/p/11494424.html
Copyright © 2020-2023  润新知