当前位置:   article > 正文

【LINUX】磁盘分区、挂载_linux磁盘分区和挂载

linux磁盘分区和挂载

1. Linux 分区

1.1.原理介绍

     (1) Linux 无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且唯一  的文件结构 。
     Linux 中每个分区都是用来组成整个文件系统的一部分。

     (2) Linux 采用了一种叫“载入”的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来。
     这时要载入的一个分区将使它的存储空间在一个目录下获得。

(3)图解:

在这里插入图片描述
硬盘上的一个分区 通过挂载mount机制 与文件系统中的某个目录联系起来
即分区挂载到目录
访问这个目录即访问这个分区
可以通过指令查看挂载情况,下面会说。

1.2.硬盘说明

(1)    Linux 硬盘主要分为:
     IDE 硬盘和 SCSI 硬盘
     目前基本上是 SCSI 硬盘

(2)    对于 IDE 硬盘,驱动器标识符为“hdx~”
    其中“hd”表明分区所在设备的类型,这里是指 IDE 硬盘
    
    “x”为盘号
        a 为基本盘 第一个硬盘
        b 为基本从属盘 第二个硬盘
        c 为辅助主盘 第三个硬盘
        d 为辅助从属盘 第四个硬盘
        
    “~”代表分区
        前四个分区用数字 1 到 4 表示,它们是主分区或扩展分区,从 5 开始就是逻辑分区
    
    例:hda3 表示为第一个 IDE 硬盘上的第三个主分区或扩展分区
         hdb2 表示为第二个 IDE 硬盘上的第二个主分区或扩展分区
         
(3)    对于 SCSI 硬盘则标识为“sdx~”
    SCSI 硬盘是用“sd”来表示分区所在设备的类型的,其余则和 IDE 硬盘的表示方法一样
 

1.3.查看所有设备挂载情况

  1. 命令 :lsblk 或者 lsblk -f
  2. lsblk:list block devices
  3. NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
  4. sda 8:0 0 20G 0 disk
  5. ├─sda1 8:1 0 1G 0 part /boot
  6. ├─sda2 8:2 0 2G 0 part [SWAP]
  7. └─sda3 8:3 0 17G 0 part /
  8. sr0 11:0 1 4.3G 0 rom
  9. sda1分区挂载到/boot目录
  10. sda2分区挂载到swap目录
  11. sda3分区挂载到根目录
  12. lsblk -f (更加详细的显示)
  13. NAME FSTYPE LABEL UUID MOUNTPOINT
  14. sda
  15. ├─sda1 ext4 bd7b7249-b3fa-434f-acfd-5127a56c0673 /boot
  16. ├─sda2 swap 4381675a-652c-4ffa-9a9d-cb23d19be79b [SWAP]
  17. └─sda3 ext4 531c2867-a7e9-4ae7-8f79-4453ceb76c5b /
  18. sr0 iso9660 CentOS 7 x86_64 2018-11-25-23-54-16-00
  19. 第一列可以看到设备/硬盘分区情况
  20. FSTYPE:文件系统类型
  21. UUID:格式化之后,会给每一个分区分配一个 唯一的 不重复的 40位 的 字符串
  22. MOUNTPOINT:挂载点

2.挂载的经典案例

2.1.说明

下面我们以增加一块硬盘为例来熟悉一下磁盘的相关指令和深入理解磁盘分区、挂载、卸载的概念。

2.2.如何增加一块硬盘

1) 虚拟机添加硬盘

2) 分区

3) 格式化

4) 挂载

5) 设置可以自动挂载

2.3.虚拟机增加硬盘步骤 1-虚拟机添加硬盘

  1. 在【虚拟机】菜单中选择【设置】
  2. 然后设备列表里添加硬盘
  3. 然后一路【下一步】
  4. 中间只有选择磁盘大小的地方需要修改,至到完成
  5. 使用命令lsblk发现没有新增的硬盘?
  6. 需要重启系统(才能识别)
  7. NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
  8. sda 8:0 0 20G 0 disk
  9. ├─sda1 8:1 0 1G 0 part /boot
  10. ├─sda2 8:2 0 2G 0 part [SWAP]
  11. └─sda3 8:3 0 17G 0 part /
  12. sdb 8:16 0 1G 0 disk
  13. sr0 11:0 1 4.3G 0 rom
  14. 新增硬盘sdb,还未分区。

