Linux-文件系统管理

系统分区

分区类型:

  1. 主分区:主分区也叫引导分区,最多只能有四个;当创建四个主分区的时候,就无法在创建扩展分区了,当然也就没有逻辑分区;
  2. 扩展分区:最多只能有一个;组分区加扩展分区最多有四个;扩展分区不能写入数据,只能包含逻辑分区
  3. 逻辑分区:逻辑分区是在扩展分区划分的,如果是IDE硬盘,Linux最多支持59个逻辑分区,如果是SCSI硬盘Linux最多支持11个逻辑分区

在这里插入图片描述

格式化

格式化(高级格式化)又称逻辑格式化,它是根据用户选定的文件系统(如 FAT16、FAT32、NTFS、EXT2、EXT3、EXT4d等),在磁盘特点取余写入特定数据,在分区中划出一片用于存放文件分配表、目录表等用于文件管理的磁盘空间

硬件设备文件名

硬件设备文件名
IDE硬盘/dev/hd[a-d]
SCSI/SATA/USB硬盘/dev/sd[a-p]
光驱/dev/sdrom或者/dev/sr0
软盘/dev/fd[0-1]
打印机(25针)/dev/lp[0-2]
打印机(USB)/dev/usb/lp[0-15]
鼠标/dev/mouse

分区设备文件名

设备文件名

/dev/had1(ide硬盘接口)

/dev/sda1(scsi硬盘接口、SATA硬盘接口)

挂载

  • 必须分区

    • / (根分区)
    • swap分区(也称交换分区,内存的2倍,不超过2GB) ;即:也可以理解为虚拟内存;也就是说当我真正的内存不够用的时候;可以拿这部分交换硬盘空间来当内存用
  • 推荐分区

    • /boot (启动分区 200M) ;用于保存系统启动时的数据

思路:先分区-》格式化-》给分区起一个设备文件名-》写入挂载点

挂载命令

mount

命令名称:mount

命令位置:/bin/mount

执行权限:所有用户

命令语法:mount [-t 文件系统] [-L 卷标名] [-o 特殊选项] 设备文件名 挂载点

选项:

​ -t 文件系统:加入文件系统来指定挂载的类型,可以是ext3 ,ext4,iso9660等

​ -L 卷名称 :挂载指定卷标的分区,而不是安装设备文件名挂载

​ -o 特殊选项:可以指定挂载的额外选项

范例:mount -t iso9660 /dev/sr0 /mnt/cdrom

mount [-l]

查询系统中已经挂载的设备,-l会显示卷名称

mount -a

依据配置文件/etc/fstab的内容,自动挂载

文件系统

  • ext2:是ext文件系统的升级版本,red Hat Linux 7.2版本以前默认都是ext2文件系统,1993年发布,最大支持16TB的分区和2TB的文件(1TB=1014G=1024*1024kb)
  • ext3:ext3是ext2文件系统的升级版本,最大的区别就是带日志功能,以在系统突然停止时提高文件的可靠性,支持最大16TB的分区和2TB的文件
  • ext4:他是ext3文件系统的升级版本。ext4在性能、伸缩性和可靠性进行了大量改进,ext4的变化可谓是翻天覆地的,比如向下兼容ext3,最大1EB文件系统和16TB的文件、无线数量子目录,Extents连续数据块概念,多块分配、延迟分配,持久预分配,快速FSCK,日志校验,无日志模式,在线碎片整理,iNode增强,默认启用barrier等,是centos6.3的默认文件系统

文件系统结构

在这里插入图片描述

文件系统常用命令

df

​ df [选项] [挂载点]

选项:

​ -a 显示所有的文件系统信息,包括 特殊的文件系统;如、/porc ,/sysfs

​ -h 使用习惯单位显示容量;如kb,mb,gb等

​ -T 显示文件系统类型

​ -m 以MB单位为显示容量

​ -k 以kb单位为现实容量,默认就是以kb为单位

作用:文件系统查看命令

du

​ du [选项] [目录或者文件名]

选项:

​ -a 显示每个子文件的磁盘占用量;默认只统计子目录磁盘的占用量

​ -h 使用习惯单位显示容量;如kb,mb,gb等

​ -s 统计占用量,而不列出目录和子文件的占用量

作用:统计目录或文件大小

df和du命令的区别
  • df命令是从文件系统考虑的,不光文件占用的空间,还要统计被命令和程序占用的空间(最常见的就是文件已经删除了,但程序并没有释放空间)
  • du命令是面向文件的,只会计算文件或目录的占用空间
fsck

​ fsck [选项] 分区设备文件名

​ 选项

​ -a 不用显示用户提示,自动修复文件系统

​ -y 自动修复。和-a作用一致,不过有些系统只支持-y

