说明:
本博客主要包括磁盘分区和文件系统,磁盘(U盘)挂载等(2017-02-28)
一.磁盘分区
1.IDE
一个IDE接口可以接两个IDE设备,主机通常有两个IDE接口
Master Slave
IDE1 /dev/hda /dev/hdb
IDE2 /dev/hdc /dev/hdd
2.SATA
/dev/sd[a-p]
文件名根据linux内核检测到的测盘顺序
3.磁盘组成
主引导分区(MBR): 安装引导加载程序的地方,有446bytes
分区表: 记录整块硬盘分区状态,有64bytes
4.磁盘分区表
(1).分区只针对64bytes来进行设置
(2).默认分区表仅能写入四组分区信息
(3).四组分区信息称为主分区和扩展分区
(4).分区最小单位为柱面
(5).逻辑分区由扩展分区分出来,因此使用的柱面范围为整个扩展分区
(6)./dev/hda1-4:主分区或者扩展分区,没有就隔过去
/dev/hda5-: 逻辑分区
IDE: /dev/hd[a-d][5-63]
SATA: /dev/sd[a-p][5-15]
二.EXT2文件系统
1.文件系统
super block: 文件系统的整体信息 block,inode的数量,大小等 大小为1024bytes
block: 记录文件内容,文件太大占用多个block 1k,2k,4k三种大小
inode: 记录文件属性,一个文件占用一个inode,同时记录此文件数据所在的block号码
每个inode大小为128bytes
12个直接,一个间接,一个双间接,一个三间接记录区 16GB
dumpe2fs [-bh] 设备文件名 查询文件系统信息
df 调出当前挂载的设备
dumpe2fs /dev/sda12
ls -li 显示inode号码
ll -d 显示大小
2.挂载点(mount point)
挂载点一定是目录,该目录实际是该文件系统的入口
ls -lid / /home /boot
3.其他文件系统
ls -l /lib/modules/$(uname -r)/kernel/fs 查看linux支持的文件系统
cat /proc/filesystems 查看目前加载到内存中支持的文件系统
通过VFS(virtual filesystem switch)的内核功能读取文件系统
三.文件系统的简单操作
1.磁盘与目录容量:df,du
df : 列出文件系统的整体磁盘使用量
du: 评估文件系统的磁盘使用量
df [-ahikHTm] 目录或文件
-h 以GB,MB,KB显示
-i 以inode数量表示,而不是硬盘容量
df -h /etc
du [-ahskm] 文件或目录
-s 列出总量,并列出每个个别目录占用量
du: 列出当前目录下所有目录,但是不会显示文件容量
du -a 同时将文件的容量也列出来
du -sm /* 检查根目录目录下每个目录所占用的容量
du -sb 计算该目录下有多少bytes du -sb -h ~/
2.连接文件 ln
硬连接:产生新文件名而不是新文件
多个文件名对应一个inode
本质:在某个目录下的block写入一个关联数据,不会改变inode和block数量
不能跨文件系统,不能连接到目录
ln filename linkfile 创建实际连接
ll -i filename linkfile
符号连接(symbolic link) 快捷方式
创建独立文件,该文件让数据读取指向它连接的那个文件的文件名
ln -s 123 123.link 123.link -> 123
创建连接文件
ln [-sf] 源文件 目标文件
-s 快捷方式,不加则是硬连接
-f 目标文件存在,删除目标文件后重新创建
3.磁盘分区,格式化,检验与挂载
(1).磁盘分区:fdisk
fdisk [-l] 设备名称
fdisk -l 查阅目前系统的分区
df / 查看挂载
fdisk /dev/sda(没有数字)
m:帮助
d:删除一个分区
n:增加一个分区
p:打印分区表
q:退出不保存
w:保存退出
(2).磁盘格式化
mkfs [-t 文件系统格式] 设备文件名
-t 可接受文件系统格式
mkfs -t ext3 /dev/sd13 将/dev/sd13格式化为ext3格式
(3).磁盘检查 fsck badblocks
fsck [-t 文件系统] [-ACay] 设备名称 检查文件系统是否出错
-C:扫描过程用直方图显示进度
-a:自动修复检查到有问题的扇区
-f:强制检查
-D:针对文件系统下的目录进行优化配置
fsck -C -f -t ext3 /dev/sda12
badblocks -[svw] 设备名称 检查硬盘是否有坏轨
-s: 屏幕上列出进度
-v: 屏幕上看到进度
-w: 适用写入的方式来测试
badblocks -sv /dev/sda
4.磁盘挂载与卸载
空目录挂载,如果非空,挂载后原目录文件消失
挂载 mount
mount -a 依照配置文件将所有未挂载的磁盘都挂载上来
mount -l 显示挂载信息
mount [-t 文件系统] [-L label名] [-o 额外选项] [-n] 设备文件名 挂载点
-L:(1)/dev/sda12 (2)利用文件系统的卷标名
-o: ro,rw:只读或者只写
async,sync:同步写入或是异步写入 默认异步
auto ,noauto:是否允许以mount -a挂载
dev,nodev:是否可创建设备文件
user,nouser:是否允许次分区让任何用户执行mount
defaults:rw,dev,exec,auto,nouser,ayync
remount:重新挂载,系统出错时很有用
挂载U盘:
[NTFS???]mount -t fuseblk /dev/sdb1 usb/
自动挂载在/media/zhao/文件夹下
卸载 umount
umount 设备文件名或者挂载点
umount /usb
umount /dev/sdb1
5.磁盘参数修改
(1).mknod 修改主次设备代码
ll /dev/sda* (Major,Minor) Major:8 Minor:1,2,5...
mknod 设备文件名 [bcp] [Major] [Minor]
b:设置设备名称成为一个外部存粗设备
c:输入输出设备
p:FIFO文件
Major:主设备代码
Minor:次设备代码
mknod /dev/sda12 b 22 10
(2).e2label 修改label名
e2label 设备名称 新名称
dumpe2fs -h /dev/sda12 查看卷标名称
e2label /dev/sda12 "my_test"
转载于:https://wwwblogs/Little-Zhao/p/6479091.html
更多推荐
04_磁盘与文件系统
发布评论