linux——(4)磁盘与文件系统管理

概念一:linux-ext2文件系统

ext2在分区的时候会分成多个组块(block group)和一个启动扇区(boot sector),每一个组块内又有superblock、File system Description、block bitmap、iNode bitmap、iNode table、data block六个部分。

boot sector:可以安装引导装载程序,利用它能做出多重引导的环境。

superblock:记录整个文件系统的相关信息大小一般为1024bytes,可以用dumpe2fs来查看。此为一个文件系统只需要一个superblock,也就是第一个blockgroup内的superblock,后面的如果有,则都是第一个的备份。

File system Description:描述block group的开始于结束block等。可以用dumpe2fs查看。

block bitmap:记录那些block是空的。

iNode bitmap :同上。

iNode table:iNode块,记录文件属性、权限以及该文件实际存放在那个block中。每个iNode固定大小为128bytes,每个文件都至少会占用一个iNode,iNode记录block号码的时候有12个直接、一个间接、一个双间接、一个三间接记录区。

data block:数据存放的位置,block的大小和数量在格式化完的时候就确定了,之后不能改变。每个block内最多只能放一个文件的数据(所以零碎的小文件有时会浪费大量的空间)。

其他:

在ext2中数据发生不一致的时候会进行数据一致性检查,通过e2fsck进行。

在ext3中会借助日志文件系统(Journaling file system)来进行快速修复。

ext4是对ext3的改进和性能提升,并没有加入明显的新的功能。

关于VFS(virtual filesystem switch):我们在进入不同的文件系统读取文件的时候并没有显示指明我们使用的文件系统类型,但是系统还是能正常读取文件,就是因为有VFS的存在,它帮我们选取了恰当的文件系统进行操作。

 

概念二:两种连接文件

hard link:只是在某个目录下新建一条文件名连接到某iNode号码的关联记录而已,所以一般情况下,创建hard link不会导致新的iNode和block被占用,除非写新记录的目录刚好满了。删除任意一个hard link并不会影响其他hard link对文件的读取,删除源文件也不会。直到所有的hard link被删除,源文件才会被真正的删除。hard link不能跨文件系统也不能连接到目录。

symbolic link:和window的快捷方式很像,会单独新建一个文件,占用iNode和block,block里面记录了指向源文件名地址的信息,当源文件被删除后这些symbolic link就会全部失效。

相关命令:

ln [-sf] 源文件 目标文件 #产生连接文件,默认产生的是hard link。

-s  #加上这个参数,产生的就是symbolic link。

-f  #如果目标文件存在则删除然后再创建。

概念三:/etc/fstab和/etc/mtab的作用与区别

/etc/fstab:记录静态文件系统信息,记录了文件系统的挂载相关信息,开机的时候,linux都会检查这个文件,按照里面的记录对文件系统进行挂载。

/etc/mtab:动态记录当前系统的挂载情况,mount与umount都会影响其记录。

详细可以参考下面的博客

http://blog.163.com/[email protected]/blog/static/165119518201281892121501/

文件系统的简单操作:

磁盘目录与容量:

df [-ahTi] 目录或文件名 #列出文件系统的整体磁盘使用量,这个的信息来源为superblock,什么目录都不写会默认将所有文件系统的情况列出来,列出某个目录或文件系统时,会列出所在文件系统的信息。

-a  #列出所有的文件系统,包括系统特有的/proc等文件系统。

-h  #以人们较易阅读的GB、MB、KB等格式自行显示。

-T  #连同该分区的文件系统名称也显示出来。

-i   #不用硬盘容量而是用iNode的数量来显示大小。

du [-ahsS] 目录或文件名 #统计目录与其子目录的大小,不写目录文件名的时候统计当前路径。

-a  #列出当前目录下所有目录下,包括系统特有的/proc等文件系统。

-h  #以人们较易阅读的GB、MB、KB等格式自行显示。

-s  #列出目录的总大小。

-S  #不包括子目录下的统计信息,只统计每个目录“自己”所占用的大小。

磁盘分区、格式化、检验与挂载。

磁盘分区:

fdisk  [-l] 设备名称 #之后会进入fdisk的菜单,跟着菜单就能完成分区。

-l  #列出此设备的分区表。

格式化:

mkfs [-t 文件系统格式名] 设备文件名 #只需指定文件系统,会用默认设置来进行初始化。

如果我们想自己定义文件系统的卷标、block大小、iNode数量,则我们可以用以下的命令。

mke2fs [-b block大小] [-i 每多少bytes分配一个iNode] [-L 卷标] [-cj] 设备文件名

-b  #设置block大小,支持1024、2048、4096bytes。

-i   #每多少bytes分配一个iNode。

-L  #卷标名称。

-c  #写一个-c会进行快速读取测试,写-c -c会进行读写测试。

-j   #不写j格式化为ext2,写了j格式化为ext3。

磁盘检查:

