Linux文件系统的创建、检测、修复、分区等工具的使用

一、文件系统管理

什么是文件系统?

    我的理解是文件系统是对磁盘上的数据和文件结构的管理规范。

    如果文件系统没有继承性,那么以前文件系统的数据就无法传到新的文件系统中。

    Linux的文件系统有这么几种:ext2, ext3, ext4, xfs, btrfs, reiserfs, jfs, swap

    以及Linux的虚拟文件系统:VFS

Linux中创建文件系统的工具:mkfs

     用法:mkfs [选项] [-t <类型>] [文件系统选项] <设备> [<大小>]

     选项:

     -t, –type=<类型>  文件系统类型;若不指定,将使用 ext2

         fs-options     实际文件系统构建程序的参数

         <设备>         要使用设备的路径

         <大小>         要使用设备上的块数

     -V, –verbose      解释正在进行的操作;

                          多次指定 -V 将导致空运行(dry-run)

     -V, –version      显示版本信息并退出

                          将 -V 作为 –version 选项时必须是惟一选项

     -h, –help         显示此帮助并退出

我们创建一个文件系统试试

    blob.png

    用fdisk -l查看刚才创建的/dev/sdb

    blob.png

创建虚拟内存即交换分区:mkswap

    用法:mkswap [选项] 设备 [大小]

    选项:

     -c, –check               创建交换区前检查坏块

     -f, –force               允许交换区大于设备大小

     -p, –pagesize SIZE       指定页大小为 SIZE 字节

     -L, –label LABEL         指定标签为 LABEL

     -v, –swapversion NUM     指定交换空间版本号为 NUM

     -U, –uuid UUID           指定要使用的 UUID

     -V, –version             输出版本信息并退出

     -h, –help                显示此帮助并退出

块设备属性信息查看:blkid

    blkid可以查到块设备的UUID号、TYPE等信息

    blob.png

对文件系统进行检测修复:fsck

    用法:fsck [选项] [文件系统]

    选项:

    -a :自动修复文件系统,不询问任何问题。

    -A :依照/etc/fstab配置文件的内容,检查文件内所列的全部文件系统。

    -N :不执行指令,仅列出实际执行会进行的动作。

    -P : 当搭配"-A"参数使用时,则会同时检查所有的文件系统。

    -r  :采用互动模式,在执行修复时询问问题,让用户得以确认并决定处理方式。

    -R  :当搭配"-A"参数使用时,则会略过/目录的文件系统不予检查。

    -s  :依序执行检查作业,而非同时执行。

    -t :<文件系统类型> 指定要检查的文件系统类型。

    -T  :执行fsck指令时,不显示标题信息。

    -V  :显示指令执行过程。 

二、文件系统的分区

在创建完成文件系统后需要对文件系统进行分区才可以使用

可使用fdisk对文件系统进行分区(此工具最多可管理一个磁盘的15个分区)

fdisk用法:

     fdisk [选项] <磁盘>    更改分区表

     fdisk [选项] -l <磁盘> 列出分区表

     fdisk -s <分区>        给出分区大小(块数)

    

    选项:

     -b <大小>             扇区大小(512、1024、2048或4096)

     -c[=<模式>]           兼容模式:“dos”或“nondos”(默认)

     -h                    打印此帮助文本

     -u[=<单位>]           显示单位:“cylinders”(柱面)或“sectors”(扇区,默认)

     -v                    打印程序版本

     -C <数字>             指定柱面数

     -H <数字>             指定磁头数

     -S <数字>             指定每个磁道的扇区数

例:fdisk -l 可显示出当前磁盘的分区信息

    blob.png

我们还可以通过fdisk后面接磁盘,对该磁盘进行创建分区等操作

例如:fdisk /dev/sda然后按m进入帮助模式进行操作

blob.png

a:切换一个可启动的标志

b:编辑bsd磁碟标签

c:切换dos兼容的标志

d:删除一个分区

g:创建一个新的空GPT分区表

G:创建一个IRIX(SGI)分区表

l:已知分区的类型列表

m:打印这个菜单

n:添加一个新的分区

o:创建一个新的空DOS分区表

p:打印分区表

q:退出不保存更改

s:创建一个新的空Sun磁碟标签

t:改变一个分区的系统标识

u:改变display/entry单元

v:验证分区表

w:写入分区表到磁盘并退出

x:额外的功能(专家)

例如:我们要删除一个分区就按d,我选择删除分区2

    blob.png

例如:我们要创建一个新分区就按n,

    blob.png

这里的p为主分区,e为扩展分区,选择你想要创建的分区,这里我选择创建一个主分区,分区号为2,分区大小为10G

例如:我们按p可以看到刚才的分区情况

    blob.png

最后我们按w写入分区表到磁盘然后退出

    blob.png

