磁盘管理
- 硬盘结构
-
head(磁头):每个盘片一般有上下两面,分上下两个磁头
-
traack(磁道):磁道是从盘片外圈往内圈编号,为0磁道,1磁道,...靠近主轴的同心圆用于停靠磁头,不存储数据
-
cylinder(柱面):同磁道个数
-
sector(扇区):磁道切分为很多扇形区域,每个磁道的扇区数量相等
-
platter(圆盘):盘片数量
-
block(块):文件系统中存储数据的最小单元,ext3文件系统中,创建时默认4k,分为存储文件数据的data block和存储目录数据的directory block
-
inode:又称“索引节点”,每一个inode对应一个文件或目录,记录了文件的大小、所占用的block以及目录的directory block信息。
-
Inode Bitmap:翻译成中文就是“inode位图”,用二进制的方式记录了inode的使用情况。
-
Block Bitmap:翻译成中文就是“块位图”,同Inode Bitmap,用二进制方式记录了块的使用情况。
-
Super Block:超级块包含了该硬盘或分区上的文件系统的整体信息,如文件系统的大小等。
-
块组:存放Super Block,GDT,Block Bitmap,Inode Bitmap,inode,Data Blocks
-
组描述符:
-
MBR:主引导记录(MBR,Main Boot Record)是位于磁盘最前边的一段引导(Loader)代码。它负责磁盘操作系统(DOS)对磁盘进行读写时分区合法性的判别、分区引导信息的定位,它由磁盘操作系统(DOS)在对硬盘进行初始化时产生的。
-
Boot Block:位于每个分区的第一个扇区,存放引导程序时使用,在多系统时使用
-
- du 查看文件大小
- -s 查看目录大小
- -h 以K,M为单位显示大小
- df 显示磁盘空间详情
- -h 以K,M,G为单位显示大小
- -i 查看inode的使用情况
- -T 查看系统的文件系统类型
- 设备文件
- b 块设备,随机访问的设备 硬盘
- c 字符设备,线性设备 键盘
- mknod 创建设备文件
- -m 指定权限
- mknod mydev -m 755 c 66 1 创建一个名为mydev的字符设备文件,主设备号为66,次设备号为1,权限为755
- fdisk 查看磁盘信息或磁盘分区
- 每一个分区都可以使用一种文件系统
- -l 查看硬盘信息
- p 显示当前硬盘分区,包含没有保存的改动
- n 创建分区
- e 扩展分区
- p 主分区
- d 删除一个分区
- w 保存退出
- q 不保存退出
- t 修改分区类型
- partprobe 重新读取分区表,用于更新/proc/partitions文件,在创建分区或者删除文件后还出现占用空间时使用
- partx 和partprobe效果一样
- mkfs 创建文件系统
- -t 指定文件系统类型(ext2、ext3)
- mke2fs
- -j 创建ext3文件系统,该系统带日志功能
- -b 指定块大小,可用值为1024,2048,4096...
- -c;检查是否有损坏的区块;
- -f<不连续区段大小>:指定不连续区段的大小,单位为字节;
- -F:不管指定的设备为何,强制执行mke2fs;
- -i<字节>:指定"字节/inode"的比例,默认为8192;
- -N:指定要建立的inode数目;
- -l<文件>:从指定的文件中,读取文件西中损坏区块的信息;
- -L<标签>:设置文件系统的标签名称;
- -m<百分比值>:指定给管理员保留区块的比例,预设为5%;
- -M:记录最后一次挂入的目录;
- -q:执行时不显示任何信息;
- -r:指定要建立的ext2文件系统版本;
- -R=<区块数>:设置磁盘阵列参数;
- -S:仅写入superblock与group descriptors,而不更改inode able inode bitmap以及block bitmap;
- -v:执行时显示详细信息;
- -V:显示版本信息。
- -E:扩展属性
- stride:指定条带大小,值为(CHUNKS/BLOCK)
- blkid 查看文件系统的信息
- blkid /dev/sda5 查看sda5设备相关属性(UUID、TYPE、LABEL)
- e2label 查看或设定卷标
- e2label /dev/sda1 查看/dev/sda1设备卷标
- e2label /dev/sda1 mydev 设置/dev/sda1卷标为mydev
- tune2fs 调整文件系统的相关属性
- -c:指定挂在#次进行自检,0或-1表示关闭此功能;
- -C:设置文件系统已经被加载的次数;
- -e:设置内核代码检测到错误时的行为;
- -f:强制执行修改,即使发生错误;
- -i:设置相邻两次文件系统检查的相隔时间,0或-1表示关闭此功能;
- -j:为“ext2”文件系统添加日志功能,将其转换为“ext3”文件系统;
- -l:显示文件超级块内容;
- -L:设置文件系统卷标;
- -m:显示文件保留块的百分比;
- -M:设置文件系统最后被加载到的目录;
- -o:设置或清除文件系统加载的特性或选项;
- -O:设置或清除文件系统的特性或选项;
- -r:设置文件系统保留块的大小;
- -T:设置文件系统上次被检查的时间;
- -u:设置可以使用文件系统保留块的用户;
- -U:设置文件系统的UUID。
- dumpe2fs :用于打印“ext2/ext3”文件系统的超级块和快组信息。
- -h:只显示超级快信息
- fsck:检查修复文件系统
- e2fsck:修复ext2、ext3文件系统
- mount:挂载
- -a 挂载/etc/fstab文件中的所有设备
- mount /dev/sda5 /mnt/cd/
- umount:卸载某文件系统
- umount /mnt/cd/
- umount /dev/sda5
- mkswap 创建swap分区
- mkswap /dev/sda5
- swapon 启用swap分区
- swapon /dev/sda5
- swapoff 关闭swap分区
- swapoff /dev/sda5
- dd 转换并复制文件
- if=数据来源
- of=存储目标
- bs=数据大小
- count=bs的个数
- dd if=/var/a of=/var/b 把a文件复制成b文件
- dd if=/dev/sda of=/mnt/usb/mbr.back bs=512 count=1 将sda的mbr保存到usb的mbr.back中
- dd id=/dev/zero of=/var/swapfile bs=1M count=1024 创建一个1G文件大小的swapfile文件
- /etc/fstab文件中的内容会在开机时自动挂载
- 格式:需要挂载的设备--挂载点--文件系统类型--挂载选项--转储频率(每多少天做一次完全备份)--文件系统检测次序(只有根可以为1)
- fuser 验证进程正在使用的文件或者套接字
- -v 查看某文件上正在运行的文件
- -k 杀死进程
- -m 和挂载设备相关
- fuser -km /mnt/cd 终止访问/mnt/cd文件的所有进程