文件系统特性
1:分区要进行格式化才能用:
每种操作系统所设置的文件权限/属性等各不相同,为了存放相应格式的文件,需格式化分区成为操作系统可以利用的文件系统格式,例如:windows和linux的文件类型是不一样的,所以要根据操作系统类型将分区格式化成响应的文件系统格式
2:一个可被挂载的数据为一个文件系统而不是一个分区(LVM或软磁盘阵列可以将一个分区格式化为多个文件系统或将多个分区格式化成一个文件系统)
3:文件系统数据存放
super block:记录文件系统的整体信息
- inode/block 的总量、使用量、剩余量等
- 文件系统格式与相关信息等
inode:记录文件的属性,一个文件占用一个inode,同时记录此文件的数据所在的block号码
data block:实际记录文件的内容一个文件可以占用多个block
ext3文件系统组成(脑袋中想象组成图出来)
- 一个启动扇区+多个block group
- 每个block group(块组)都有独立的inode/block/superblock系统
- 单个inode/block/superblock系统 内容有:
1:superblock
2:inode table
3:data block
4:文件系统描述
5:inode bitmap 对照表:记录已使用和未使用的inode号码
6:block bitmap:记录已使用和未使用的block号码
相关命令:dumpe2fs、df、du
- dumpe2fs [-h 仅列出superblock数据,不加参数全部列出] 设备名
- df [-m 以MB的方式显示大小] [-k 以KB的方式显示大小] [-h 以GB/MB/KB的方式] [-i 以inode数量显示] [-a 列出所有文件系统包括/proc等特殊系统] [-T 显示文件系统类型] [-H 以1024=1000的方式显示]
df读取的是superblock内的数据
- du [-s 仅列出总量] [-S 不包括子目录的统计] [-a 列出所有统计,包括文件] [-h] [-k] [-m]
和df区别:df是针对整个文件系统,du一般针对目录。df读取的是superblock内容,du直接到文件系统中查找数据
文件系统创建过程:
1:添加一个新磁盘(1g),为此磁盘分5个区,每个分区的大小都为200M,指明文件系统的类型位linux文件,挂载这些分区到 /mnt/disk1 disk2 disk3 disk4 disk5中,并要求开机自动挂载这些分区
- fdisk /dev/sdb
- n新建 p建主分区 e建扩展分区(先建扩展分区才能建逻辑分区(l)) d删除分区 t改分区类型,默认linux 最后w保存
- 格式化各分区 mkfs.ext4 /dev/sdb1 mkfs.ext4 /dev/sdb2 ....
- 格式完后 刷新搜索新分区无需重启:partx -a /dev/sdb
- 先建文件:cd /mnt ; mkdir disk{1,2,3,4,5}
- 挂载:mount -t ext4(修改挂载文件类型)-o rw(修改读写权限)/dev/sdb1 /disk1
- 永久挂载:进入 /etc/fstab 添加
- mount -a
2:把test中的iso挂载到mnt/testdir中
- mount -t iso9660 -o loop /mnt/disk1/test/test.iso /mnt/testdir/
- 可以用file test.iso 查看文件类型
- 永久挂载:/mnt/disk1/test/test.iso /mnt/testdir/ iso9660 loop,defaults 0 0
3:删除分区
- fdisk /dev/sdb d删除
4:制作一个交换分区分别用两种方式,并实现开机自动挂载:
1:通过分区建立swap
- fdisk /dev/sdc #分区并指定文件类型为82,t修改文件类型
- mkswap /dev/sdc1 #制作成swap分区
- swapon /dev/sdc1 #挂载swap分区
- swapon -s #查看是否挂载成功
- 修改文件 /etc/fstab :/dev/sdc1 swap swap defaults 0 0
- swapoff /dev/sdc #卸载
2:通过文件建立swap
- dd if=/dev/zero of=/myswap bs=1M count=500 生成一个500M的空白文件
- mkswap myswap #将文件格式化为swap文件格式
- 接下来步骤和方法1一样,将myswap文件当成/dev/sdc1
时间: 2024-10-08 18:48:52