Linux 磁盘分区、挂载

磁盘分区:

介绍:
  磁盘分区是使用分区编辑器(partition editor)在磁盘上划分几个逻辑部分,盘片一旦划分成数个分区(Partition),不同类的目录与文件可以存储进不同的分区。例如在windows中一块磁盘可以分为主分区与扩展分区。主分区作为系统盘,扩展分区经过再次分区成多个逻辑分区(“我的电脑”里的D盘、E盘等)。

分区的方式:

  mbr分区:

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

  gtp分区:

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

Linux磁盘分区(n):

介绍:

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

  4.可以通过 lsblk 或 lsblk -f命令可以查看当前系统的硬盘分区。

原理:
  首先了解一下Linux目录 https://www.cnblogs.com/ymzsb/p/14867027.html

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

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

Linux磁盘分区、挂载(v):

挂载步骤:

  1.添加硬盘

添加硬盘后启动系统,通过lsblk 或 lsblk -f命令可以查看到已添加的硬盘。之前说过/dev是存放Linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备。所以此时可以在/dev可以查到硬盘的设备文件。

  2.分区

通过 fdisk 命令对硬盘进行分区,另,其也可以查看硬盘分区情况。

fdisk [选项] 设备文件
选项:
  选项基本不用,就不叙述了
例:
  fdisk /dev/sda    
    开始对硬盘/sda进行分区,会接着提示输入fdisk命令对应的操作命令。常用的有m:显示命令列表;p:显示磁盘分区;n:新增分区;d:删除分区;w:写入并退出。

  进行分区,开始分区后输入n,新增分区。然后选择p ,分区类型为主分区。两次回车默认剩余全部空间。最后输入w写入分区并退出,若不保存退出输入q。

  3.格式化

硬盘分区后没有指定分区类型。这时我们需要通过mkfs命令为硬盘创建Linux文件系统。格式化后的分区才能存储文件。

mkfs [选项]  设备文件
选项:
  常用的选项就一个
  -t<文件系统类型>:指定要建立何种文件系统
例:
  mkfs -t ext4 /dev/sda1    //将sda1分区格式化为ext4格式       

  4.挂载

将一个分区与一个目录联系起来,此时分区还没有进行挂载所以无法使用。通过mount命令将分区挂载到指定的目录。

mount [选项] 设备文件名 挂载目录
选项:
  选项很多,但不常用。
  -a:加载文件“/etc/fstab”中描述的所有文件系统。
例:
  mount /dev/sda1 /home/mydisk    
    将sda1分区挂载到/home/mydisk目录,现在开始就可以通过/home/mydisk使用sda1分区了。

此时的挂载只是临时挂载,在系统重启后就会失效。所以我们需要设置永久挂载。

  5.设置永久挂载

在/etc/fstab文件里配置了各个分区以及其挂载位置的信息,所以通过修改文件里的内容可以设置分区永久挂载。
我们可以添加一行内容来对分区的挂载进行描述,例:
  /dex/sda1    /home/mydisk    ext4    defaults    0 0
也可以通过sda1分区UUID进行挂载(首先得查询sda1的UUID)
  UUID=f2ff5afb-d115-4dac-b86f-c9e3f5ecc169    /home/mydisk    ext4    defaults    0 0
以上两行都可以。

此时,保存/etc/fstab文件,并通过 mount -a 使其生效。

补充,/etc/fstab内容的各字段含义
  文件名或文件标识    挂载目录    分区类型    挂载参数    dump值 pass值
  具体详情可参考:https://blog.csdn.net/kepa520/article/details/81315430

卸载设备:
  umount [选项] 设备名称或挂载目录
  选项:
    -a :卸除/etc/mtab中记录的所有文件系统;
    -h :显示帮助;
    -n :卸除时不要将信息存入/etc/mtab文件中;
    -r :若无法成功卸除,则尝试以只读的方式重新挂入文件系统;
    -t<文件系统类型> :仅卸除选项中所指定的文件系统;
    -v :执行时显示详细的信息;
    -V :显示版本信息。
  例:
    umount /dex/sda1         //指定设备名进行卸载
    umount /home/mydisk        //指定挂载目录进行卸载
    以上两条都可以对已经挂载的设备进行卸载,尽量指定挂载目录进行卸载,
    以免使用绑定挂载(一个设备,多个挂载目录)时产生混乱。

Linux查询磁盘情况:

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

df [选项]
选项:
  选项很多,但不常用。
  -a :包含全部的文件系统;
  -h :以可读性较高的方式来显示信息;
例:
  df    查看系统磁盘设备,默认是KB为单位。
    显示的信息:    文件系统    1K-块    已用    可用    已用%    挂载点
  df -h    查看系统磁盘设备,选项以KB以上的单位来显示,可读性高。
    显示的信息:    文件系统    容量    已用    可用    已用%    挂载点

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

du [选项] 目录或文件
选项:
  -s :指定目录占用大小汇总
  -h :带计量单位
  -a :含文件
  --max-depth=1 子目录深度
  -c :列出明细的同时,增加汇总值
例:
  du -h    对当前目录下的目录项(递归)的占用空间进行展示。
  du -ach --max-depth=1 /opt  对/opt目录下的子项的占用空间进行统计展示

3.统计磁盘下的内容

wc [选项]
使用说明:
  利用wc指令我们可以计算文件的Byte数、字数或是列数,若不指定文件名称,或是所给予的文件名为“-”,则wc指令会从标准输入设备读取数据。
选项:
  -c :只显示Bytes数;
  -l :只显示列数;
  -w :只显示字数。
例:
  ls -l /opt | grep "^-" | wc -l      统计/opt目录下子文件的个数
  ls -l /opt | grep "^d" | wc -l        统计/opt目录下子目录的个数

补充:

tree [选项] 目录   
使用说明:
  以树状图列出目录的内容。
选项:
  选项很多,但不常用。
例:
  tree    以树状图列出当前目录的内容。

posted @ 2021-07-03 18:35  夜猫子1130  阅读(183)  评论(0编辑  收藏  举报