​ 作用:文件系统修复命令

dump2fs

dump2fs 分区设备文件名

作用:显示磁盘状态命令

fdisk

fdisk -l 查询系统中有多少可以被识别的硬盘和u盘,软盘

partprobe

重新读取分区表信息

mkfs

格式化分区

mkfs -t ext4 /dev/sdb1

fdisk命令分区过程演示:

> 注意这个分区:每次重启都需要实行一次挂载,一重启分区就会丢
  • 关机添加硬盘

在这里插入图片描述

  • 查看硬盘是否已读取

    [root@MiWiFi-R4CM-srv ~]# fdisk -l
    
    磁盘 /dev/sda:5368 MB, 5368709120 字节,10485760 个扇区
    Units = 扇区 of 1 * 512 = 512 bytes
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节
    磁盘标签类型:dos
    磁盘标识符:0x000f1590
    
       设备 Boot      Start         End      Blocks   Id  System
    /dev/sda1   *        2048     2099199     1048576   83  Linux
    /dev/sda2         2099200    10485759     4193280   8e  Linux LVM
    #这里可以看到新加的硬盘已被读取,并没有任何分区
    磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
    Units = 扇区 of 1 * 512 = 512 bytes
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节
    
    
    磁盘 /dev/mapper/centos-root:3753 MB, 3753902080 字节,7331840 个扇区
    Units = 扇区 of 1 * 512 = 512 bytes
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节
    
    
    磁盘 /dev/mapper/centos-swap:536 MB, 536870912 字节,1048576 个扇区
    Units = 扇区 of 1 * 512 = 512 bytes
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节
    
    • 对硬盘进行分区

      [root@MiWiFi-R4CM-srv ~]# fdisk /dev/sdb 
      欢迎使用 fdisk (util-linux 2.23.2)。
      
      更改将停留在内存中,直到您决定将更改写入磁盘。
      使用写入命令前请三思。
      
      Device does not contain a recognized partition table
      使用磁盘标识符 0x36b403e8 创建新的 DOS 磁盘标签。
      
      命令(输入 m 获取帮助):m
      命令操作
         a   toggle a bootable flag
         b   edit bsd disklabel
         c   toggle the dos compatibility flag
         d   delete a partition
         g   create a new empty GPT partition table
         G   create an IRIX (SGI) partition table
         l   list known partition types
         m   print this menu
         n   add a new partition#添加新分区
         o   create a new empty DOS partition table
         p   print the partition table#打印分区表
         q   quit without saving changes #退出而不保存更改
         s   create a new empty Sun disklabel
         t   change a partition's system id
         u   change display/entry units
         v   verify the partition table
         w   write table to disk and exit
         x   extra functionality (experts only)
      
      命令(输入 m 获取帮助):n
      Partition type:
         p   primary (0 primary, 0 extended, 4 free)# 表示0个主分区 ,0个扩展分区,4个空闲分区
         e   extended
      Select (default p): p #添加一个主分区
      分区号 (1-4,默认 1):1
      起始 扇区 (2048-20971519,默认为 2048):
      将使用默认值 2048
      Last 扇区, +扇区 or +size{K,M,G} (2048-20971519,默认为 20971519):+2G
      分区 1 已设置为 Linux 类型,大小设为 2 GiB
      
      命令(输入 m 获取帮助):p
      
      磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
      Units = 扇区 of 1 * 512 = 512 bytes
      扇区大小(逻辑/物理):512 字节 / 512 字节
      I/O 大小(最小/最佳):512 字节 / 512 字节
      磁盘标签类型:dos
      磁盘标识符:0x36b403e8
      
         设备 Boot      Start         End      Blocks   Id  System
      /dev/sdb1            2048     4196351     2097152   83  Linux
      
      命令(输入 m 获取帮助):n
      Partition type:
         p   primary (1 primary, 0 extended, 3 free)
         e   extended
      Select (default p): e
      分区号 (2-4,默认 2):
      起始 扇区 (4196352-20971519,默认为 4196352):
      将使用默认值 4196352
      Last 扇区, +扇区 or +size{K,M,G} (4196352-20971519,默认为 20971519):
      将使用默认值 20971519
      分区 2 已设置为 Extended 类型,大小设为 8 GiB
      
      命令(输入 m 获取帮助):n
      Partition type:
         p   primary (1 primary, 1 extended, 2 free)
         l   logical (numbered from 5) # 逻辑分区:默认设备号从5开始
      Select (default p): l
      添加逻辑分区 5
      起始 扇区 (4198400-20971519,默认为 4198400):
      将使用默认值 4198400
      Last 扇区, +扇区 or +size{K,M,G} (4198400-20971519,默认为 20971519):+2G
      分区 5 已设置为 Linux 类型,大小设为 2 GiB
      
      命令(输入 m 获取帮助):p
      
      磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
      Units = 扇区 of 1 * 512 = 512 bytes
      扇区大小(逻辑/物理):512 字节 / 512 字节
      I/O 大小(最小/最佳):512 字节 / 512 字节
      磁盘标签类型:dos
      磁盘标识符:0x36b403e8
      
         设备 Boot      Start         End      Blocks   Id  System
      /dev/sdb1            2048     4196351     2097152   83  Linux
      /dev/sdb2         4196352    20971519     8387584    5  Extended
      /dev/sdb5         4198400     8392703     2097152   83  Linux
      
      命令(输入 m 获取帮助):w
      The partition table has been altered!
      
      Calling ioctl() to re-read partition table.
      正在同步磁盘。
      [root@MiWiFi-R4CM-srv ~]# fdisk -l
      
      磁盘 /dev/sda:5368 MB, 5368709120 字节,10485760 个扇区
      Units = 扇区 of 1 * 512 = 512 bytes
      扇区大小(逻辑/物理):512 字节 / 512 字节
      I/O 大小(最小/最佳):512 字节 / 512 字节
      磁盘标签类型:dos
      磁盘标识符:0x000f1590
      
         设备 Boot      Start         End      Blocks   Id  System
      /dev/sda1   *        2048     2099199     1048576   83  Linux
      /dev/sda2         2099200    10485759     4193280   8e  Linux LVM
      
      磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
      Units = 扇区 of 1 * 512 = 512 bytes
      扇区大小(逻辑/物理):512 字节 / 512 字节
      I/O 大小(最小/最佳):512 字节 / 512 字节
      磁盘标签类型:dos
      磁盘标识符:0x36b403e8
      
         设备 Boot      Start         End      Blocks   Id  System
      /dev/sdb1            2048     4196351     2097152   83  Linux
      /dev/sdb2         4196352    20971519     8387584    5  Extended # 注意:扩展分区既不能格式化,也不能写入数据;唯一的作用就是包含逻辑分区
      /dev/sdb5         4198400     8392703     2097152   83  Linux
      
      磁盘 /dev/mapper/centos-root:3753 MB, 3753902080 字节,7331840 个扇区
      Units = 扇区 of 1 * 512 = 512 bytes
      扇区大小(逻辑/物理):512 字节 / 512 字节
      I/O 大小(最小/最佳):512 字节 / 512 字节
      
      
      磁盘 /dev/mapper/centos-swap:536 MB, 536870912 字节,1048576 个扇区
      Units = 扇区 of 1 * 512 = 512 bytes
      扇区大小(逻辑/物理):512 字节 / 512 字节
      I/O 大小(最小/最佳):512 字节 / 512 字节
      
      [root@MiWiFi-R4CM-srv ~]# partprobe  #重新读取分区表信息
      Warning: 无法以读写方式打开 /dev/sr0 (只读文件系统)。/dev/sr0 已按照只读方式打开。
      [root@MiWiFi-R4CM-srv ~]# mkfs -t ext4 /dev/sdb1 #格式化分区:把sdb1分区格式化ext4文件系统
      mke2fs 1.42.9 (28-Dec-2013)
      文件系统标签=
      OS type: Linux
      块大小=4096 (log=2)
      分块大小=4096 (log=2)
      Stride=0 blocks, Stripe width=0 blocks
      131072 inodes, 524288 blocks
      26214 blocks (5.00%) reserved for the super user
      第一个数据块=0
      Maximum filesystem blocks=536870912
      16 block groups
      32768 blocks per group, 32768 fragments per group
      8192 inodes per group
      Superblock backups stored on blocks: 
      	32768, 98304, 163840, 229376, 294912
      
      Allocating group tables: 完成                            
      正在写入inode表: 完成                            
      Creating journal (16384 blocks): 完成
      Writing superblocks and filesystem accounting information: 完成 
      [root@MiWiFi-R4CM-srv ~]# mkfs -t ext4 /dev/sdb5
      mke2fs 1.42.9 (28-Dec-2013)
      文件系统标签=
      OS type: Linux
      块大小=4096 (log=2)
      分块大小=4096 (log=2)
      Stride=0 blocks, Stripe width=0 blocks
      131072 inodes, 524288 blocks
      26214 blocks (5.00%) reserved for the super user
      第一个数据块=0
      Maximum filesystem blocks=536870912
      16 block groups
      32768 blocks per group, 32768 fragments per group
      8192 inodes per group
      Superblock backups stored on blocks: 
      	32768, 98304, 163840, 229376, 294912
      
      Allocating group tables: 完成                            
      正在写入inode表: 完成                            
      Creating journal (16384 blocks): 完成
      Writing superblocks and filesystem accounting information: 完成 
      [root@MiWiFi-R4CM-srv ~]# mkdir /disk1 #创建文件并挂载设备分区
      [root@MiWiFi-R4CM-srv ~]# mount /dev/sdb1 /disk1/
      [root@MiWiFi-R4CM-srv ~]# df -h /disk1/
      文件系统        容量  已用  可用 已用% 挂载点
      /dev/sdb1       2.0G  6.0M  1.8G    1% /disk1
      [root@MiWiFi-R4CM-srv ~]# mkdir /disk5
      [root@MiWiFi-R4CM-srv ~]# mount /dev/sdb5 /disk5/
      [root@MiWiFi-R4CM-srv ~]# df -h /disk5
      文件系统        容量  已用  可用 已用% 挂载点
      /dev/sdb5       2.0G  6.0M  1.8G    1% /disk5
      
      
      