fsck [-t 文件系统] [-AayC] 设备名称 #用来检查与修正文件系统错误的指令,因为fsck扫描硬盘时有可能造成文件系统的损坏,所以使用这个命令时,分区一定要处于未挂载的状态

-t  #输入要检查的文件系统类型,现在不输入一般也行。

-A   #依据/etc/fstab的内容,将需要扫描的设备扫描一次。

-a   #自动修复有问题的扇区,不用人工确认。

-y   #同a,但是有的文件系统只支持y不支持a。

-C   #可以显示一个直方图提示进度。

badblocks [-svw] #用于检查坏轨,但是现在用的很少,因为格式化阶段一般有这个过程。

-s  #显示进度。

-v  #显示进度。

-w   #用写入的方式检查,不建议使用。

磁盘挂载与卸载:

mount #虽然参数很多,但是一般可以不用,正真使用起来还是很简单的,这个命令还能用来挂载CD、DVD、U盘、软盘,另外当系统出错时,可以用这个命令重新挂载目录。

用法一:mount [设备名称/Label(卷标)] 目录 [-o] #将设备挂载到目录上-o后面接额外命令,可接命令如下(部分)。

ro,rw:文件系统只读,或者可读写。

async,sync:文件系统采用异步或者同步内存机制。

auto,noauto:允许次分区被mount -a自动挂载。

dev,nodev:是否允许在这个分区上创建设备文件。

suid,nosuid:是否可以包含suid、sgid文件。

exec,noexec:是否可以包含可执行文件。

user,nouser:是否可让一般用户在此分区上执行monut。

#注:默认值为,rw,suid,dev,exec,auto,nouser,async。

用法二:mount -a #依照配置文件/etc/fstab的数据将所有为挂载的设备都挂载上。

用法三:mount [-l] #只输入mount时,会列出所有的挂载信息,加上-l时会加上label。

用法四:mount -o remount,rw,auto  / #单独列出这个是因为这个命令很有用,在文件系统出问题的时候可以用这个命令重新挂载,这里写的是重新挂载根目录的情况,另外还带了一下其他参数。

umount 设备文件名或者挂载点 #卸载

磁盘参数修改:

mknod 设备文件名称 [bcp] [Major] [Minor](设置主设备号和次设备号)

b  #设置设备为一个外部存储设备,如硬盘等。

c  #设置设备为一个外部输入输出设备,如鼠标等。

p  #设置成fifo文件。

e2label 设备名称 新的Label # 修改卷标

tune2fs -j 设备名称 # 可以将ext2转换成ext3,还有其他一些功能未列出。

hdparm [-tT] 设备名称 #测试硬盘性能,另外对IDE接口的硬盘有一些作用这里未说明。

-t  #测试硬盘实际访问性能。

-T   #测试cache 的访问性能。

开机挂载:直接修改/etc/fstab这个文件即可。

特殊设备loop挂载:我们同样可以对文件进行挂载,如将一个镜像文件进行挂载,这样就可以直接读取内部文件,或者我们新建一个大文件,对这个文件进行格式化(用mkfs)后,将这个文件挂载,当做一个分区使用。

mount -o loop 文件 挂载点 #将iso文件或者格式化过的文件挂载到挂载点。

 

构建swap:分为四个步骤,分区(fdisk),格式化(mkswap),使用(swapon,swapoff),查看(free),当然我们也可以使用文件来构建swap,就是4中说的特殊设备挂载。

分区:和正常分区的区别就是需要修改system id 为82。

格式化:mkswap 设备名 #格式化为swap。

使用 :swapon 设备名 #启动。

停用:swapoff 设备名 #停用。

查看:free  #列出内存情况。

其他问题:

1,当分区大小高与2TB的时候,就不能用fdisk了,需要用GNU的parted,暂时不介绍。

2,boot sector与super block的关系:superblock与boot sector大小都为1024bytes,当block大小为1024时,第一个block是boot sector ,第二个是superblock,当block是2048是,他们会在同一个block。

时间: 2024-10-13 02:03:07

linux——(4)磁盘与文件系统管理的相关文章

linux(3)磁盘与文件系统管理/查看硬盘、内存空间/文件系统的操作/ 文件的压缩和打包

一.磁盘与文件系统管理 1.分区与文件系统分区:记录每一个分区的开始柱面和结束柱面主引导区(master boot recorder):记录分区的数据,记录硬盘里所有的分区信息分区划分好后,要将分区格式化为系统可以识别的文件系统磁盘的最小物理存储单位是:扇区分区时格式化文件系统的最小存储单位:逻辑块,以扇区为基础,大小为2的n次方,但是一个块只能容纳一个文件linux的ext2文件系统每个文件内容分为两部分:存储文件的属性(放在inode中),文件的内容(放在块中) 例: 读取文件系统的信息:

Linux之磁盘与文件系统管理

