Linux磁盘管理及分区挂载

对于Linux来说,不论有几个分区,最终是建立在根分区的基础之上的。每个分区都是用来组成整个文件系统的一部分。采用"载入"的方式,将目录与分区连接起来形成一一对应的关系。

1.硬盘

分为IDE 和 SCSI硬盘,基本上是SCSI。对于IDE 硬盘,其标识符是hdx~.对于SCSI标识符为sdx~.x为盘号(a:基本盘,b:基本从属盘,c:辅助主盘,d:辅助从属盘。也可以直接叫第一块到第四块硬盘)。"~"代表分区,前四个分区用数字1到4表示,它们是主分区或扩展分区,从5开始就是逻辑分区。

bash 复制代码
sda3 : 代表第一个SCSI硬盘的第三个主分区或扩展分区

查看所有设备挂载情况

使用lsblk或者lsblk -f命令查看

查看磁盘情况

  1. df -h [选项]:查询系统整体磁盘的使用情况
bash 复制代码
选项说明
-s 指定目录占用大小汇总
-h 带计量单位
-a 含文件
--max-depth=n 子目录深度为n
-c 列以明细的同时增加汇总值
  1. df -h /目录名:查询指定目录的磁盘情况,默认为当前目录。例如查询/opt目录的磁盘占用情况,深度为1:
  1. tree 目录名:以树状显示目录结构(默认没有安装tree命令,使用yum install tree命令安装)

2.磁盘分区并永久挂载

在实际开发中,必定会遇到磁盘空间不足的情况,在对磁盘进行扩容之后,就有必要对磁盘空间进行分区了,以便文件的更好管理。例如将/dev/sdb分区为两个分区,总计40GB,第一个分区20.5GB,第二个分区19.5G。

  1. 使用fdisk命令进行分区:fdisk /dev/sdb
  1. 根据提示填写相应信息。开始分区后输入n,新增分区,然后选择p,分区类型为主分区。分区号代表之后会有几个分区(默认1)两次回车默认剩余全部空间。最后输入w写入分区并退出,若不保存退出输入q。
  1. 格式化磁盘,使用mkfs命令进行:mkfs -t ext4 /dev/sdb1(ext4 是分区类型,sdb1是分好区后的分区名)。
  1. 使用mount命令将分区与目录联系起来,命令格式为:mount [设备名称] [挂载目录]。例如mount /dev/sdb1 /newdisk

若想取消分区与目录之间的关系,即卸载分区,那么可以使用umount命令取消,例如umount /dev/sdb1 /newdisk

  1. 通过修改/etc/fstab 文件永久挂载分区,因为用上述命令行的方式(mount /dev/sdb1 /newdisk)挂载后,当系统重启后原先的挂载关系会失效。所以需要修改/etc/fstab 文件以实现分区的永久挂载,修改后执行mount -a命令即刻生效,或者重启系统也可以。

3.相关实用指令

bash 复制代码
ls -l /opt | grep "^-"|wc -l ## 统计/opt文件夹下文件的个数
ls -l /opt | grep "^d" | wc -l ## 统计/opt文件夹下目录的个数
ls -lR /opt | grep "^-" |wc -l ## 统计/opt文件夹下文件的个数,包括子文件夹里的
ls -lR /opt | grep "^d" |wc -l ## 统计/opt文件夹下目录的个数,包括子文件夹里的

在日常维护中离不开和磁盘打交道,例如空间不足需要删除缓存文件或者对磁盘进行扩容等都是非常实际且高频的需求。所以在磁盘处理方面的技能水平还是要非常熟练的,毕竟磁盘管理得好坏直接关系到整个系统的性能问题,以上就是对磁盘管理及分区命令的简要总结,更多细则请结合官方文档使用~

相关推荐
www_pp_22 分钟前
# Linux:开源的力量与应用
linux
(:满天星:)1 小时前
ELK技术栈全面解析与部署方案
linux·运维·服务器·elk·docker·centos
ViatorSun1 小时前
「解析」docker容器起服务,外部访问失败
linux·ubuntu·docker·容器·postman
Mrdaliang2 小时前
【无标题】
linux·运维·服务器·网络
耳边轻语9992 小时前
欧拉系统 nginx ./configure: No such file or directory
linux·运维·服务器
浪小满2 小时前
怎样解决在ubuntu 22.04上QT: DataVisualization控件显示黑屏的问题
linux·qt·ubuntu
我要升天!3 小时前
Linux -- Ext系列文件系统介绍
linux·运维·服务器
山岚的运维笔记3 小时前
如何将 MX Linux 的垂直任务栏面板移到底部
linux·运维·服务器·mx linux·任务栏面板
MrGaomq4 小时前
软件测试用例(二)
linux·c语言·c++·经验分享·笔记·测试用例
霖霖7144 小时前
linux系统驱动的原理
linux·笔记·学习