Linux之磁盘分区与挂载

原理

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

  • 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硬盘的表示方法一样。

查看所有设备挂载情况

1
2
3
lsblk

lsblk -f

挂载案例

  • ①虚拟机增加硬盘。

    • 在【虚拟机】菜单中,选择【设置】,然后设备列表里添加硬盘,然后一路【下一步】,中间只有选择磁盘大小的地方需要修改,至到完成。。

  • ②重启虚拟机,查看硬盘情况。

  • ③给sdb硬盘进行分区操作。

    1
    fdisk /dev/sdb
    • 开始分区后输入n,新增分区,然后选择p,分区类型为主分区。两次回车默认剩余全部空间。最后输入w写入分区并退出,若不保存退出输入q。
  • ④给硬盘的分区进行格式化。

    1
    mkfs -t ext4 /dev/sdb1
  • ⑤将一个分区与一个目录联系起来,即挂载。

    1
    2
    3
    4
    5
    6
    7
    # 挂载,注意:用命令行挂载,重启后会失效
    mount /dev/sdb1 /newdisk

    # 卸载
    umount /dev/sdb1

    umount /newdisk
  • ⑥实现永久挂载。

    1
    2
    # 往/etc/fstab文件中添加以下内容,然后执行mount -a即刻生效
    /dev/sdb1 /newdisk ext4 defaults 0 0

磁盘情况查询

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

    1
    df -h
  • 查询指定目录的磁盘占用情况。

    1
    2
    3
    4
    5
    6
    7
    # 查询指定目录的磁盘占用情况,默认为当前目录
    # -s:指定目录占用大小汇总
    # -h:带计量单位
    # -a:含文件
    # --max-depth=1:子目录深度
    # -c:列出明细的同时,增加汇总值
    du -h
    • eg:查询/opt目录的磁盘占用情况,深度为1。

实用指令案例

  • 统计/opt文件夹下文件的个数。

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

    1
    ls -l /opt |grep "^d" |wc -l
  • 统计/opt文件夹下文件的个数,包括子文件夹里的。

    1
    ls -l -R /opt |grep "^-" |wc -l
  • 统计/opt文件夹下目录的个数,包括子文件夹里的。

    1
    ls -l -R /opt |grep "^d" |wc -l
  • 以树状显示目录结构tree目录,注意,如果没有tree,则使用yum install tree安装。

    1
    tree /opt