通过fdisk -l 列出新分区表对比一下之前的看是否成功

blob.png

blob.png

可以看出分区是成功的

也可以通过cat /proc/partations查看内核是否识别出新分区

    blob.png

如果没有成功可以使用partx -a /dev/sda或者kpartx -a /dev/sda通知内核重新读取分区表

注:centos 5使用partprobe /dev/sda来重读分区表

partx的用法:partx [-a|-d|-s|-u] [–nr <n:m> | <分区>] <磁盘>

    选项:

     -a, –add            添加指定的分区或所有分区

     -d, –delete         删除指定的分区或所有分区

     -s, –show           列出分区

    

     -u, –update         更新指定的分区或所有分区

     -b, –bytes          以字节为单位而非易读的格式来打印 SIZE

     -g, –noheadings     –show 时不打印标题

     -n, –nr <n:m>       指定分区范围(例如:–nr 2:4)

     -o, –output <type>  定义使用哪个输出列

     -P, –pairs          使用 key=“value” 输出格式

     -r, –raw            使用原生输出格式

     -t, –type <类型>    指定分区类型(dos、bsd、solaris 等)

     -v, –verbose        详尽模式

    

     -h, –help     显示此帮助并退出

     -V, –version  输出版本信息并退出

    

    可用的列(针对 –show、–raw 或 –pairs):

             NR  分区号

          START  分区起点(扇区数)

            END  分区终点(扇区数)

        SECTORS  扇区数

           SIZE  易读形式的大小

           NAME  分区名

           UUID  分区 UUID

           TYPE  分区类型 十六进制 或 uuid

          FLAGS  分区标志

         SCHEME  分区表类型(dos、gpt、…)

原创文章,作者:N17_信风,如若转载,请注明出处:http://www.178linux.com/12001

(1)
上一篇 2016-03-03 09:38
下一篇 2016-03-03 17:34

相关推荐

  • Windows 10 VS. Linux

    原文出处: Linux中国 – zpl1025   前阵子 Windows 10 好像占据了绝大部分头条,甚至在一些Linux圈里也是一样。最具代表性的是 betanews.com 的 Brian Fagioli 说 Windows 10 已经为 Linux 桌面系统敲响了丧钟,Microsoft 如今宣布将为忠实的…

    系统运维 2015-03-24
  • 老王的心路历程(二):下一站Web体验监控产品

    在上一篇文章中,和大家聊到了建立Web应用体验监控体系,经过了概念阶段,也完成了技术选型,就进入了把实质性的产品研发阶段。作为产品经理,时刻不敢忘记我们的产品目标:无限感知你的用户,建立完备的体验监控体系,驱动产品的设计、开发和运维! 一、一切皆操作 仔细分析终端用户和Web应用及网站的交互过程,无论是打开页面、点击链接或按钮,还是填写表单、提交查询,一切皆…

    2016-08-15
  • 优云老王(三)谈埋点:人生处处有埋点

    说到埋点,的确是用户最感兴趣的话题之一,优云Web产品在内测阶段便收到了用户的各种反馈,反复问我无码埋点是怎么做的。在此我专门与大家聊聊埋点以及各种实现方案的利弊。 1、埋点的来历 先说下埋点的来历,其实在互联网没流行起来之前,埋点并不是用来分析用户行为的,技术人员为了解决某些问题,就在代码里面加入了些行为逻辑代码,如果用户使用产品的过程中出了问题,就生成一…

    2016-09-19
  • 推荐-虚拟化网络之OpenvSwitch(二)

    上一篇介绍了openvswitch的基础知识,接下来我们来做一个实验,利用GRE通道搭建一个跨多宿主机的虚拟化网络,深入了解openvswitch的功能。 一、实验拓扑 ip地址分配:  A1:192.168.10.1/24  A2:192.168.10.10/24   B1:192.168.10.2/24 &nbsp…

    2016-03-27
  • Linux高级文件系统管理

                                          &n…

    系统运维 2016-09-06
  • 再不自动化就晚啦!优云教你4步打造基于CentOS的产品镜像

    随着Linux程序的增多,软件的安装过程中经常出现如下问题: 1、硬件配置类似或者相同时,批量安装系统和软件,希望实现自动化安装,减少安装时间和人为出错。 2、工程实施人员在不同客户现场进行系统和软件安装(硬件配置不同),由于硬件有差别,不容易实现自动化。 笔者针对以上场景,从提高生产效率,减少误操作的立场,提出如下解决方案,希望能达到抛砖引玉的目的,并能与…

    系统运维 2016-07-16

评论列表(1条)

  • stanley
    stanley 2016-03-03 09:48

    知道写标签的朋友我都会第一时间给予充分的肯定,因为细节决定成败。
    内容上很赞,缺少样式上的整理。