2.4 虚拟机增加硬盘步骤 2-分区

  1. 对sdb进行分区:
  2. 分区命令:fdisk /dev/sdb (dev目录下是一些设备)
  3. 步骤:
  4. 开始分区后输入 n (新增分区)
  5. 然后选择 p (分区类型为主分区)
  6. 两次回车
  7. 最后输入 w (写入分区并退出)(若不保存并退出输入 q,即上面步骤出错了想重来就可以输入q)
  8. 说明:
  9. m 显示命令列表
  10. p 显示磁盘分区 (同 fdisk –l)
  11. n 新增分区
  12. d 删除分区
  13. w 写入并退出
  14. 命令(输入 m 获取帮助):m
  15. 命令操作
  16. a toggle a bootable flag
  17. b edit bsd disklabel
  18. c toggle the dos compatibility flag
  19. d delete a partition
  20. g create a new empty GPT partition table
  21. G create an IRIX (SGI) partition table
  22. l list known partition types
  23. m print this menu
  24. n add a new partition
  25. o create a new empty DOS partition table
  26. p print the partition table
  27. q quit without saving changes
  28. s create a new empty Sun disklabel
  29. t change a partition's system id
  30. u change display/entry units
  31. v verify the partition table
  32. w write table to disk and exit
  33. x extra functionality (experts only)
  34. 选择分区类型:主分区/扩展分区
  35. 命令(输入 m 获取帮助):n
  36. Partition type:
  37. p primary (0 primary, 0 extended, 4 free)
  38. e extended
  39. Select (default p): p
  40. 分区号 (1-4,默认 1): --->输入2,硬盘就有2个分区
  41. 起始 扇区 (2048-2097151,默认为 2048):
  42. 将使用默认值 2048
  43. Last 扇区, +扇区 or +size{K,M,G} (2048-2097151,默认为 2097151):
  44. 将使用默认值 2097151
  45. 分区 1 已设置为 Linux 类型,大小设为 1023 MiB
  46. 命令(输入 m 获取帮助):w
  47. The partition table has been altered!
  48. Calling ioctl() to re-read partition table.
  49. 正在同步磁盘。
  50. lsblk
  51. NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
  52. sda 8:0 0 20G 0 disk
  53. ├─sda1 8:1 0 1G 0 part /boot
  54. ├─sda2 8:2 0 2G 0 part [SWAP]
  55. └─sda3 8:3 0 17G 0 part /
  56. sdb 8:16 0 1G 0 disk
  57. └─sdb1 8:17 0 1023M 0 part
  58. sr0 11:0 1 4.3G 0 rom
  59. 分区成功
  60. 硬盘sdb中只有一个分区sdb1

2.5 虚拟机增加硬盘步骤 3-格式化

  1. 格式化磁盘
  2. 为什么要格式化?
  3. 给这个分区指定它的文件类型
  4. [root@Edu01 ~]# lsblk -f
  5. NAME FSTYPE LABEL UUID MOUNTPOINT
  6. sda
  7. ├─sda1 ext4 bd7b7249-b3fa-434f-acfd-5127a56c0673 /boot
  8. ├─sda2 swap 4381675a-652c-4ffa-9a9d-cb23d19be79b [SWAP]
  9. └─sda3 ext4 531c2867-a7e9-4ae7-8f79-4453ceb76c5b /
  10. sdb
  11. └─sdb1
  12. sr0 iso9660 CentOS 7 x86_64 2018-11-25-23-54-16-00
  13. sdb1的UUID为空,说明还没有格式化。
  14. 格式化命令:
  15. mkfs -t ext4 /dev/sdb1 其中 ext4 是分区类型