磁盘及文件系统管理详解 [参考文献:马哥视频] 原文:http://blog.csdn.net/u013008795/article/details/51150075 目前市场上主流的磁盘是机械式硬盘:u盘,光盘,软盘,硬盘,磁带 机械式硬盘 [硬盘内部由一个个同心圆组成]如下图: 硬盘内部所有盘片都固定在一根轴上,所以:所有盘面都是同步运动.如下图 硬盘这里面还有个读写的磁头,用来改变盘面中磁块的磁性变化.从而来存储0或1,其中0代表磁块没有磁性,1代表磁块有磁性. 在硬盘中磁盘都是双面可读写

linux服务器 磁盘和文件系统管理(一)

本系统为红帽6.5企业版 一.管理磁盘及分区 1.检测并确认新硬盘 说明: Device:分区的设备文件名称 Boot:是否为引导分区,有"*"标记的表示为引导分区 Start:该分区在硬盘中的起始位置 Eed:该分区在硬盘中的结束位置 Blocks:分区的大小,以Blocks(块)为单位,默认的块大小为1024字节 Id:分区对应的系统ID号,83表示EXT4分区.8e表示LVM逻辑卷 System:分区类型 2.对新的硬盘进行管理 在硬盘设备中创建.删除.更改和保存分区等操作需要使

linux服务器 磁盘和文件系统管理(二) LVM逻辑卷管理的基本操作

上一章我们说完了硬盘的分区.格式化与挂载分区,用是可以正常使用了,但是一旦出现系统分区不够用了,我们不得不备份.删除相关数据或者重新规划分区来满足系统的需要,那么如何才能解决这类的问题呢?这就可以用到我们标题中所提到的LVM动态分区,所谓LVM,它功能就是可以在现有数据不变的情况下动态调整磁盘容量,从而提高磁盘管理的灵活性 在进行LVM逻辑卷管理之前,我们需要先了解下LVM的几个基本术语: PV(Physical Volume,物理卷)物理卷是LVM机制的基本存储设备,通常对应一个普通分区或整个

初学者----linux磁盘和文件系统管理

大家也许对windows的磁盘和文件系统管理很懂,但是linux却没有像windows那样简单方便,但我们喜欢的是linux的高效快捷,所以学会linux的磁盘和文件系统管理,将会使得我们在企业的工作当中更加的如沐春风. 下面是我在虚拟机下面做的一些linux简单的逻辑磁盘管理,有错误的地方还希望大家多多探讨!!!! 一.在安装好的linux系统上添加两块虚拟硬盘 二.安装完成后重启系统. 三.查看两块硬盘是否存在. 四.磁盘划分 第一块磁盘划分 第二块磁盘划分 五.逻辑卷管理 六.实验验证

Linux基础之磁盘及文件系统管理(二)

磁盘和文件系统管理 文件系统管理工具: 创建文件系统的工具 mkfs mkfs.ext2, mkfs.ext3, mkfs.ext4, mkfs.xfs, mkfs.vfat, ... 检测及修复文件系统的工具 fsck fsck.ext2, fsck.ext3, ... 查看其属性的工具 dumpe2fs, tune2fs 调整文件系统特性: tune2fs 内核级文件系统的组成部分: 文件系统驱动:由内核提供 文件系统箮理工具:由用户空间的应用程序提供 ext系列文件系统的管理工具: mkf

第八章、Linux 磁盘与文件系统管理

第八章.Linux 磁盘与文件系统管理 1. 认识 EXT2 文件系统 1.1 硬盘组成与分割的复习 1.2 文件系统特性: 索引式文件系统 1.3 Linux 的 EXT2 文件系统(inode): data block, inode table, superblock, dumpe2fs 1.4 与目录树的关系 1.5 EXT2/EXT3 文件的存取与日志式文件系统的功能 1.6 Linux 文件系统的运行 1.7 挂载点的意义 (mount point) 1.8 其他 Linux 支持的文

Linux磁盘和文件系统管理

Linux系统中的磁盘和文件系统管理,之所以将二者放在一起总结,是因为在平时的工作中,二者是相辅相成的,常常用来一起使用. 首先介绍下磁盘分区的管理工具 常用的磁盘分区管理工具有fdisk,parted,sfdisk 这里我们介绍下常用的fdsik工具 fdisk -l [DEVICE]... :列出指定磁盘设备上的分区情况 fdisk [DEVICE]:创建分区 fdisk提供了一个交互式接口来管理分区,它有许多子命令,分别用于不同的管理功能:所有的操作均在内存中完成,没有直接同步到磁盘:直到

Linux磁盘与文件系统管理

Linux磁盘与文件系统管理 磁盘分区后需要进行格式化,是为什么呢? 因为每种操作系统所设置的文件属性/权限并不相同,为了存放这些文件所需的数据,因此需要将分区进行格式化,以成为操作系统能够利用的文件系统格式.