磁盘及文件管理系统入门
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了磁盘及文件管理系统入门相关的知识,希望对你有一定的参考价值。
目录:
1.添加新分区 2.分区创建工具:parted、mkfs、e2fs 3.目录 4.swap交换文件系统 5.文件系统日志 6.文件的路径访问
Linux磁盘及文件系统管理初步(02)
一.添加新分区
1.fdisk /dev/sda //或者parted
2.cat /proc/partitions //查看是否被内核识别分区
centos5:partprobe [device]
centos6,7: partx,kpartx
partx -a [device] //可能需要执行两次
kpartx -af [device]
使用parted 分区,不用w,直接保存,而且内核会自动识别
partx -a /dev/sda
3.mkfs
4.mount
二.分区创建工具;parted,mkfs,e2fs
格式化:低级格式化,高级格式化
低级格式化:主要用于划分磁道//分区之前进行,划分磁道
高级格式化:分区之后对分区进行,创建文件系统
元数据:存放文件的属性信息,size,mode,user,timestamp,不包含文件名
//文件名是在目录上存放的
元数据区://高级格式化之后的
文件元数据:inode(index node)
//大小,权限,属主属组,时间戳,...
//每个文件的元数据(inodde)都是一样的,只是,里面填充的内容是不一样的
文件的内容和元数据是分开存放的
//元数据内容是由固定格式的,而文件的内容是不一定的
高级格式化:
把磁盘分割成两个部分:
1:元数据区 //存放文件的属性信息,大小,mode等,不包括文件名
//每个文件的苑数据区的格式都是一样的,知识填充内容不一样
//这个格式的数据空间就叫做inode(index node)
//数据块指针
2:数据区 //存放真实的数据
//按照块存储的,比如划分我4096Kb/块
//不定时的增加和删除文件,导致一个文件分配的磁盘块不连续,-->碎片
//块是最小分配单元,windows 4096字节/块
查找文件,只能够先找元数据
链接文件:存储数据块指针的空间当中存储的是真实文件的访问路径;
自己并不占据磁盘块,只占用元数据区
设备文件:存储数据块指针的空间当中存储的是设备号(major,minor)
磁盘快索引:bitmap index
标识某磁盘快是否为空闲状态
//按位对应,索引0和1区分,
//inode也有索引,
磁盘图:
|----|-----------------------------|
|----| |
|----| block |
|----| |
|----|-----------------------------|
| | block bitmap |
|____|_____________________________|
左侧从上往下:inode (index node) // inode bitmap
ls -i //查看inode编号
super block:
三.目录
/var/log/messages
//先去找 根的inode,根的inode是自己发现的,根的inode指向文件的一个数据
//通过根找到根的子级目录和文件的 var和var的对应inode
//找到var对应的磁盘快,块中描述着,var的子级目录和文件,找到message文件名和对应的inode的对应关系
free //每次都要查找的话,比较慢因此会建立缓存
buff/cache 中既有元数据也有数据
/var 中只存放自己的孩子目录和文件
Linux支持众多的文件系统
但是每个文件系统的接口是不一样的
VFS:virtual file system
中间层,负责协调下面不同的文件系统
Linux的文件系统:ext2,ext3,ext4,xfs,reiserfs容易找回来,btrfs
xfs:单文件没有上线
光盘:iso9660
网络文件系统:nfs,cifs
集群文件系统:gfs2,ocfs2,
内核级分布式文件系统:ceph
windows的文件系统:vfat,ntfs
伪文件系统:/proc,sysfs,tmpfs,hugepagefs
Unix:UFS,FFS,JFS
交换文件系统:swap
用户空间的分布式文件系统:mogilefs,moosefs,glusterfs
四:交换文件系统
Linux的swap
windows的虚拟内存
用硬盘的一部分空间,充当内存使用
内存不够用的时候:把最近不常使用的放到硬盘上//最近不常使用算法
再次使用的时候,把其他的拿出来,把自己放进内存
//内存和硬盘之间来回交换数据,交换分区
//真实和CPU交互的是内存,而不是交换内存
//现在的linux和windows都支持虚拟内存,每个程序都假设自己有4G可用
文件系统管理
创建fs工具
mkfs.ext2,mkfs,ext4,mkfs,vfat 等
检测并修复文件系统的工具
fsck,ext3,fsck,vfat等
查看其属性的工具
dumpe2fs,tune2fs
调整fs属性
tune2fs
五:日志
有日志的fs
无日志的fs
突发情况:例如断电,系统崩溃,导致文件损坏,有的没有写入到硬盘,有的写入了
//为了解决这个问题:
内存-->日志区--->硬盘
数据先放到日志去,存到硬盘后,删除日志区的记录,
除了ext2没有日志,其他基本都有
1.需要预留空间做日志区,存储数据
2.性能的损失,一个文件需要写两次
六.访问同一个文件的不同路径
硬链接:多个文件路径指向同一个inode;//对应的是inode
//inode和原来的是相同的
特性:
(1):目录不支持硬链接
(2):硬链接不能跨文件系统
(3):创建硬链接会增加inode引用计数
符号链接{软连接}://存放的是路径名
指向一个文件路径的另一个文件路径
//inode 和原来的是不一样的
(1):符号链接与文件是两个各自独立的文件,各有自己的inode
//创建符号链接,不会增加链接次数
(2):支持对目录创建符号链接,可以跨文件系统
(3):删除符号链接文件不影响源文件,但删除原文件,符号指定的路径即不存在
ln aa bb //为aa创建硬链接bb
-rw-r--r-- .3 ///3是被硬链接的次数
ln -s src link_file
-v 显示创建过程
注意:符号链接文件的大小是其指定的文件的路径字符的字节数
以上是关于磁盘及文件管理系统入门的主要内容,如果未能解决你的问题,请参考以下文章