当前位置: 首页 > news >正文

linux分区,磁盘系统的管理,文件系统制作

   最近又开始重新拾起linux了,因为工作中用的很少,所以看得东西很容易就忘记了。

   这几天看了下linux的分区,以及如何制作文件系统等相关命令的用法,下面就按照这个流程来讲一讲,免得自己日后忘记了。


1.分区

   磁盘分区,即指定分区的起始和结束柱面。我们在安装linux系统的时候,都会将磁盘划分为独立的几块,这就是分区,柱面是分区的最小单位,柱面由扇区构成,第一个扇区是最重要的,里面有MBR(446byte)和分区表(64byte),扇区大小固定为512byte。


2.文件系统

   文件系统是怎么来的呢,给硬盘进行分区之后,当需要往硬盘上读写数据时,我们并不了解硬盘里面的相关构造是怎样的,那应该怎么办呢,给他映射一个我们熟悉的目录,这样该存到哪里,从哪里取出来就很清楚了。这个映射目录的过程,我们就称为制作文件系统,在后面将会详细解释。


   但是一个文件系统如此的庞大,相当不易管理。因此,一个文件系统又被分为很多的块组(block group),每个块组中都含有6个重要的内容:superblock、文件系统描述、block对应表,inode对应表、inode table、block table。

*文件的内容存放在block table中,而inode table记录了文件的属性,以及该文件对应的      block table

superblock:里面存储着整个文件系统的相关信息,如block和inode的总量,挂载时间,最近一                 个写入数据的时间等等。

文件系统描述:描述块组block group对应的开始block和结束block号码。

block 对应表:记录了哪些block存放了数据,哪些block空闲可以被使用

inode 对应表:记录了哪些indode存放了数据,哪些inode空闲可以被使用。

inode table:记录文件的相关属性,以及内容的block的号码,一个文件仅对应一个inode(大                   小固定128byte)。

block table:记录文件的内容,一个文件可存在多个block(有1k,2K,4k大小不同的size)


df :列出系统中所有文件的系统

      -h:结果中显示友好的单位,G,M,k

      -T:结果中显示文件系统的类型,如ext4等

      -i:不显示硬盘容量,而是显示inode的数量

      -a:显示所有的文件系统,包括特殊的文件系统


dumpe2fs  设备名:查看该设备的详细信息(superlock等信息)

  例子:dumpe2fs  /dev/sda1


3.文件系统的制作

(1)在安装linux的时候,分区时,可以手动选择分区格式化时的文件系统,挂载的目录。

(2) 如果磁盘还存在剩余空间的时候,我们可以手动通过命令来制作文件系统,其过程为  

创建分区——格式化——挂载目录 3步骤。


(2-1)fdisk 对磁盘进行分区

   通过df命令,我们可以看到设备名,IDE接口的为/dev/hda...,SATA接口的为/dev/sda...

fdisk 磁盘文件名(注意是/dev/sda,不要加上数字)

相关操作:p   查看所以分区

              n   新建分区

              d    删除分区

   使用n操作添加一个分区既可。


(2-2)mkfs 对分区进行格式化,也就是格式化为何种文件系统

   mkfs -t  文件系统  设备名称

例子:mkfs -t  ext4 /dev/sda5    表示将设备/dev/sda5格式化为ext4的文件系统

    如果是新建的分区,立即进行格式化,则会提示分区不存在,可以执行命令partprobe或者重启      来将新建的分区加入分区表


(2-3)mount 挂载,将格式化好的分区与目录映射上

mount -L “卷标名” 目录  :利用设备的卷标来挂载,

e2lable可以修改设备的卷标名称  e2lable 设备名 "lable名"

mount  设备名   目录:   将设备挂载到目录

mount -l :查看所有的挂载情况

mount  --bind 目录 目录 :将目录挂载到目录


unmount  卸载   unmount  设备名/目录


    以上这三部就可以完成  一个文件系统的制作了,记住 fdisk,mkfs,mount!




     本文转自布拉君君 51CTO博客,原文链接:http://blog.51cto.com/5148737/1410082,如需转载请自行联系原作者



相关文章:

  • H5上传图片前端预览显示
  • 大型企业网络配置系列课程详解(六) --PPP链路的配置与相关概念的理解
  • 2、使用vmware虚拟机安装Linux(以redhat5.8为例)中常见问题
  • C字符串与NSString之间的转换
  • 集合(三)CopyOnWriteArrayList
  • linux基础,zip、tar
  • http基本概述
  • 解决FTP服务器命令好使,工具不好使。
  • 学习计划与方法
  • go语言笔记——go环境变量goroot是安装了路径和gopath是三方包路径
  • What does AspCompat=true mean and when should I use it?
  • 使用ASP.Net WebAPI构建REST服务(三)——返回值
  • Spring事务管理4-----声明式事务管理(2)
  • fdsf
  • PowerDesigner设计的数据库 ORA-0092
  • 【从零开始安装kubernetes-1.7.3】2.flannel、docker以及Harbor的配置以及作用
  • 0x05 Python数据分析,Anaconda八斩刀
  • 78. Subsets
  • C++11: atomic 头文件
  • ES6, React, Redux, Webpack写的一个爬 GitHub 的网页
  • Essential Studio for ASP.NET Web Forms 2017 v2,新增自定义树形网格工具栏
  • es的写入过程
  • Flannel解读
  • HashMap ConcurrentHashMap
  • Java Agent 学习笔记
  • PermissionScope Swift4 兼容问题
  • PHP那些事儿
  • React+TypeScript入门
  • 动手做个聊天室,前端工程师百无聊赖的人生
  • 关于extract.autodesk.io的一些说明
  • 函数式编程与面向对象编程[4]:Scala的类型关联Type Alias
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 看域名解析域名安全对SEO的影响
  • 前端学习笔记之观察者模式
  • 让你的分享飞起来——极光推出社会化分享组件
  • 新版博客前端前瞻
  • CMake 入门1/5:基于阿里云 ECS搭建体验环境
  • ​sqlite3 --- SQLite 数据库 DB-API 2.0 接口模块​
  • # Java NIO(一)FileChannel
  • # Maven错误Error executing Maven
  • #HarmonyOS:软件安装window和mac预览Hello World
  • #常见电池型号介绍 常见电池尺寸是多少【详解】
  • (Matalb回归预测)PSO-BP粒子群算法优化BP神经网络的多维回归预测
  • (ZT) 理解系统底层的概念是多么重要(by趋势科技邹飞)
  • (分布式缓存)Redis持久化
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (附源码)ssm码农论坛 毕业设计 231126
  • (论文阅读31/100)Stacked hourglass networks for human pose estimation
  • (排序详解之 堆排序)
  • (学习日记)2024.04.04:UCOSIII第三十二节:计数信号量实验
  • (原創) 如何讓IE7按第二次Ctrl + Tab時,回到原來的索引標籤? (Web) (IE) (OS) (Windows)...
  • .CSS-hover 的解释
  • .NET Core 版本不支持的问题
  • .NET 使用 ILRepack 合并多个程序集(替代 ILMerge),避免引入额外的依赖
  • .NET(C#、VB)APP开发——Smobiler平台控件介绍:Bluetooth组件