磁盘与文件系统管理

一、文件系统概述

对于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。

原文地址:https://www.cnblogs.com/Forever77/p/11494424.html