zoukankan      html  css  js  c++  java
  • linux EXT文件系统

    将一个硬盘分区之后如何创建文件系统(windows来讲就是如何针对分区来进行格式化,是采用FAT32的文件系统来格式化,还是采用NTFS的文件系统来格式化)。Linux主要采用EXT2,EXT3分区格式来进行分区格式化的。
    
    当将一块新的硬盘挂载到linux上首先就要fdisk分区,然后对分区进行格式化操作(linux里面叫做创建文件系统),对分区创建文件系统,支持的文件系统格式目前是EXT2,EXT3.
    
    EXT2,EXT3文件系统格式的区别:早期是基于ext2,有一个弊端就是不支持操作记录,进行相关操作的时候不会有日志文件产生,导致出现问题很难去排查。Ext3会产生日志文件,如果linux系统是基于ext3来安装的,会有日志信息,
    
    root@ubuntu:/var/log# ls
    alternatives.log       faillog            syslog.6.gz
    alternatives.log.1     fontconfig.log     syslog.7.gz
    
    而基于ext2是不会有日志文件的。现在的发行版都是基于ext3安装的。Ubuntu都开始执行ext4的。

    下面以ext3方式给分区创建文件系统:

    Fdisk -l : 
    Command (m for help): p
    Disk dev/sdb: 2 GiB, 2147483648 bytes, 4194304 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: dos
    Disk identifier: 0x7251b8e3
    (现在dev/sdb只有一个分区)
    Device     Boot Start     End Sectors Size Id Type
    dev/sdb1         2048 4194303 4192256   2G 83 Linux
    
    root@ubuntu:/# mke2fs /dev/sdb1 (给分区指定文件系统)
    
    (/dev/sdb1是分区的绝对路径,就创建完文件系统了,默认是ext2文件系统,
    root@ubuntu:/# mkfs.
    mkfs.bfs      mkfs.ext3     mkfs.fat      mkfs.ntfs     
    mkfs.cramfs   mkfs.ext4     mkfs.minix    mkfs.vfat     
    mkfs.ext2     mkfs.ext4dev  mkfs.msdos   
    默认调用的是mkfs.ext2命令)
    
    mke2fs 1.42.13 (17-May-2015)
    Creating filesystem with 524032 4k blocks and 131072 inodes
    Filesystem UUID: 0b2cc385-1251-4219-b346-dc1ba2f086a7
    Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912
    
    Allocating group tables: done                            
    Writing inode tables: done                            
    Writing superblocks and filesystem accounting information: done 
    
    root@ubuntu:/# mke2fs -j /dev/sdb1 (加上-j,这个时候分区创建的文件系统是ext3的)
    mke2fs 1.42.13 (17-May-2015)
    /dev/sdb1 contains a ext2 file system (原有是ext2格式)
        created on Tue Feb 13 19:13:31 2018
    Proceed anyway? (y,n) y
    Creating filesystem with 524032 4k blocks and 131072 inodes
    Filesystem UUID: b08780b9-9c1d-4b94-a804-4d0ac3ffcf82
    Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912
    
    Allocating group tables: done                            
    Writing inode tables: done                            
    Creating journal (8192 blocks): done
    Writing superblocks and filesystem accounting information: done 
    
    这个文件系统创建出来之后,通常都是要进行检测的,分区指定好文件系统之后(格式化之后)这个分区是否有相应的错误(扇区的错误,硬盘的逻辑分区的错误)。
    root@ubuntu:/# e2fsck /dev/sdb1
    e2fsck 1.42.13 (17-May-2015)
    /dev/sdb1: clean, 11/131072 files, 17205/524032 blocks
    (这个检测是非常快的,因为当前的文件系统是没有任何文件的,是空的分区,只是检测扇区或者硬盘块)(有错误会有强行修复)
    root@ubuntu:/# e2fsck -p /dev/sdb1 (-p是有错误进行强行修复)
    /dev/sdb1: clean, 11/131072 files, 17205/524032 blocks
    
    (e2fsck 是用来检测修复文件系统的,mke2fs 是用来创建文件系统的)(创建完分区后不能马上拿过来使用,要先创建文件类型格式,最后才能挂载使用了)
    
    root@ubuntu:/# mount (当前正在使用的硬盘上挂载情况,。其他硬盘看不到)
    (sda1分区挂载在/目录下,类型是ext4,操作系统通过目录找硬件设备)
    /dev/sda1 on / type ext4 (rw,relatime,errors=remount-ro,data=ordered)
    /dev/sda1 on /var/lib/docker/overlay2 type ext4 (rw,relatime,errors=remount-ro,data=ordered)
    /dev/sda1 on /var/lib/docker/overlay2 type ext4 (rw,relatime,errors=remount-ro,data=ordered)
    
    当使用mke2fs -j /dev/sdb1创建完文件系统之后,这个文件系统是生效的是可以使用的,每一个分区都是要挂载到某个目录上去的(操作系统是通过目录查找硬件设备)
    (当文件系统连续被挂载多少次之后,或者是文件系统在使用多少天之后,这个文件系统在操作系统重启的时候将会使用e2fsck 进行自动检测,检测也是一段程序也会调用相关的命令执行,)。
    
    root@ubuntu:/# tune2fs -l dev/sdb1 (查看分区的详细信息)
    tune2fs 1.42.13 (17-May-2015)
    Filesystem volume name:   <none>  :卷的名称
    Last mounted on:          <not available> :上次挂载时间
    Filesystem UUID:          b08780b9-9c1d-4b94-a804-4d0ac3ffcf82 :UUID号
    Filesystem magic number:  0xEF53
    Filesystem revision #:    1 (dynamic)
    Filesystem features:      has_journal ext_attr resize_inode dir_index filetype s
    
    root@ubuntu:/# tune2fs -c 100 /dev/sdb1(该分区挂载100次之后,系统重启时进行检测,是否有坏块,坏的文件)
    tune2fs 1.42.13 (17-May-2015)
    Setting maximal mount count to 100
    
    root@ubuntu:/# tune2fs -i 100d /dev/sdb1 (该分区挂载70天之后,系统重启时进行检测,是否有坏块,坏的文件)
    tune2fs 1.42.13 (17-May-2015)
    Setting interval between checks to 8640000 seconds
    
    当硬盘划分好之后,windows和linux操作系统中,都有卷标,一个标识,

    root@ubuntu:/# e2label /dev/sdb1 yw卷标名  (给分区指定卷标)
    root@ubuntu:/# tune2fs -l dev/sdb1
    tune2fs 1.42.13 (17-May-2015)
    Filesystem volume name:   yw卷标名 :卷标
    Last mounted on:          <not available>
    Filesystem UUID:          b08780b9-9c1d-4b94-a804-4d0ac3ffcf82
    Filesystem magic number:  0xEF53
    
    root@ubuntu:/# find 
    find     findfs   findmnt  
    root@ubuntu:/# findfs LABEL=yw卷标名   (查找卷标信息,的分区信息)
    /dev/sdb1
    
    mke2fs是创建文件系统,e2fsck 检测当前文件系统,tune2fs 查看文件系统信息,e2label 指定卷标名称,findfs 查找卷标信息。
    
    ------------------上面讲的是如何创建文件系统,就是如何格式化分区,fdisk针对新的硬盘建立好分区之后,首先要创建文件系统,windows上面基本上只要把分区格式化之后(创建NTFS文件系统)分配好相应的盘符就可以使用了,linux上使用新的硬盘,分区,挂载文件系统,最后还要挂载操作-------------------------------------------

     linuxx的一个硬盘看成D盘和E盘的合体,分区是D盘或E盘,卷标是D盘或E盘的名字

  • 相关阅读:
    git-for-windows 安装无图标的问题
    开源协议
    根据iframe获取window
    JS的checkbox状态切换dom无变化
    SQL条件!=null查不出数据
    jquery获取select选中项的文本
    泛型擦除
    树形菜单数据结构
    jqgrid动态填充select
    巨坑:jqgrid竟然取不到编辑模式下input的值
  • 原文地址:https://www.cnblogs.com/yaowen/p/8449134.html
Copyright © 2011-2022 走看看