linux下文件系统管理mkfs及挂载Mount(2)

一.概念:一个磁盘出厂时默认设定好MBR主引导记录和未高级格式化的硬盘

  用户将磁盘一般分有3个主分区,一个扩展分区,多个逻辑分区

  每个分区代表一个文件系统,可分为多个块组和1个引导块(PBR)

  每个块组又分成:超级块,块组描述符表,块位图,节点位图,节点表,数据块

二.文件系统管理:重新创建文件系统会损坏原有文件

1.mkfs命令: 格式化文件系统或分区命令

选项:-t 指定分区或文件系统类型 

 mkfs -t ext2 /dev/sda6  相当于 mkfs.ext2  /dev/sda6

 mkfs -t ext3 dev/sda6  相当于 mkfs.ext3  /dev/sda6

2.管理ext类型文件系统或分区工具命令:

 2.1:mke2fs命令:后面无需用-t 指定分区或文件系统类型

   选项-j: 创建ext3类型文件系统

      -b: BLOCK_SIZE: 指定块大小,默认为4096;可用取值为1024、2048或4096;

      -L: LABEL:指定分区卷标;

      -m: 指定预留给超级用户的块数百分比

      -i: 用于指定为多少字节的空间创建一个inode,默认为8192;

      -N: 指定inode个数;

      -F: 强制创建文件系统;

      -E: 用户指定额外文件系统属性; 

 2.2:blkid: 查看文件系统或分区的标签,UUID,类型

     格式:blkid /dev/sda6

 2.3:e2label: 用于查看或设定文件系统或分区的标签

     格式:e2label /dev/sda6  查看标签

         e2lable /dev/sda6 data  设定标签

 2.4:tune2fs: 修改文件系统的相关属性且不损害原有文件系统或分区数据

     -j: 将ext2升级为ext3;(不能降级或者说降级会损坏原有数据)

      -L: 设定或修改卷标; 

     -m : 调整预留百分比;

     -r : 指定预留块数;

      -o: 设定默认挂载选项;常用ACL选项

      -c :挂载达到指定次数后进行自检,0或-1表关闭此功能;

      -i : 挂载达到指定天数后进行自检;0或-1表示关闭此功能;

      -l: 显示超级块中的信息;

 2.5:dumpe2fs: 显示文件系统或分区属性信息

      -h: 只显示超级块中的信息

     格式:dumpe2fs -h  /dev/sda5

 2.6:fsck: 检查并修复Linux文件系统

      -t:指定文件系统类型

      -a: 自动修复错误文件系统

 2.7:e2fsck: 专用于修复ext类型文件系统或分区

      -f: 强制检查;

      -p: 自动修复错误文件系统

3.mount:挂载

 mount [选项] [-o 选项] 文件系统/分区 挂载点

      文件系统/分区:/dev/sda5

  卷标:LABEL=“”

   UUID: UUID=“”

挂载点:   指定目录

    1、目录没有被其他进程使用;

     2、目录得存在;

3、目录中的原文件将会暂时隐藏;

    mount: 显示当前系统已经挂载的设备及挂载点

  选项-a: 表示挂载/etc/fstab文件中定义的所有文件系统

     -n: 使用—n选项意味着挂载设备时,不把信息写/etc/mtab文件;

         默认情况下,挂载的设备信息保存至/etc/mtab文件

     -t:指定文件系统的类型;默认情况下,mount会调用blkid命令获取对应文件系统的类型;

     -r: 只读挂载,典型例子,如挂载光盘

     -w: 读写挂载

     -o: 指定额外的挂载选项,即额外属性,之间用逗号隔开

          remount: 重新挂载当前文件系统

             ro: 挂载为只读

             rw: 读写挂载

            async:异步

             sync:同步

             loop:本地回环设备

             如:mount -o loop /tmp/redhat6.iso /mnt 

    umount: 卸载文件系统或挂载点都可以

卸载注意事项:挂载点或文件系统没有被进程使用;俗话称:"不能站在桥上拆桥"

实例说明:

1、创建一个1G的分区,文件系统为ext2,卷标为soft,块大小为1024,预留管理空间为磁盘分区的3%;挂载至/soft目录,要求使用卷标进行挂载并启用acl功能;

 fdisk /dev/sda (注意分区w保存后,partprobe命令让内核重新读取分区表)

 mkdir /soft

 mke2fs  -L soft -b 1024 -m 3 /dev/sda5

 mount -o acl LABEL="soft" /soft

或者

 tune2fs -o acl /dev/sda5

 mount LABEL="soft" /soft

如果想每次当系统重启后挂载生效,需将mount相关信息写入至/etc/fstab表中即可

2、将/dev/sda5文件系统的超级块中的信息中包含了block和inode和UUID的行

 tune2fs -l | grep -E -i  "block|inode|UUID" 

 dumpe2fs -h | egrep -i  "block|inode|UUID" 

3、复制/var目录中的所有文件至/dev/sda5件系统;而后调整此文件系统类型为ext3,要求不能损坏已经现有文件;并调整其预留百分比为1%

 cp -r /var/*  /soft

 tune2fs -j -m 1 /dev/sda5

4、重新挂载/dev/sda5分区但不能使用SUID

 mount -o remount,nosuid /soft

5、对/dev/sda5文件系统强行做一次检测;

 e2fsck -f /dev/sda5