当前位置: 首页 > news >正文

linux 磁盘管理、分区管理常用命令

文章目录

    • 基础命令
    • 挂载新硬盘/分区
    • 添加内存交换分区swap
    • lvm分区管理模式

基础命令

查看目录文件大小

du -sh /backup
du -sh /backup/*
du -sh *

查看磁盘挂载信息

df -lhT

查看某个目录挂载在哪个分区,以及分区的磁盘使用情况

df [目录]
#例如:df /home

查看设备列表

fdisk -l

分区核心指令

fdisk /dev/sdb # 对磁盘/dev/sdb进行分区管理a :设置可引导标记
b :修改bsd的磁盘标签
c :设置DOS操作系统兼容标记
d :删除一个分区
l :显示已知的分区类型,其中82为Linux swap分区,83为Linux分区
m :显示帮助信息
n :增加一个新的分区
o :创建一个新的空白的DOS分区表
p :显示磁盘当前的分区表
q :退出fdisk程序,不保存任何修改
s :创建一个新的空白的Sun磁盘标签
t :改变一个分区的系统号码(比如把Linux Swap分区改为Linux分区)
u :改变显示记录单位
v :对磁盘分区表进行验证
w :保存修改结果并退出fdisk程序
x :特殊功能

查看磁盘UUID

blkid

查看已挂载的分区和未挂载的分区

lsblk

可以看到有哪些分区挂载,哪些分区没有挂载
在这里插入图片描述
或者,查看已挂载的分区情况

findmnt

格式化分区/dev/sda 为 ext4

#格式化分区/dev/sda 为 ext4
mkfs.ext4 /dev/sda#格式化分区为xfs格式
mkfs.xfs /dev/sdb1

使内核重新读取分区表

partprobe <磁盘设备>
#例如 partprobe /dev/sda

挂载分区到目录

mount <分区> <目录>
#例如:mount /dev/sda3 /data#使挂载永久生效
#编辑fstab文件
vi /etc/fstab:
#加入如下内容:
/dev/sda3  /data  ext4  defaults 0 0

取消挂载

umount <分区>
umount /dev/sdb1

自动根据fstab重新挂载

mount -a

挂载新硬盘/分区

参考:https://www.linuxprobe.com/basic-learning-06.html
说明:一个新硬盘接入系统,在系统以/dev/sd[a-z] 形式表示,硬盘可以分为多个分区,分区以/dev/sd[a-z][1-9]表示。对磁盘的分区可以全部分区,也可以部分分区,在分区时通过起始扇区来设定每个分区的大小和分区范围。
分区挂载使用步骤:
查看未使用的磁盘-> 磁盘分区-> 磁盘格式化->挂载->使重启生效->使用

#1. 查看指令
lsblk
blkid
fdisk -l#2. 创建分区
fdisk /dev/sdb
:m # 查看指令帮助
:p # 查看分区信息
:l # 查看磁盘编码
:n # 创建分区 
:p创建主分区 
:(默认)设置分区序号,默认回车  
:(默认)设置扇区起始位置,默认回车
:+2G #设置结束扇区,默认回车设置磁盘剩下的所有大小。此处决定了要增加的分区大小,这里设置为2G
:p # 再次查看分区信息,可见出现sdb1分区
:w # 保存分区
# 查看是否正常, 打印/dev/sdb1: block special表示正常
file /dev/sdb1
# 若不正常,执行强制让内核重新找一次分区表(更新分区表)
partprobe /dev/sdb#3.格式化分区
mkfs.xfs /dev/sdb1 # 提示:在输入mkdfs 按下Tab,会提示可选的分区格式,一般使用ext4、xfs#4.挂在到目录
mkdir /backup # 创建一个目录用来挂载
mount /dev/sdb1 /backup # 将分区sdb1挂载到backup目录
df -h #查看挂载是否正确#5.保存挂载信息,使重启也生效,
vim /etc/fstab #文件末尾添加如下,wq保存:
/dev/sdb1 /backup xfs defaults 0 0 

添加内存交换分区swap

# 划分分区,并将分区标识码设为 82 (Linux swap)
fdisk /dev/sdb
:n #新增分区:p #创建主分区:(默认) #设置起始扇区,默认回车:+5G #设置结束扇区,默认回车设置磁盘剩下的所有大小。此处决定了要增加交换分区的大小,这里设置为5G
:t #修改分区标识码:(默认) #输入刚刚创建好的分区序号,必须与上面设置的分区号一致,默认回车:82 #设置分区识别码为82(Linux swap),按需L可以查看所有分区识别码预览:8e # 该模式适用于创建lvm分区结构
:p #查看最终的分区状态,应该会看到类似输出 /dev/sdb2 xxx xxx xxx 5G 82 Linux swap / Solaris
:w #写入,结束退出partprobe /dev/sdb #建议执行一次,用于重新查找分区表
mkswap /dev/sdb2 # 格式化为交换分区格式
free -h #先查看以下已有的交换分区大小
swapon /dev/sdb2 # 激活并挂载
free -h #可以看到,基于已有大小的增加了交换分区大小
vim /etc/fstab #开机自动挂载。末尾添加如下内容:
/dev/sdb2 swap swap defaults 0 0

lvm分区管理模式

参考

第7章 使用RAID与LVM磁盘阵列技术
Linux下的磁盘管理之LVM详解及lvm的常用磁盘操作命令

LVM的优缺点

优点:
可以在系统运行的状态下动态的扩展文件系统的大小
文件系统跨越多个磁盘,文件系统的大小不受磁盘大小的限制
LVM的存储空间可以通过新增磁盘的方式扩容

缺点:
从卷组中移除一个磁盘的时候必须使用reducevg命令
当卷组中有一个磁盘损坏了,整个卷组都会受到影响(由于一份数据可能会存储在不同的磁盘中)
在磁盘创建过程中增加了额外的步骤,所以数据存贮性能会受到影响

结构组成
在这里插入图片描述
表7-3 常用的LVM部署命令

功能/命令物理卷管理PV卷组管理 VG逻辑卷管理 LV
扫描pvscanvgscanlvscan
建立pvcreatevgcreatelvcreate
显示pvdisplayvgdisplaylvdisplay
删除pvremovevgremovelvremove
扩展vgextendlvextend
缩小vgreducelvreduce
命令lvs、lvscan、lvdisplay查看已有逻辑卷
  1. 划分分区sdb1,并设置为lvm格式
fdisk /dev/sdb
:n -> p -> 一路回车
:t -> 8e
:w

创建lvm分区模式,操作示例:


#1.让新添加的两块硬盘设备支持LVM技术。
pvcreate /dev/sdb /dev/sdc # 或者指定分区/dev/sdb1 需要先将分区设为linux lvm格式
#2.把两块硬盘设备加入到storage卷组中,然后查看卷组的状态。
vgcreate storage /dev/sdb /dev/sdc
#查看卷组信息
vgdisplay
#3.再切割出一个约为150MB的名称为vo的逻辑卷设备。
#这里需要注意切割单位的问题。在对逻辑卷进行切割时有两种计量单位。第一种是以容量为单位,所使用的参数为-L。
#例如,使用-L 150M生成一个大小为150MB的逻辑卷。
#另外一种是以基本单元的个数为单位,所使用的参数为-l。每个基本单元的大小默认为4MB。
#例如,使用-l 37可以生成一个大小为37×4MB=148MB的逻辑卷。
lvcreate -n vo -l 37 storage
#示例2:将卷组backupgroup下所有剩余空间创建backuplv逻辑卷
lvcreate -n backuplv -l +100%FREE backupgroup#4.把生成好的逻辑卷进行格式化,然后挂载使用。
mkfs.ext4 /dev/storage/vo #或者格式化为速度更快的格式 mkfs.xfs /dev/storage/vo
mkdir /linuxprobe
mount /dev/storage/vo /linuxprobe
#对了,如果使用了逻辑卷管理器,则不建议用XFS文件系统,因为XFS文件系统自身就可以使用xfs_growfs命令进行磁盘扩容。这虽然不比LVM灵活,但起码也够用。在实测阶段我们发现,在有一些服务器上,XFS与LVM的兼容性并不好。#5.查看挂载状态,
df -h
#6.写入配置文件,使其永久生效。
echo "/dev/storage/vo /linuxprobe ext4 defaults 0 0" >> /etc/fstab
#echo "/dev/storage/vo /linuxprobe xfs defaults 0 0" >> /etc/fstab

lvm分区模式下,对逻辑卷扩容

#卸载storage卷组下的所有lv逻辑卷的挂载
umount /linuxprobe
#2.把上一个实验中的逻辑卷vo扩展至290MB。
lvextend -L 290M /dev/storage/vo
#3.检查硬盘的完整性,确认目录结构、内容和文件内容没有丢失。一般情况下没有报错,均为正常情况。
e2fsck -f /dev/storage/vo
#4.重置设备在系统中的容量。刚刚是对LV(逻辑卷)设备进行了扩容操作,但系统内核还没有同步到这部分新修改的信息,需要手动进行同步。
resize2fs /dev/storage/vo
#5.重新挂载硬盘设备并查看挂载状态。
mount -a
df -h
#可见,总大小已经增加到279M:/dev/mapper/storage-vo  279M  2.1M  259M   1% /linuxprob

lvm分区模式下,对逻辑卷缩容

#卸载storage卷组下的所有lv逻辑卷的挂载
umount /linuxprobe
#检查文件系统的完整性。
e2fsck -f /dev/storage/vo
#通知系统内核将逻辑卷vo的容量减小到120MB。
resize2fs /dev/storage/vo 120M
#将LV逻辑卷的容量修改为120M。
lvreduce -L 120M /dev/storage/vo
#重新挂载文件系统并查看系统状态。
mount -a
df -h

删除逻辑卷

#取消挂载
umount /linuxprobe
#编辑分区表,删除对应的挂载
vim /etc/fstab
#执行删除
lvremove /dev/storage/vo

删除卷组,此处只写卷组名称即可,不需要设备的绝对路径。

vgremove storage

删除物理卷设备。

pvremove /dev/sdb /dev/sdc

相关文章:

linux 磁盘管理、分区管理常用命令

文章目录 基础命令挂载新硬盘/分区添加内存交换分区swaplvm分区管理模式 基础命令 查看目录文件大小 du -sh /backup du -sh /backup/* du -sh *查看磁盘挂载信息 df -lhT查看某个目录挂载在哪个分区&#xff0c;以及分区的磁盘使用情况 df [目录] #例如&#xff1a;df /ho…...

Milvus入门手册1.0

一、window环境搭建&#xff08;单机&#xff09; 1、docker安装 略 2、milvus安装 参考文档&#xff1a;https://milvus.io/docs/install_standalone-docker.md tips: &#xff08;1&#xff09;compose.yaml下载比较慢&#xff0c;可以在网络上找一份。 &#xff08;2&…...

PCL 计算两点云之间的最小距离

目录 一、 算法原理二、 代码实现三、 结果展示四、 相关链接本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫与GPT。 一、 算法原理 pcl::registration::CorrespondenceEstimation是确定目标和查询点集(或特征)之间对应关…...

基于YOLOv5的视频计数 — 汽车计数实现

在视频中计数对象可能看起来有挑战性&#xff0c;但借助Python和OpenCV的强大功能&#xff0c;变得令人意外地易于实现。在本文中&#xff0c;我们将探讨如何使用YOLO&#xff08;You Only Look Once&#xff09;目标检测模型在视频流或文件中计数对象。我们将该过程分解为简单…...

jetson nano 串口通信

目录 1.UART通信介绍 2.电脑端准备工作 2.1 安装串口调试助手 2.2 硬件接线 3.Jetson Nano端准备工作 3.1安装库文件 3.2修改主板上电启动串口权限 4.示例程序-发送及接收 4.1 开启串口调试助手 4.2 导入示例程序 4.3 执行程序 4.4 查看效果 4.4.1 串口调试端 4.4…...

Vue基础入门(三):Vue3的使用

Vue3的使用 一、首页案例修改 修改首页的信息&#xff1a;是在之前介绍的HelloWorld.vue文件中进行内容的修改。 页面展示效果&#xff1a; 此时就看到了我们新添加的文字了&#xff01; 同样的我们开发代码的时候只需要修改了项目中的内容然后保存就会自动刷新的浏览器&…...

基于M估计样本一致性算法的点云平面拟合

平面拟合 1、算法简介2、参考文献3、实现效果4、相关代码 1、算法简介 RANSAC 是在给定模型和距离阈值 T T T的情况下&#xff0c;通过寻找最小代价 C C C来确定内点数据并拟合模型。如式&#xff08;1&#xff09;所示的代价函数&#xff0c;当点到模型的距离 e e e小于阈值 T…...

【VRTK】【VR开发】【Unity】8-可交互对象

课程配套学习资源下载 https://download.csdn.net/download/weixin_41697242/88485426?spm=1001.2014.3001.5503 【概述】 之前我们只是用了一个简单方块作为可交互对象。其实可交互对象可以有许多细节设置,包括具体抓握物体的哪个点,指定抓握的方向,指定Secondary Acti…...

Huggingface 超详细介绍

Hugging face 起初是一家总部位于纽约的聊天机器人初创服务商&#xff0c;他们本来打算创业做聊天机器人&#xff0c;然后在github上开源了一个Transformers库&#xff0c;虽然聊天机器人业务没搞起来&#xff0c;但是他们的这个库在机器学习社区迅速大火起来。目前已经共享了超…...

pycharm 怎么切换Anaconda简单粗暴

&#xff08;1&#xff09;创建一个环境 &#xff08;2&#xff09;选择一下自己conda的安装路径中conba.exe (3)选择存在的环境&#xff0c;一般会自动检测到conda创建有哪些环境&#xff0c;导入就行...

笔记二十二、使用路由state进行传递参数

22.1 父组件设置state路由参数 <NavLink toclassify state{{param_C: this.state.name, param_D: this.state.age}} className{this.activeStyle}>classify</NavLink> 父组件 Home/index.jsx import React from "react"; import {NavLink, Outlet} from…...

2023 OI 总结

2023 O I 2023 \space OI 2023 OI ここは总 • 结です ここは总\space• \space结です ここは总 • 结です 我也不知道要写些什么&#xff0c;就随便写了 csp/s第一题10min出ac思路&#xff0c;结果写炸了qwq&#xff0c;被旁边的大哥影响稍微有点大&#xff0c;没调完第一题…...

ESP32-Web-Server编程-HTML 基础

ESP32-Web-Server编程-HTML 基础 概述 HTML(HyperText Markup Language) 是用来描述网页的一种语言。其相关内容存储在前端代码的 .html 文件中。 当浏览器向 web 服务器请求网页时&#xff0c;一个 HTML 文件被发送给浏览器&#xff0c;浏览器解释该文件的内容&#xff0c;…...

【docker】docker安装与优化

目录 一、安装Docker 1、关闭防火墙 2、安装依赖包 3、设置阿里云镜像源 4、安装Docker-CE社区版并设置为开机自启动 5、查看Docker信息 二、设置镜像加速 1、申请加速地址 2、实现加速操作 三、网络优化 1、如何网络优化 2、具体操作 四、docker-server端配置文件…...

https到底把什么加密了?

首先直接说结论&#xff0c; https安全通信模式&#xff0c;是使用TLS加密传输所有的http协议。再重复一遍&#xff0c;是所有&#xff01; 通常将TLS加密传输http这个通信过程称为https&#xff0c;如果使用协议封装的逻辑结构来表达就是&#xff1a; IP TCP TLS 【 HTTP 】…...

python爬虫防乱码方案

python爬虫防乱码方案 一、chardet库 ​ 自动检测编码&#xff1a;使用 Python 库 chardet 可以自动检测文本的编码&#xff0c;然后使用检测到的编码来解码文本。你可以尝试使用 chardet 库来检测编码&#xff0c;然后解码网页内容。 案例 import requests import chardet…...

Java 语言的入门级教程有哪些?

1、Java SE 1.1、Java基础 基础概念/语法&#xff1a;面向对象&#xff08;继承、封装、多态&#xff09;基础、包、类、接口、方法、对象、属性、第一个 Java 程序。 数据类型&#xff1a; 1&#xff09;基本数据类型8种&#xff1a;byte、short、int、long、float、doubl…...

STM32算法

1.通过编码器对返回的错误速度进行滤波 #define MOTOR_BUFF_CIRCLE_SIZE 4 #define STATIC_ENCODER_VALUE 6int32_t LMotor_Encoder_buff[MOTOR_BUFF_CIRCLE_SIZE] {0}; uint8_t LEindex 0; int32_t LMotor_Encoder_last 0; int32_t L_Encoder_change 0;int32_t RMotor_…...

论文阅读 (106):Decoupling maxlogit for out-of-distribution detection (2023 CVPR)

文章目录 1 概述1.1 要点1.2 代码1.3 引用 2 预备知识3 方法3.1 MaxLogit3.2 改进MaxCosine和MaxNorm3.3 DML 1 概述 1.1 要点 题目&#xff1a;解耦最大logit分布外检测 (Decoupling maxlogit for out-of-distribution detection) 方法&#xff1a; 提出了一种心机基于log…...

毅速丨3D打印随形水路为何受到模具制造追捧

在模具制造行业中&#xff0c;随形水路镶件正逐渐成为一种革命性的技术&#xff0c;其提高冷却效率、优化产品设计、降低成本等优点&#xff0c;为模具制造带来了巨大的创新价值。 随形水路是一种根据产品形状定制的冷却水路&#xff0c;其镶件可以均匀地分布在模具的表面或内部…...

XCTF-web-easyupload

试了试php&#xff0c;php7&#xff0c;pht&#xff0c;phtml等&#xff0c;都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接&#xff0c;得到flag...

云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?

大家好&#xff0c;欢迎来到《云原生核心技术》系列的第七篇&#xff01; 在上一篇&#xff0c;我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在&#xff0c;我们就像一个拥有了一块崭新数字土地的农场主&#xff0c;是时…...

2.Vue编写一个app

1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...

CMake控制VS2022项目文件分组

我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

Java多线程实现之Thread类深度解析

Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...

基于SpringBoot在线拍卖系统的设计和实现

摘 要 随着社会的发展&#xff0c;社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统&#xff0c;主要的模块包括管理员&#xff1b;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...

Vite中定义@软链接

在webpack中可以直接通过符号表示src路径&#xff0c;但是vite中默认不可以。 如何实现&#xff1a; vite中提供了resolve.alias&#xff1a;通过别名在指向一个具体的路径 在vite.config.js中 import { join } from pathexport default defineConfig({plugins: [vue()],//…...

探索Selenium:自动化测试的神奇钥匙

目录 一、Selenium 是什么1.1 定义与概念1.2 发展历程1.3 功能概述 二、Selenium 工作原理剖析2.1 架构组成2.2 工作流程2.3 通信机制 三、Selenium 的优势3.1 跨浏览器与平台支持3.2 丰富的语言支持3.3 强大的社区支持 四、Selenium 的应用场景4.1 Web 应用自动化测试4.2 数据…...

日常一水C

多态 言简意赅&#xff1a;就是一个对象面对同一事件时做出的不同反应 而之前的继承中说过&#xff0c;当子类和父类的函数名相同时&#xff0c;会隐藏父类的同名函数转而调用子类的同名函数&#xff0c;如果要调用父类的同名函数&#xff0c;那么就需要对父类进行引用&#…...

认识CMake并使用CMake构建自己的第一个项目

1.CMake的作用和优势 跨平台支持&#xff1a;CMake支持多种操作系统和编译器&#xff0c;使用同一份构建配置可以在不同的环境中使用 简化配置&#xff1a;通过CMakeLists.txt文件&#xff0c;用户可以定义项目结构、依赖项、编译选项等&#xff0c;无需手动编写复杂的构建脚本…...