上篇小编给大家讲解了磁盘结构和分区的介绍,这篇小编就给大家演示如何管理分区和文件系统类型格式化。

小编上篇已经提到如何使用磁盘,今天这两步,就是其中很重要的两步。(前几天写的有点急,有点乱,今天又整理了下)

一、管理分区  

列出块设备 lsblk

        fdisk -l /dev/sda

        cat /proc/partitions

创建分区使用的命令:

(1) fdisk  创建MBR 分区(7里也可以创建GPT 分区,但不推荐,contos 6 -l 时候gpt多个分区只显示1个)

  ①  fdisk  -l  /dev/sdX 查看硬盘分区信息

     -c(centos6 默认是dos) 打开或禁用dos模式  -u  (centos6 默认是柱面为单位) 切换显示的单位(扇区/柱面)

     -c (centos7 默认是非dos) -c=dos -c=nondos  -u  (centos7 默认是扇区为单位)  -u=cylinders(柱面)  -u=sectors(扇区)

  ② fdisk /dev/sdX 进行分区(交互式),建立分区时  

   m 帮助

   n 建立分区,建立分区时先选择 p主分区primary partition 或e 选择扩展分区extended,建议前3个建立逻辑分区,最后把所有空间给4扩展分区,有扩展分区可以创建多个逻辑分区。

   d 删除分区

    p 显示分区信息

   t 转换分区类型

   a 将指定分区设置/取消 活动分区   第一位为80活动

   L 查看分区类型

   o 重建分区表

   v 验证分区表,显示剩余没有被分区划分的扇区数量

   g 创建GPT格式的分区(centos7)不推荐使用,最好用gdisk

   q 退出不保存

   w 退出并保存,不保存,所有的修改都不生效

:因为fdisk 是交互式创建分区,所以写入脚本时需要:

  echo -e "n\np\n1\n\n+1G\nw\n" |fdisk /dev/sdb 来实现非交互创建分区

(2) gdisk  创建GPT 分区(用法和fdisk相似)

    n创建分区时,直接从2-128进行分区,不分主分区,扩展分区

(3) parted  高级分区操作(创建、复制、调整大小等等)实时性,小心使用,不用再w已经保存,可以直接非交互式创建分区,aix, amiga, bsd, dvh, gpt, mac, msdos, pc98, sun, loop 都能创建。(不常用)

  parted /dev/sdX

    help 寻求帮助,有很清晰的帮助的信息。

    mklabel help 有mklabel使用帮助信息

    mklabel msdos 选择msdos 方式分区

    mkpart 开始创建分区

    rm 删除分区

    p 查看分区信息

    q 退出

(4)重置内存中分区信息(当系统正在使用的分区修改时,内存不会改变)

   partprobe   新增分区,删除分区都可以,centos 5和7可以使用,centos 6中有bug

   新增分区时,同步 partx -a /dev/sdX 或 kpartx -a /dev/sdX -f

   删除分区时,同步 partx -d /dev/sdX   所有系统都能用,centos 6也可以

二、文件系统

(1)查看支持的文件系统:/lib/modules/`uname –r`/kernel/fs

(2)文件系统类型

Linux 文件系统:ext2(Extended file system), ext3,ext4, xfs (SGI ), btrfs (Oracle ), reiserfs, jfs(AIX), swap

根据其是否支持"journal" 功能:

  日志型文件系统: ext3, ext4, xfs, ...

  非日志文件系统: ext2, vfat

光盘:iso9660

Windows :FAT32, exFAT,NTFS

Unix: FFS (fast ), UFS (unix ), JFS2

网络文件系统:NFS, CIFS

集群文件系统:GFS2, OCFS2 (oracle) 例:11.11 淘宝

分布式文件系统: fastdfs,ceph, moosefs, mogilefs,glusterfs, Lustre

RAW:未经处理或者未经格式化产生的文件系统

(3)创建文件系统

(1)mkfs 命令

  mkfs.   能创建很多类文件系统 例:mkfs.xfs /dev/sda1 给/dev/sda1创建xfs类型的文件系统

      ext#   xfs   btrfs   vfa

  mkfs -t 是个c写的脚本,就是调用mkfs. 命令 例:mkfs -t ext4 /dev/sda1 给/dev/sda1创建ext4类型的文件系统

           -f  强制重建,如果这个设备已经分过其他格式的文件系统了