分区自动挂载与fstab文件修复

​ /etc/fstab文件 ;这个文件是系统启动的一个重要文件;如果写错了系统就不能启动了

第一字段:分区设备文件名或UUID(硬盘通用唯一识别码);推荐使用UUID;如果使用设备文件名会出现一些问题;例如:如果分区顺序改变,原先的sda1变成了sda2;系统内核升级,或添加新的分区;都会出现问题

第二字段:挂载点

第三字段:文件系统名称

第四字段:挂在参数

第五字段:指定分区是否被dump备份,0代表不备份,1代表每天备份,2代表不定期备份 ;每个分区的目录下都有一个文件是lost+found

第六字段:指定分区是否被fsck检测,0代表不检测,其他数字代表 检测的优先级,那么当然1的优先级比2高

  • 查看分区的状态;拿到UUID
[root@MiWiFi-R4CM-srv ~]# dumpe2fs -h /dev/sdb1
dumpe2fs 1.42.9 (28-Dec-2013)
Filesystem volume name:   <none>
Last mounted on:          <not available>
Filesystem UUID:          45b843ec-a674-4fac-9c26-5f2e70e46c20
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Filesystem flags:         signed_directory_hash 
Default mount options:    user_xattr acl
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              131072
Block count:              524288
Reserved block count:     26214
Free blocks:              498132
Free inodes:              131061
First block:              0
Block size:               4096
Fragment size:            4096
Group descriptor size:    64
Reserved GDT blocks:      255
Blocks per group:         32768
Fragments per group:      32768
Inodes per group:         8192
Inode blocks per group:   512
Flex block group size:    16
Filesystem created:       Mon Oct  5 10:35:17 2020
Last mount time:          Mon Oct  5 10:39:12 2020
Last write time:          Mon Oct  5 10:56:52 2020
Mount count:              1
Maximum mount count:      -1
Last checked:             Mon Oct  5 10:35:17 2020
Check interval:           0 (<none>)
Lifetime writes:          99 MB
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:	          256
Required extra isize:     28
Desired extra isize:      28
Journal inode:            8
Default directory hash:   half_md4
Directory Hash Seed:      3d9b541a-e2ff-4c25-a2b7-aa17d0318513
Journal backup:           inode blocks
Journal features:         journal_64bit
日志大小:             64M
Journal length:           16384
Journal sequence:         0x00000005
Journal start:            0

  • 编辑文件 /etc/fstab 添加设备挂载

    #
    # /etc/fstab
    # Created by anaconda on Sun May  3 12:35:17 2020
    #
    # Accessible filesystems, by reference, are maintained under '/dev/disk'
    # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
    #
    /dev/mapper/centos-root /                       xfs     defaults        0 0
    UUID=1866e68c-14cc-4c34-9f8b-3f5650da8dc8 /boot                   xfs     defaults        0 0
    /dev/mapper/centos-swap swap                    swap    defaults        0 0
    /dev/sdb1 /disk1                   ext4    defaults        1 2
    /dev/sdb5 /disk1                   ext4    defaults        1 2
    
  • 检测配置文件是否有报错

    #依据/etc/fstab的内容自动挂载
    [root@MiWiFi-R4CM-srv ~]# mount -a
    
  • 重启

    init 6
    

/etc/fstab 文件修复;如果/etc/fstab文件编写有错误,登录输入密码发现能进入;但是编辑不了 /etc/fstab文件,没有权限;执行以下命令;

mount -o remount ,rw /

总结

  • 分区:把大硬盘分为小的逻辑分区
  • 格式化:写入文件系统(会附带的把硬盘的数据清空)
  • 分区设备文件名称:给每个分区定义设备文件名
  • 挂载:给每个分区分配挂载点
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值