一`磁盘和文件系统管理
第一扇区有开机区(MBR)及分割表,MBRyou 446b,分区表有64b
主分区和延伸(扩展)分区最多有4个,扩展分区最多一个,逻辑分区是在扩展分区上划分的————PS:这个和win的分区法一样
磁盘系统主要分三部分,superblock、inode、block
superblock:filesystem的整个信息(一般大小为1024b) 使用dumpe2fs查看
inode:记录档案的属性(每个文档只有一个inode,大小为128b)
一般有12个直接,一个间接,一个双间接,一个三间接记录区
block:实际存放档案数据的地方(每个文档能有多个block,大小一般为1k,2k,4k)
具体查看dumpe2fs内容
二、挂载点定义
linux VFS:整个linux都是VFS管理
df:显示文件系统整体磁盘使用量
du:评估文件系统的磁盘使用量
-a 列出所有
-h 以人们较易读的格式显示
-H 以M=1000k取代M=1024k
-i 不显示磁盘大小,以indoe数显示
-T 连同该分区的系统块名称一同列出
-s 列出总量而已,不列出每个目录占用容量
-S 不包括子目录下的总计
-a 列出所有档案与目录容量
实体链接和符号链接:ln
hard link(实体链接)
不能跨文件系统,不能link目录
symbolic link(符号链接,也就是快捷方式) ln -s
-f 如果目录文件存在,主动将目标文件移除后再建立,删除源文件,普通链接能显示,符号链接不行
三、分区
primary(主分区) extended(延伸分区) logical(逻辑分区)
查看分区:fdisk
p:查看分区 n:增加分区 d:删除分区 q离开 w:写入保存
删除分区 p---d-----分隔槽数字----w
增加分区 n---e或者p----选择起始磁柱------结束磁柱------w
分区完毕后必须reboot(partprobe貌似新版本不行了)
格式化:mkfs(一般用) mkfs -t extX /dev/sda
mke2fs手动设置
mke2fs [-b block的大小] 【-i inode大小】【-L 标头】 【cj】
-b:设定每个block大小,有1024b 2048b 4096b三种
-i:多少容量给一个inode
-c:检测磁盘错误
-L:标头名称(就是windows每个硬盘的别名)
-j:从ext2倒ext3
例如:mke2fs -j -L "gaucho" -b 4096 -i 8092 /dev/sda1
fsck,badblocks硬盘检测
fsck一般检测文件系统是否出错,badblocks检测是否有坏道
挂载和卸除
单一文件系统不应该重复挂载在不同挂载点
单一目录不应该挂载多个文件系统
作为挂载点的目录,理论上应该是空目录
mount
-a:依照/etc/fstab把所有都挂载上去
-l:显示挂载了的磁盘(显示label名)
-t:与mkfs相似,指定想挂载的类型
-n:默认挂载会写入/etc/fstab,如不想写入,加上-n
-L:利用label挂载 (创建label name:e2label)
-o:接一些其他参数(ro,rw)(async,sync)(auto,noauto)(dev,nodev)(suid,nosuid)(exec,noexec)(user,nouser) defaults(rw,suid,async,auto,dev,exec,user)
挂载光驱:mount-他iso9660 /dev/cdrom /media/cdrom
remount:重新挂载
remount - remount rw,auto /
mount --bind 挂载目录
mount --bind /home /mnt/home
umount卸除挂载
-f:强制卸除
-n:不更新/etc/mtab
使用label name进行挂载:dumpe2fs mount -L "xxx" /mnt/hdcb
设定存储主要代码:mknod
mknod /dev/hdc/0 b 22 10 (第一个数字是主要装置代码,后一个是次要装置代码)
建立一个FIFO档案
tune2fs:-jIL
-I:类似dumpe2fs -h功能 讲superblock内的数据读出来
-j:将ext2的filesystem转换为ext3
-L:类似e2label
设定开机挂载(使用blkid查看UUID号)
/etc/fstab和/etc/mtab
根目录必须挂载,一定要先挂载
其他mount point在同一时间,只能挂一次
所有分区在同一时间,只能挂一次
如进行卸除,必须先将工作目录移到mount point之外
建立大档案以制作loop装置档案
建立空文档dd:
dd if=/dev/zero of=/home/looper bs=1M count=512
mount -o /400/1 /home/looper
SWAP:先分割 fdisk /dev/hdc------n----头数字------+256M 修改ID swap ID是82 建置swap格式 mkswap(就是跟分区格式化一样) swapon启动 swapoff关闭 free查看
swapon -s查看现有swap
也能用dd来建立swap分区
使用GNU进行分割(主要是2TB以上的硬盘)
parted /dev/hdc mkpart logical ext4 19.2GB 19.7GB (起始位置是19.2G 结束位置是19.7G)
parted /dev/hdc print (查看分区)
parted /dev/hdc rm 数字(删除分区)