文件系统
扇区,磁道,柱面:

6版本:ext4
7版本:xfs
# cat /etc/redhat-release #查看当前版本
1、 计算机五大组成部分:运算器、控制器、存储器、输入设备、输出设备
机械盘转速: 家用台式:7200rpm
家用笔记本:5400rpm
服务器:10000-15000rpm
固态硬盘中,逻辑上有磁道、扇区
2、 磁盘使用流程
## 整体步骤:
1)、分区
2)、格式化写入文件系统
3)、挂载
MBR分区: 主引导程序 446byte
分区表 64byte ,16byte标识一个分区
有效表示符 2byte,标记MBR是否有效
fdisk 分区 #交互式磁盘分区
fdisk /dev/sdb
d l n p w q t
删除 查看类型 添加 显示分区名 保存退出 不保存退出 修改类型
## 详细步骤:
1、 分区
创建主分区 n---p---1---回车---+5G---p
扩展分区:e
逻辑分区:l
2、格式化 6版本: mkfs.ext4 分区名
7版本: mkfs.xfs 分区名
3、临时挂载:
mkdir 挂载点(目录) # 创建挂载点
mount 分区名 挂载点 # 临时挂载
格式化与挂载
block块默认4k(格式化才能修改大小)
太大:浪费
太小:块太多
文件系统示意图

inode:i节点、记录inode号、权限、所属主、所属组
1) superblock:超级块,记录每个分区的block大小、数量
2) GDT:组描述符(记录块组)
3) blockbitmap:block位图
4) inodebitmap:inode位图
5) inodetable:inode表(记录所偶inode索引节点)
6) Date block:数据块,保存真实数据的位置
文件系统格式化:
mkfs.ext4 分区
mkfs -t ext4 分区
开机自动挂载(文件在 /etc/fstab)
UUID或设备文件名 挂载点 文件系统 挂在特殊选项 备份 检查
第1列:添加UUID blkid |grep sdb1 >> /etc/fstab
第5列:是否备份 0不备份 1每天备份 2不定期备份
第6列:是否检查 0不检查 1启动时检查 2启动后检查
实现默认挂载光盘
/dev/sr0 /mnt iso9660 defaults 0 0
/etc/fstab 文件被修改(自动挂载设置错误)解决
# 6版本 开机字符界面密码进入
cat /etc/fstab #检查
mount -o remount,rw 根分区设备文件名 #重新挂载
blkid |grep 出错分区 >> /etc/fstab #修改
cat /etc/fstab #检查
reboot #重启
# 7版本 开机等待,直接进入/etc/fstab检查修改
# 防止/etc/fstab误操作
修改文件后执行 mount -a 检查挂载
swap分区创建
1) fdisk---t---82 #设置交换分区,即修改分区类型
2) mkswap 分区名 #格式化
free -h #常见单位查看虚拟内存
free -k
free -m
free -g
3) swapon 分区名 #启用swap分区
swapoff 分区名 #停用swap分区
swap分区写入fstab
UUID swap swap defaults 0 0
设置分区保存时,出现磁盘繁忙解决
1) 重启;检查分区设置
2) partprobe #将分区变化通知内核,重新挂载分区
partprobe -s #显示磁盘分区汇总
partprobe -h #显示帮助信息
fsck:文件系统修复 (不能保证数据)
fsck -y 分区名
GPT分区
1)、gdisk 分区
d l n p w q t
删除 查看类型 添加 显示分区名 保存退出 不保存退出 修改类型
n---1---起始默认---+2G---默认类型---w---y
备注:
GPT分区表可分为三部分:
LBA0:开头存放MBR分区表,
LBA1:储存了硬盘的总空间,以及GPT分区表的信息,
定义最多能创建128个分区,每个分区信息占用的空间是128个字节,
128个分区中有一个是用来存储备份分区表的,所有可以手动指定的分区数为127个分区。
LBA2-33: 每个分区信息存放的位置,上边提到每个分区信息占用的空间是128字节,
16384/128=128个分区一个系统保留分区用于备份分区表,127可手动指定。
注:LBA(logica block address)中文名称为逻辑区块地址,即扇区,默认512字节。
2)、格式化
mkfs.xfs 分区名
3)、挂载
mount 分区名 挂载点
永久生效:
UUID 挂载点 类型 选项 备份 检查
非交互式设置分区-parted
创建新分区需要使用parted命令的mklabel指令:

## 修改分区表为GPT格式
用 parted /dev/sdc 来查看修改是否成功。
创建新分区,使用parted命令的mkpart指令。
格式:
parted 硬盘设备名 mkpart 分区类型 文件系统类型 开始(默认单位为MB) 结束
parted /dev/sdc mkpart primary xfs 1 1G
分区类型有:primary(主分区)、logical(逻辑分区)、extended(扩展分区)
文件系统类型有:fat16、fat32、ext2、ext3、linux-swap等。
创建分区命令格式:

创建分区时直接指定分区类型和分区的起始和结束点即可。
查看所有分区:

主分区可以创建了4个以上,这要是GPT分区表不同于MBR分区表的地方。
虽然GPT分区方式也可以创建扩展分区和逻辑分区,但并没有太大的实际意义。
删除GPT分区:

rm选项并指定分区号即可删除对应分区。
注意:parted命令行中的操作全部是立即生效的,不同于MBR的保存后生效。
XFS文件系统 (7版本)
XFS每个单个文件系统最大支持8EB
单个文件最大支持16TB
1、 xfs组成:
1) 数据区:动态配置inode、block、blockGroup等
super block、GDT、inodebitmap、blockbitmap、inode表、Dateblock
2) 实时运行区:写文件时,写入实时运行区,同时生成inode、block,再写入数据区中
3) 日志区(文件系统活动登录区)记录文件系统变化、直到写入数据区
2、 命令
df -T #查看文件系统类型
xfs_inf 挂载点/设备文件名 #查看格式化返回信息
blkid = lsblk -f #列出uuid
分区,gdisk、fdisk不能混用
gdisk 分区 #GPT分区
fdisk 分区 #MBR分区
cat /proc/partitions = ls 分区 #查看分区是否成功
ls /dev/sdb*
partprobe -s 分区 #更新Linux内核分区表
格式化
mkfs.ext4 # ext4 文件系统格式化
mkfs.xfs # xfs 文件系统格式化
挂载
mount -t 系统类型 分区名 挂载点
mount -o 特殊选项 分区名 挂载点
特殊选项: async/sync
auto/noauto
rw/ro
exec/noexec
suid/nosuid
3、 补充命令
# stat 文件名 #查看文件系统详细信息
三个时间: access #查看时间 cat
modify #修改时间 vim
chmod #权限修改时间 chmod
块个数比实际问价大小所占多:预留空间,方便以后修改,类似磁盘碎片化整理
# ls -l 文件 #查看操作系统详细信息