Linux下的磁盘分割和文件系统
一、各硬件装置在Linux下的文件名
1、IDE硬盘机 在Linux内的文件名: /dev/hd[a-d] (a-d 刚好是四个这个是有原因的具体如下)
解释:以 IDE 接口来说,由于一个 IDE 扁平电缆可以连接两个 IDE 装置,又通常主机都会提供两个 IDE 接口,因此最多可以接到四个 IDE 装置。 也就是说,如果你已经有一个光盘设备了,那举最多就叧能再接三颗 IDE 接口的磁盘啰。 这两个 IDE 接口通常被称为 IDE1(primary)及 IDE2(secondary), 而每条扁平电缆上面的IDE 装置可以被区分为 Master 和Slave
这四个 IDE 装置癿文件名为:
IDE1(Primary) /dev/hda /dev/hdb
IDE2(Secondary) /dev/hdc /dev/hdd
2、SCSI/SATA/USB硬盘机 在linux内的文件名: /dev/sd[a-p] 其中的a-p也同样的道理,但是 SATA是没有顺序的只有按照系统检测到磁盘的顺序来排列,比如有4颗磁盘,则肯能为 /dev/sda /dev/sdb /dev/sdc /dev/sdd 而这个顺序为磁盘检测到的顺序,
二、磁盘的组成
1、一个磁盘有:磁盘盘,机械手臂,磁盘读取头以及主轴马达,而数据的写入其实是在磁盘盘面上,磁盘盘面又可以细分为扇区(sectory)磁柱(cylinder)两种单位,其中一个扇区的大小为512byte .
2、磁盘磁面上有一个特别的扇区即第一个扇区,这个扇区特别是因为它记录了两个信息:
(1)、磁盘分割表 ,也就是你这个磁盘的分割的相关信息,如起始磁柱,结束磁柱大小为64bytes
(2)、MBR(master boot record ) 即主要启动引导区,可以安装启动管理程序的地方 大小为 446bytes
3、磁盘分区表:我们知道磁柱是分割槽的最小单位,而在第一个扇区中的64bytes 存放的分割表,而这64bytes被分为4组,每组记录其起始和结束磁柱号码。
4、由于分割表就只有 64 bytes 而已,最多叧能容纳四笔分割的记录, 这四个分割的记录被称为主要(Primary)或延伸(Extended)分割槽
5、(1)、其实所谓的『分割』只是针对那个 64 bytes 的分割表进行设定而已!
(2)、 硬盘默认的分割表仅能写入四组分割信息
(3)、这四组分割信息我们称为主要(Primary)或延伸(Extended)分割槽
(4)、分割槽的最小单位为磁柱(cylinder)
(5)、当系统要写入磁盘时,一定会参考磁盘分区表,才能针对某个分割槽进行数据的处理!
6、磁盘中最多只能有四个主要分割或三个主要分割和一个延伸分割,而延伸分割只能有一个,这是系统的限制,而主分割加延伸分割最多只能有四个这是磁盘的限制。
7、延伸分割不能进行格式化,而逻辑分割是通过延伸格分割格式化得到的结果!,也就是说如果延伸分割槽坏了则所有的逻辑分割槽中的数据也就被损坏了!
三、Linux下的磁盘 文件系统 挂载 挂载点 目录树 的相关概念以及他们之间的关系
1、磁盘 没什么好说的,就是一块硬盘 或其他的存储设备
2、文件系统:什么是文件系统?
(1)、文件系统是操作系统用于明确磁盘或分区上的文件的方法和数据结构; 即在磁盘上组织文件的方法。也指用于存储文件的磁盘或分区,或文件系统种类。 因此,可以说"我有2个文件系统"意思是他有2个分区,一个存文件,或他用 "扩展文件系统",意思是文件系统的种类。
(2)、磁盘或分区和它所包括的文件系统的不同是很重要的。 少数程序(包括最有理由的产生文件系统的程序)直接对磁盘或分区的原始扇区进行操作; 这可能破坏一个存在的文件系统。 大部分程序基于文件系统进行操作,在不同种文件系统上不能工作。
(3)、一个分区或磁盘能作为文件系统使用前,需要初始化,并将记录数据结构写到磁盘上。这个过程就叫建立文件系统。
(4)、大部分UNIX文件系统种类具有类似的通用结构,即使细节有些变化。 其中心概念是超级块superblock, i节点inode, 数据块data block,目录块directory block, 和间接块indirection block。 超级块包括文件系统的总体信息,比如大小(其准确信息依赖文件系统)。 i节点包括除了名字外的一个文件的所有信息,名字与i节点数目一起存在目录中, 目录条目包括文件名和文件的i节点数目。 i节点包括几个数据块的数目,用于存储文件的数据。 i节点中只有少量数据块数的空间,如果需要更多,会动态分配指向数据块的指针空间。 这些动态分配的块是间接块;为了找到数据块,这名字指出它必须先找到间接块的号码。
3、挂载:所谓的挂载就是利用一个目录当成进入点,将磁盘分区槽的数据放置在该目录下; 也就是说,进入该目录就可以读取该分割槽的意思。这个动作我们称为挂载;
4、挂载点:那个进入点的目录我们称为挂载点;
5、目录树:在linux下目录是以树的结构呈现的,所以就叫目录树;
6、在目录树中树根就是根目录,而这个根目录必须要挂载到某个分割槽,而其下的某些目录可以根据自己的需要来挂载,也可以不挂在,因为根目录已经挂载了,如果你不挂载则默认就是和根目录相同的分割槽!
7、 软挂载是通过 mount 命令来实现的
Linux下的磁盘分割和文件系统的更多相关文章
- linux下查看磁盘分区的文件系统格式
df -T 只可以查看已经挂载的分区和文件系统类型. Filesystem Type 1K-blocks Used Available Use% Mounted on/dev/sda1 ext4 20 ...
- 【转】linux下查看磁盘分区的文件系统格式
https://www.cnblogs.com/youbiyoufang/p/7607174.html
- linux下U盘变成只读文件系统的修复
问题描述: U盘插入linux下后变成了只读文件系统,不能再往u盘里拷贝文件. 总结:产生这个问题的原因可能是u盘文件系统损坏,操作系统为了防止它损坏系统,将它设置成了只读 修复方法: 在window ...
- linux下用cronolog分割apache日志
linux下用cronolog分割apache日志,大神莫拍砖,菜鸟留一记录,小白请默默转载.连linux登陆和vi编辑都不会的,请默默关闭此页面.入正题 说明:淡绿色底的为linux命令,其他的为备 ...
- linux下测试磁盘的读写IO速度-简易方法
linux下测试磁盘的读写IO速度-简易方法 参考资料:https://blog.csdn.net/zqtsx/article/details/25487185 一:使用hdparm命令 这是一个是用 ...
- Linux下查看磁盘挂载的几种方法
Linux下查看磁盘挂载的几种方法 第一种方法:df命令 # df -hT Filesystem Type Size Used Avail Use% Mounted on devtmpfs devtm ...
- Linux下查看磁盘挂载的三种方法
Linux下查看磁盘挂载的三种方法 2009-06-05 23:17 好久没有更新日志了,呵呵.不是没有要写的东东.实在抽不出时间来写,要准备公司的考试呢,C++考试.已经有七个月没有写C++代码了, ...
- Linux下查看磁盘与目录的容量——df、du
df:列出文件系统的整体磁盘使用量: du:评估文件系统的磁盘使用量(常用于评估目录所占容量) df参数: -a:列出所有的文件系统,包括系统特有的/proc等文件系统 -k:以KB的容量显示各文件系 ...
- linux下的磁盘和文件系统管理
一.硬盘分区知识 1.分区类型 硬盘分区一共有3种:主分区.扩展分区和逻辑分区.扩展分区只不过是逻辑分区的“容器”,实际上只有主分区和逻辑分区进行数据存储.在一块硬盘上最多只能有4个主分区,可以另外建 ...
随机推荐
- Mysql事务探索及其在Django中的实践(一)
前言 很早就有想开始写博客的想法,一方面是对自己近期所学知识的一些总结.沉淀,方便以后对过去的知识进行梳理.追溯,一方面也希望能通过博客来认识更多相同技术圈的朋友.所幸近期通过了博客园的申请,那么今天 ...
- 如何进行python性能分析?
在分析python代码性能瓶颈,但又不想修改源代码的时候,ipython shell以及第三方库提供了很多扩展工具,可以不用在代码里面加上统计性能的装饰器,也能很方便直观的分析代码性能.下面以我自己实 ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统 (源码购买说明)
系列目录 升级日志 !!!重大版本更新:于2016-12-20日完成了系统的结构重构并合并简化了T4(这是一次重要的更新,不需要修改现有功能的代码),代码总行数比上个版本又少了1/3.更新了代码生成器 ...
- Opserver开源的服务器监控系统(ASP.NET)
Opserver是Stack Exchange下的一个开源监控系统,系统本身由C#语言开发的ASP.NET(MVC)应用程序,无需任何复杂的应用配置,入门很快.下载地址:https://github. ...
- 步入angularjs directive(指令)--点击按钮加入loading状态
今天我终于鼓起勇气写自己的博客了,激动与害怕并存,希望大家能多多批评指导,如果能够帮助大家,也希望大家点个赞!! 用angularjs 工作也有段时间了,总体感觉最有挑战性的还是指令,因为没有指令的a ...
- 破解SQLServer for Linux预览版的3.5GB内存限制 (RHEL篇)
微软发布了SQLServer for Linux,但是安装竟然需要3.5GB内存,这让大部分云主机用户都没办法尝试这个新东西 这篇我将讲解如何破解这个内存限制 要看关键的可以直接跳到第6步,只需要替换 ...
- 跟着老男孩教育学Python开发【第五篇】:模块
递归的案例:阶乘 1*2*3*4*5*6*7- def func(num): if num == 1: return 1 return num * func(num - ...
- TCP的数据传输小结
TCP的交互数据流 交互式输入 通常每一个交互按键都会产生一个数据分组,也就是说,每次从客户传到服务器的是一个字节的按键(而不是每次一行) 经受时延的确认 通常TCP在接受到数据时并不立即发送ACK: ...
- Spring MVC入门
1.什么是SpringMvc Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面.Spring 框架提供了构建 Web 应用程序的全功能 M ...
- innodb 自增列重复值问题
1 innodb 自增列出现重复值的问题 先从问题入手,重现下这个bug use test; drop table t1; create table t1(id int auto_increment, ...