2.6.虚拟机增加硬盘步骤 4-挂载

  1. 挂载: 将一个分区与一个目录联系起来,
  2. 命令:mount 设备名称 挂载目录
  3. 首先创建一个目录newdisk (目录位置随便)
  4. 假如在根目录下创建:mkdir newdisk
  5. 进行挂载:mount /dev/sdb1 /newdisk
  6. NAME FSTYPE LABEL UUID MOUNTPOINT
  7. sda
  8. ├─sda1 ext4 bd7b7249-b3fa-434f-acfd-5127a56c0673 /boot
  9. ├─sda2 swap 4381675a-652c-4ffa-9a9d-cb23d19be79b [SWAP]
  10. └─sda3 ext4 531c2867-a7e9-4ae7-8f79-4453ceb76c5b /
  11. sdb
  12. └─sdb1 ext4 d1856552-dee4-4fbc-9953-f650231ecaac /newdisk
  13. sr0 iso9660 CentOS 7 x86_64 2018-11-25-23-54-16-00
  14. 挂载点有了,挂载成功。
  15. 卸载(去除分区与目录的联系):
  16. 命令:umount 设备名称 或者 挂载目录
  17. 例如:umount /dev/sdb1 或者 umount /newdisk
  18. 注意: 用命令行挂载,重启后会失效。

2.7.虚拟机增加硬盘步骤 5-设置可以自动挂载

  1. 解决 用命令行挂载,重启后会失效 问题
  2. 永久挂载:
  3. 通过修改/etc/fstab 实现挂载
  4. 添加完成后 执行 mount –a 即刻生效 或者 重启系统reboot
  5. 步骤:
  6. vim /etc/fstab
  7. 增加一行:UUID=上面sdb1的UUID /newdisk ext4 defaults 0 0
  8. 也可以是:/dev/sdb1 /newdisk ext4 defaults 0 0
  9. 要挂载的设备或伪文件系统 挂载点 文件系统类型 挂载选项 转储频率 自检次序
  10. UUID=上面sdb1的UUID /newdisk ext4 defaults 0 0
  11. 要挂载的设备或伪文件系统:
  12. 设备文件、LABEL(LABEL="")、UUID(UUID="")、伪文件系统名称(proc, sysfs)
  13. 挂载点:指定的文件夹
  14. 挂载选项:defaults
  15. 转储频率:
  16. 0:不做备份
  17. 1:每天转储
  18. 2:每隔一天转储
  19. 自检次序:
  20. 0:不自检
  21. 1:首先自检;一般只有rootfs才用1

3.磁盘情况查询

3.1.查询系统整体磁盘使用情况

基本语法:
    df -h   (disk free)

查询系统整体磁盘使用情况
 

3.2.查询指定目录的磁盘占用情况

基本语法:
    du -h  指定目录    (disk usage)
功能:查询指定目录的磁盘占用情况,默认为当前目录
    -s 指定目录占用大小汇总
    -h 带计量单位
    -a 含文件
    --max-depth=1    子目录深度
    -c 列出明细的同时,增加汇总值

应用实例
查询 /opt 目录的磁盘占用情况,深度为 1
    du -hac --max-depth=1 /opt
 

4.磁盘情况-工作实用指令

1. 统计/opt 文件夹下文件的个数
    ls -l /opt | grep "^-" | wc -l

    说明:
        grep "^-" --->筛选出以-开头的,因为以-开头的都是文件
        wc (word count) 统计数量
            wc -l 统计行数 l即lines
            统计grep筛选后的行数即文件个数

2. 统计/opt 文件夹下目录的个数
    ls -l /opt | grep "^d" | wc -l

3. 统计/opt 文件夹下文件的个数,包括子文件夹里的
    ls -lR /opt | grep "^-" | wc -l
        -R 递归列出遇到的子目录

4. 统计/opt 文件夹下目录的个数,包括子文件夹里的
    ls -lR /opt | grep "^d" | wc -l

5. 以树状显示目录结构 
     指令:tree 目录 
     默认情况下没有tree指令
     如果没有 tree ,则使用 yum install tree 指令安装
 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/666861
推荐阅读
相关标签
  

闽ICP备14008679号