文件系统管理
2015-08-25 18:40
676 查看
文件系统管理
文件系统包含着文件中的数据而且还有文件系统的结构;所有Linux用户和程序看到的文件、目录、软连接及文件保护信息等都存储在其中。在Linux中普通文件和目录文件保存在称为块物理设备的磁盘上。一套Linux系统支持若干物理盘,每个物理盘可定义一个或者多个文件系统。每个文件系统由逻辑块的序列组成,一个逻辑盘空间一般划分为几个用途各不相同的部分,即引导块、超级块、inode区以及数据区等引导块:在文件系统的开头,通常为一个扇区,其中存放引导程序,用于读入并启动操作系统;超级块:用于记录文件系统的管理信息。特定的文件系统定义了特定的超级块;inode区(索引节点):一个文件或目录占据一个索引节点。第一个索引节点是该文件系统的根节点。利用根节点,可以把一个文件系统挂在另一个文件系统的非叶节点上;数据区:用于存放文件数据或者管理数据。磁盘也叫硬盘;硬盘的接口类型有并行和串行,并行的有IDEH和SCSI,串行的有SATA、SAS和USB磁盘设备的设备文件命令格式为:/dev/DEV_FILE IDE: /dev/hd...
SCSI,SATA,SAS,USB: /dev/sd...
不同的设备后面跟的不同,一般是a-z
例:/dev/sda,/dev/sdb,......
同一设备上的不同分区:1,2,...
例:/dev/sda1,/dev/sda5
硬盘现在有机械式硬盘和固态硬盘。机械式硬盘包括磁道、柱面和扇区。分区是按柱面进行的。还有一个扇区不属于任何分区,就叫0磁道0扇区吧,它有512bytes;里面存放上整个磁盘管理的内容后,就叫MBR(Master Boot Record)了。这512bytes中,前446bytes用来存bootloader(引导加载器)的,后面64bytes用来存放分区表,最后2bytes存放4个16进制数,来标识MBR的有效性(如果是55AA,前面的字节所存的信息有效;否则,无效)。16bytes标识一个分区,所以一个磁盘最多有4个主分区。随着科技的发展,磁盘越来越大,所以一般是3个主分区和一个扩展分区(这个扩展分区可以再分多个逻辑分区,这个扩展分区不能存储数据,逻辑分区的编号一般从5开始)MBR只能识别2T大小的硬盘,要是更大的硬盘就需要使用GPT
分区管理工具有fdisk,partx,sfdisk:
fdisk:对于一块硬盘来说,最多只能管理15个分区fdisk -l [-u] [device...]——查看磁盘分区的信息,如果后面不跟设备名,显示所有设备磁盘分区信息fdisk device(设备名)
子命令:管理功能 p:print, 显示已有分区 m: 获取帮助 n: new, 创建 d:delete, 删除 w:write, 保存并退出 q:quit, 放弃更新并退出 t:调整分区id l:列表显示所有分区id在里面分好后查看下,在这里查看到,并不意味着在内核中已经实现了,需要查看/proc/partitions文件,如果里面也同步了,意味着在内核中实现了新的分区
从中可以看出没有同步到内核中,
要通知内核读取新的分区需要使用partx命令来识别partx –a /dev/sda就行了;或者使用partx –a –n 4:6 /dev/sda使用kpartx –a /dev/sda同样可以
再次查看,就可以看到存在了
Linux文件系统:
Linux文件系统包括 :ext2, ext3, ext4,xfs, btrfs, reiserfs, jfs, swap(交换分区,就是把磁盘空间当内存使用)等根据其是否支持“journal”(日志)功能分为: 日志型文件系统:ext3,ext4,xfs,... 非日志型文件系统:ext2,vfat文件系统的组成部分: 内核中的模块:ext4 用户空间的管理工具:mkfs.ext4,mkfs.xfs,mkfs.vfat用户面对的不是这个组成部分,而是Linux虚拟文件系统(VFS),就是消除底层的不同,为上层提供一个相同的服务创建文件系统:
(A)、mkfs命令:使用格式:(1)mkfs.FS_TYPE /dev/DEVICE
(ext4,xfs,btrfs,vfat)
(2)mkfs -t FS_TYPE /dev/DEVICE
-L 'LABEL': 设定卷标
使用blkid /dev/sda5可以查看磁盘分区的信息
(B)、mke2fs:ext系列文件系统专用管理工具
-t {ext2|ext3|ext4} -b {1024|2048|4096} -L 'LABEL' -j: 相当于 -t ext3-i #: 为数据空间中每多少个字节创建一个inode;此大小不应该小于block的大小; -N #:为数据空间创建个多少个inode; -m #: 为管理人员预留的空间占据的百分比; -O FEATURE[,...]:启用指定特性 -O ^FEATURE:关闭指定特性创建ext3的文件系统可以使用:mkfs.ext3; mkfs -t ext3 ; mke2fs -j ; mke2fs -t ext3 (C)、mkswap:创建交换分区
mkswap [options]device -L 'LABEL'这个命令有个前提:其分区的ID必须为为82;如果不是要使用fdisk命令的-t选项调整为82
其它常用工具:
1、blkid:块设备属性信息查看blkid [OPTION]... [DEVICE]-U UUID: 根据指定的UUID来查找对应的设备-L LABEL:根据指定的LABEL来查找对应的设备2、e2label:管理ext系列文件系统的LABEL# e2label DEVICE [LABEL]3、tune2fs:重新设定ext系列文件系统可调整参数的值-l:查看指定文件系统超级块信息;super block-L 'LABEL':修改卷标-m #:修预留给管理员的空间百分比-j: 将ext2升级为ext3-O: 文件系统属性启用或禁用-o: 调整文件系统的默认挂载选项-U UUID: 修改UUID号;文件系统检测:
1、fsck: File System CheCkfsck.FS_TYPE/dev/DEVICE(检测某个文件系统,必须使用相对应的文件系统,FS_TYPE一定要与分区上已经文件类型相同) fsck-t FS_TYPE -a:自动修复错误 -r:交互式修复错误
2、e2fsck:ext系列文件专用的检测修复工具
-y:自动回答为yes; -f:强制修复;设备文件的挂载使用mount命令,卸载使用umount,查看当前内核已挂载的设备,使用mount回车,或者使用cat /pron/mounts,或者df都可以。
相关文章推荐
- 应用领航:盘点那些年我们一起追过的OS
- 无奇不有!盘点各国自己开发的操作系统
- 可自定义oem的萝卜家园 Ghost XP 新春装机版 V200801 下载
- C#实现判断操作系统是否为Win8以上版本
- Linux操作系统添加新硬盘方法
- java如何获取本地操作系统进程列表
- Linux rdesktop操作系统下远程登录Windows XP桌面
- 32位操作系统认出超出4G内存的方法
- Linux rpm tar 操作系统下软件的安装与卸载方法
- JavaScript 获取用户客户端操作系统版本
- jsp 获取客户端的浏览器和操作系统信息
- Windows 操作系统的安全设置
- PHP获取用户的浏览器与操作系统信息的代码
- Perl操作系统环境变量的脚本代码
- javascript获取本机操作系统类型的方法
- 封装好的js判断操作系统与浏览器代码分享
- javascript实现获取浏览器版本、操作系统类型
- php根据操作系统转换文件名大小写的方法
- JS获得浏览器版本和操作系统版本的例子
- Python中使用异常处理来判断运行的操作系统平台方法