(2)mke2fs 创建文件系统,ext系列文件系统专用管理工具,例:mke2fs -t ext4 -L test /dev/sdc1 给/dev/sdc1创建ext4卷标为test的文件系统

  -t {ext2|ext3|ext4} 格式

  -b {1024|4096} block快大小

  -L 'LABEL' 卷标

  -j: 于 相当于 -t ext3

    mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3

  -i #:  为数据空间中每多少个字节创建一个inode ;此大小不应该小于block 的大小

  -N # :指定分区中创建多少个inode

  -I  一个inode 记录占用的磁盘空间大小,128---4096

  -m #:  默认5%, 为管理人员预留空间占总空间的百分比

  -O FEATURE[,...] :启用指定特性(只能开启以下特性) -O ^FEATURE 禁用指定特性

(3)tune2fs修改文件系统信息,重新设定ext 系列文件系统可调整参数的值  例:tune2fs -o acl /dev/sdb2 开启/dev/sdb2的acl功能

  -l :查看指定文件系统超级块信息;super block

  -L 'LABEL' :修改卷标(ext)

    mkfs -L 'LABEL'  或  mke2fs -L 'LABEL' 创建时设置卷标

    e2label /dev/sd# 查看卷标

    e2label /dev/sd# 'LABEL' 重命名卷标

  -m # :修预留给管理员的空间百分比

  -j:  将ext2 升级为ext3

  -O:  文件系统属性启用或禁用, –O ^has_journal

  -o:  调整文件系统的默认挂载选项,–o ^acl (centos7里默认开启acl   6 默认不开启)

  -U UUID:  修改UUID号

(4)查看信息

  blkid:块设备属性信息查看(centos 7里默认显示sr0    6 里需blkid /dev/sr0显示光盘)

    -U UUID:  根据指定的UUID 来查找对应的设备

    -L LABEL :根据指定的LABEL

   findfs:查找分区(ext)

    findfs [options] LABEL=<label>

    findfs [options] UUID=<uuid>

  dumpe2fs /dev/sda# 查看文件系统信息:superblock信息及block group信息

    -h :查看超级块,不显示block group而只显示superblock 与tune2fs -l一致

小知识:超级块就是文件系统的内置,指定文件系统类型

    block group 0里有super block ,后奇数组都有备份,能用于修复

(5)文件系统检测和修复

  常发生于死机或者非正常关机之后,挂载为文件系统有几率标记为“no clean” ”

 注意:一定不要在挂载状态下修复(centos6,7都禁止挂载下修复,5里可以修复)

fsck(都可用) / e2fsck(ext)先卸载再修复(6里默认交互式修复,7非交互)

  -y 自动回答yes

  -t filetype  指定文件系统类型

  -f 强制修复(当破坏太小时,强制扫描一遍修复)

这篇的东西有些多,但其实经常用的命令也就:fdisk/gdisk、mkfs./mke2fs/tune2fs、blkid 这几个命令。下一篇就是磁盘管理最重要的一步了,mount挂载,敬请期待!!

          希望对大家有帮助,有什么错误请告诉我~

