一、文件系统概述
对于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。