10 磁盘分区与挂载

10 磁盘分区与挂载

10.1 分区的方式

1) mbr分区:

  • 最多支持四个主分区
  • 系统只能安装在主分区
  • 扩展分区要占一个主分区
  • MBR最大只支持2TB,但拥有最好的兼容性

2) gtp分区(✔):

  • 支持无限多个主分区(但操作系统可能限制,比如windows下最多128个分区)
  • 最大支持18EB的大容量(1EB=1024PB,1PB=1024TB)
  • windows764位以后支持gtp

 

10.2 Linux分区与Windows分区的区别

1) Windows分区
10 磁盘分区与挂载
2)Linux分区

  • 对Linux来说无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构,Linux中每个分区都是用来组成整个文件系统的一部分。
  • Linux采用了一种叫“载入(mount)”的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得。
  • 示意图【分区和文件目录】
    10 磁盘分区与挂载

 

10.3 Linux下的磁盘说明

Linux硬盘分IDE硬盘和SCSI硬盘,目前基本上是SCSI硬盘。

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

 

10.4 lsblk 或者lsblk -f (老师不离开)

查看所有设备(光驱 /media,u盘, 硬盘)挂载情况
10 磁盘分区与挂载

 

10.5 经典案例——在系统中增加一块硬盘,挂载到/home/newdisk上

步骤:

  1. 增加一块硬盘 1G [到设置中添加一块硬盘即可]
    10 磁盘分区与挂载

  2. 重启一下服务器 reboot

  3. lsblk
    10 磁盘分区与挂载

  4. 给sdb 硬盘分区,分区命令:fdisk /dev/sdb
    选项:
    m 显示命令列表
    p 显示磁盘分区 同 fdisk –l
    n 新增分区
    d 删除分区
    w 写入并退出
    说明:开始分区后输入n,新增分区,然后选择p ,分区类型为主分区。两次回车默认剩余全部空间。最后输入w写入分区并退出,若不保存退出输入q。
    10 磁盘分区与挂载

  5. 格式化 sdb1
    mdfs -t ext4 /dev/sdb1 [把 /dev/sdb1 分区格式化]
    10 磁盘分区与挂载

  6. 挂载
    mkdir /home/newdisk
    mount /dev/sdb1 /home/newdisk [说明;挂载时,当前目录不要在 /home/newdisk ]
    10 磁盘分区与挂载

  7. 上面的方式,只是临时生效,当你重启系统,挂载的关系没有, 配置Linux的分区表,实现启动时,自动挂载。
    vim /etc/fstab
    10 磁盘分区与挂载

  8. 重启后,会自动挂载

  9. 如果,我们希望卸载
    umount /dev/sdb1(设备名)或/home/newDisk(挂载名)

 

10.6 磁盘的另外一些命令

1)查询系统整体磁盘使用情况 df -h
2)查询指定目录的磁盘占用情况(默认为当前目录) du -h 目录

选项:
-s 指定目录占用大小汇总
-h 带计量单位
-a 含文件
–max-depth=1 子目录深度
-c 列出明细的同时,增加汇总值
实例:
3)du -ach --max-depth= 1 /usr 查询 /usr 目录的磁盘占用情况,深度为 1
4)ls –l /home/ | grep “^-” | wc -l 统计/home 文件夹下文件的个数
5)ls –l /home/ | grep “^d” | wc -l 统计/home 文件夹下目录的个数
6)ls –lR /home/ | grep “^-” | wc -l 统计/home 文件夹下文件的个数,包括子文件夹里的
7)ls –lR /home/ | grep “^d” | wc -l 统计/home 文件夹下目录的个数,包括子文件夹里的