linux 磁盘管理三部曲——(2)管理分区,文件系统类型格式化的更多相关文章

  1. chmod不起作用的原因分析 - Linux下查看分区文件系统类型

    chmod不起作用 可能的原因: chmod对应的是windows下的一个磁盘分区,ntfs不支持linux权限 附:Linux下如何查看分区文件系统类型 1,fdisk -l fdisk -l 只能 ...

  2. Linux查看分区文件系统类型总结

    在Linux 中如何查看分区的文件系统类型,下面总结几种查看分区文件系统类型的方法. 1: df -T 命令查看 这个是最简单的命令,文件系统类型在Type列输出.只可以查看已经挂载的分区和文件系统类 ...

  3. linux 文件系统管理三部曲之三:挂载文件系统

    linux 文件系统管理三部曲之一:磁盘分区 linux 文件系统管理三部曲之二:创建文件系统 上面说明了,硬盘的划分和格式化,那么怎么使用,还没说,这里说一下,怎么使用创建好的文件系统. 使用文件系 ...

  4. Linux磁盘空间被占用问题 (分区目录占用空间比实际空间要大: 资源文件删除后, 空间没有真正释放)

    问题说明:IDC里的一台服务器的/分区使用率爆满了!已达到100%!经查看发现有个文件过大(80G),于是在跟有关同事确认后rm -f果断删除该文件.但是发现删除该文件后,/分区的磁盘空间压根没有释放 ...

  5. Linux下如何查看分区文件系统类型

    1,fdisk -l fdisk -l 只能列出硬盘的分区表.容量大小以及分区类型,但看不到文件系统类型. 2,df -h df 命令是用来查看文件系统磁盘空间使用量的.但df 命令只会列出已挂载的文 ...

  6. —linux 磁盘配额按用户管理(quota)

    我根据下面的ref链接整理的基本是的按用户额度管理步骤 (按组的额度管理被简化掉) 我在Ubuntu服务器12.04下整理,其他版本的Ubuntu和Linux应该都没有问题的 (有任何错误都指正给我, ...

  7. Linux 磁盘管理篇, 目录管理(二)

    格式化档案系统:                    mke2fs 列出文件系统的整体磁盘使用量            df 评估文件系统的磁盘使用量            du 查看Superbl ...

  8. Linux 磁盘管理篇,目录管理(一)

    目录:     当我们在linux的ext2档案建立一个目录时,ext2会分配一个inode与至少一块Block给该目录,其中inode记录该目录在相关属性,并指向分配到在那块Block,而block ...

  9. Linux下识别分区文件系统类型

    Linux下挂载文件系统有时候需要填写文件系统.但有的设备拿到手还不知道文件系统,这种情况,可以用 parted命令 # parted /dev/vda GNU Parted 3.2 Using /d ...

随机推荐

  1. 再学习之MyBatis

    一.框架基本介绍 1.概念 支持普通SQL查询.存储过程和高级映射,简化和实现了Java 数据持久化层的的开源框架,主要流行的原因在于他的简单性和易使用性. 2.特点 持久层 .ORM(对象关系映射) ...

  2. CentOS配置上网

    CentOS设置:   进入CentOS命令模式: Centos7更改默认启动桌面(或命令行)模式 vi /etc/inittab:查看启动文件,在该文件中存在两种方式: multi-user.tar ...

  3. C# 自定义样式实现菜单和工具栏的分割线

    在做WinForm界面布局时,菜单和工具栏必不可少!但是MenuStrip和ToolStrip不能够对边框的样式直接设置,如果想实现菜单和工具栏之间的分割线就不容易实现:今天查阅了一下msdn找到了一 ...

  4. FPGA调试光纤模块

    利用FPGA调试光纤接口接口: 由于与项目需要,前段时间调试了光纤接口,记录一些设计经验. 设计中采用FPGA控制光纤模块完成光纤数据的收发,FPGA采用Xilinx公司的Spartan6 LX45T ...

  5. 2017-11-22 Intall Ubuntu Log

    重启之后进入不了系统,安装工具check defect也不好用(问题尚不清楚),决定重做系统 直接用u盘(Universal_USB_Installer制作的安装工具,之前用都没有问题)安装,前面一起 ...

  6. ArrayList迭代过程删除问题

    一:首先看下几个ArrayList循环过程删除元素的方法(一下内容均基于jdk7): package list; import java.util.ArrayList; import java.uti ...

  7. 容易被忽视的后端服务 chunked 性能问题

    容易被忽视的后端服务 chunked 性能问题 标签(空格分隔): springboot springmvc chunked 背景 spring boot 创建的默认 spring mvc 项目 集成 ...

  8. javascript常用的Math对象的方法

    简介 Math对象是在程序编程中用于执行一些数学任务的.Math 对象并不像 Date 和 String 那样是对象的类,因此没有构造函数 Math(),像 Math.sin() 这样的函数只是函数, ...

  9. Cannot load browser "PhantomJS": it is not registered! Perhaps you are missing some plugin? 测试安装遇到的BUG

    安装了半天phantomjs就是安装不好,后面想了个死办法,http://phantomjs.org/download.html这个网址下先去下载好 phantomjs-2.1.1-windows.z ...

  10. Scala入门系列(四):Map & Tuple

    Map 创建Map // 创建一个不可变的Map scala> val ages = Map("Leo" -> 30, "Sparks" -> ...