七,磁盘分区,挂载

203 阅读3分钟

一,Linux分区

  • 原理介绍

    1. Linux无论有几个分区,分给哪一个目录使用,他归根结底都只有一个根目录,一个独立且唯一的文件结构,Linux中每个分区都是用来组成整个文件系统的一部分。
    2. Linux采用了一种叫“载入”的处理方法,他的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来。这时要载入的一个分区将使他的存储空间在一个目录下获得。
    3. Linux分区与目录的关系图

    image

    分区通过挂载方式联系到目录,访问目录就相当于进入到分区中。

  • 查看所有设备挂载的情况

    lsblk
    

    image

    • sda代表硬盘
    • sda1代表分区1
    • sda2代表分区2
    • sda3代表分区3

    mountpoint下面的内容是分区挂载到的目录名。

    size代表的是分区的大小。

  • 硬盘说明

    1. Linux硬盘分为IDE硬盘SCSI硬盘,目前基本上上SCSI硬盘。

    2. 对于IDE硬盘,驱动器标识符为**“hdx**~",其中"hd"表明分区所在**设备类型**,这里是指IDE硬盘

      "x"为盘号**(a为基本盘,b为基本从盘,c为辅助盘,d为辅助从盘)**

      ""代表分区,前四个分区用14表示,他们是主分区或扩展分区,从5开始就是逻辑分区

      比如:

      • hda3表示为第一个IDE硬盘上的第三个主分区或扩展分区.

      • hdb2表示为第二个IDE硬盘上的第二个主分区或扩展分区.

    3. 对于SCSI硬盘标识符为"sdx~",SCSI硬盘 是用”sd“表示分区所在类型的,其余和IDE硬盘表示方法一致。

    lsblk -f
    

    image

UUID是代表每个分区的一个40位唯一标识符

二,挂载

  • 增加硬盘过程

    1. 虚拟机添加硬盘

      在虚拟机设置自动添加一块scsi硬盘,重启系统。即可发现sdb硬盘

    2. 分区

      开始对/sdb分区(因为新建出来的是sdb故用sdb)

      fdisk /dev/sdb
      
      • n是添加新分区

      • w写入刚才添加新分区的信息并退出(如果不输入就是不报n输入的信息)

    3. 格式化

      lsblk -f 中没有uuid代表未格式化

      sdb1是我们自己新建的分区!

      mkfs -t ext4 /dev/sdb1			#格式化!
      

      格式化后uuid就出现了

    4. 挂载

      mount /dev/sdb1 /newdisk/
      

      newdisk是要挂载的目录地址

    5. 设置可以自动挂载 用命令行的方式挂载后重启会失效,这个挂载的方式是临时的!

      通过修改 /etc/fstab实现自动挂载

      添加完后重启或者进行mount -a即可生效

      image

将分区挂载点卸载

umount /dev/sdb1		#要卸载点设备
umount /newdisk/		#要卸载的挂载点的文件

三,磁盘情况查询

  • 查询整体磁盘使用情况

    基本语法

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

    du -h /目录
    
    • -s 指定目录占用大小汇总

    • -h 带计量单位

    • -a 含文件

    • --max-depth=1 子目录的深度

    • -c 列出明细的同时增加汇总

四,磁盘常用指令

  1. 统计/opt 目录下文件的个数

    ls -l /opt | grep "^-" | wc -l
    

    wc是统计数量,grep支持正则表达式

  2. 统计/opt 目录下目录的个数

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

    ls -lR /opt | grep "^-" | wc -l
    

    ls中-R代表递归查询全部目录

  4. 以树状显示目录结构

    tree /home
    

    默认情况下未安装tree指令,使用yum install tree 安装