MBR:主引导记录(512byte)
master boot record
main boot record
446bytes:bootloader,程序
64bytes:
16bytes:标示一个分区
2bytes:magic number
标示MBR是否有效
文件系统可以认为是一个管理软件:
元数据存储区, 位图(index node :Inode(索引节点)): 存储; 块位图:bitmap (存储块是否已经被使用的)
实际应用中:元数据存储区也会被分成块
数据存储区:逻辑存储单元(存储块)
dentry:目录像
链接文件:
硬链接,直接指向同一个Inode的不同路径.
1. 只能对文件创建,不能应用于目录.
2. 不能跨文件系统;
3. 创建硬链接会增加文件被链接的次数.
符号链接,一个目录文件指向的Inode不是一个块的地址而是一个文件的路径.
1. 可应用于目录;
2. 可跨文件系统;
3. 不会增加被链接文件的链接次数;
4. 其大小为指定路径所包含字符的个数.
du:显示文件或目录总大小
-s:显示目录大小.
-h:大小单位换算.
df:显示整个磁盘的空间大小.
设备文件:
b:按块为单位,随机访问的设备;
c:按字符为单位,线性设备;
b:硬盘
c:键盘
/dev
主设备号(major number):
标示设备类型
次设备号(minor number):
标示同一类型的不同设备
mknod:
mknod [OPTION]... NAME TYPE [MAJOR MINOR]
-m指定访问权限:MODE
eg:mknod -m 640 mynod c 66 0
硬盘设备的设备文件名:
IDE,ATA:hd
SATA:sd
SCSI:sd
USB:sd
a,b,c,...来区别同一种类型下的不同设备
IDE:
第一个IDE口:主,从
/dev/hda,/dev/hdb
第二个IDE口:主,从
/dev/hdc,/dev/hdd
sda,sdb,sdc,...
hda:
hda1:第一个主分区
hda2:
hda3:
hda4:
hda5:第一个逻辑分区
查看当前系统识别了几块硬盘:
fdisk -l [ /dev/to/some_device_file ]
管理磁盘分区:
fdisk /dev/sda:
P:显示当前硬盘的分区,包括没保存的改动
n:创建新分区
e:扩展分区
p:主分区
d:删除一个分区
w:保存退出
q:不保存退出
t:修改分区类型
L:
l:显示所有支持的类型
partprobe:通知内核刷新分区表
格式化:
低级格式化:创建磁道
高级格式化:创建文件系统
VFS:virtual file system (内核中的模块)
正是因为linux下的VFS才能使linux能够兼容下面这么多的文件系统.
常用的文件系统:
FAT32:vfat
NTFS
ISO9660
CIFS:通用互联网文件系统
ext2
ext3
ext4
xfs
reiserfs
jfs
linux网络文件系统:
nfs:
ocfs:
gfs2:
EXT3
较ext2多了日志区
文件系统管理器
重新创建文件系统会损坏原有文件系统
mkfs:make file system
-t FSTYPE
mkfs -t ext2=mkfs.ext2
mkfs -t ext3=mkfs.ext3
专门管理ext系列文件系统:
mke2fs
-j:创建ext3类型文件系统
-b BLOCK_SIZE:指定块大小,默认为4096 ,可取数值为1024,2048,4096
-L LABLE:指定卷标
-m #:指定与留给超级用户的块数百分比
-i #:用于指定为多少字节的空间创建一个inode,默认为8192,这里给出的应该是2^n.
fsck:
挂载:将新的文件系统关联至当前根文件系统
卸载:将某文件系统与当前文件系统的关联关系予以移除
创建文件系统相当于快速格式化.
mount:挂载
mount 设备 挂载点
设备:
设备文件:/dev/sda5
卷标:LABLE=""
UUID=""
挂载点:目录
要求:
1. 此目录没有被其他进程使用
2. 目录得事先存在
3. 目录中原有的文件将会暂时隐藏
mount:显示当前系统已挂载的设备和挂载点
mount [option] [-o options] DEVICE MOUNT_POINT
-a:表示挂载/etc/fstab文件中定义的所有文件系统
-n:默认情况下,mount命令每挂载一个设备,都会把挂载的设备信息保存至/etc/mtab文件中;使用-n后,不把挂载的设备信息写入/etc/mtab文件;
-t FSTYPE:指定正在挂载设备上的文件系统的类型;不使用此选项时,mount会调用blkid命令获取对应的文件系统类型;
-r:只读挂载,挂载光盘时常用选项
-w:读写挂载
-o:指定额外的挂载选项,也指定文件系统的启动属性
loop:挂载本地回环设备
remount:重新挂载当前文件系统
ro:只读挂载
rw:读写挂载
挂载完成后,要通过挂载点访问对应的文件系统
umount:卸载文件系统
umount 设备
umount 挂载点
卸载注意事项:挂载的设备没有进程正在使用
swap分区:
free:查看当前系统上物理内存和交换空间的使用情况
mkswap:创建swap分区
swapon : 启用交换分区
-a:启用所有定义在/etc/fstab 文件中的设备
swapoff: 停止交换分区
回环设备:
loopback,使用软件来模拟实现硬件
mount命令,可以挂载iso镜像文件:$:mount -o loop ios文件 MOUNT_POINT
创建一个120G的分区
dd命令:
if:指定来源
of:数据存储目标
bs=1:以一个字节为单位
count=2:复制两个单位
seek=#:创建数据文件时,跳过的空间的大小;
dd if=/dev/sda of=/mnt/usb/mbr.backup bs=512 count=1
dd if=/mnt/usb/mbr.backup of=/dev/sda bs=512 count=1
赋值磁盘映像:
cat /dev/cdrom > /root/rhe15.iso
dd if=/dev/cdrom of=/root/rhe15.iso
dd与cp的不同:
cp是以文件为单位复制的,需要经过VFS.
dd是在底层复制的,不经过VFS.
文件系统配置文件:/etc/fstab
os在初始时,会自动挂载次文件中定义的每个文件系统
格式:
要挂载的设备 挂载点 文件系统类型 挂载选项 存储频率(每多少天做一次完全备份) 文件系统检测次序(只有根可以为1)
fuser: 验证进程正在使用的文件或者套接字文件
-v:查看某文件上正在运行的进程
-k:
-m:
fuser -km MOUNT_POINT :终止正在访问该挂载点的所有进程