Linux 磁盘/分区/修复 命令
目录
1. lsblk(list block devices)
2. fdisk(fragment disk)
3. gdisk
4. mkfs(make filesystem)
5. df(display file-system disk space usage)
6. du
7. fsck(file-system check)
8. xfs_repair
9. blkid
10. parted
11. partprobe
12. tune2fs
13. xfs_admin
14. dumpe2fs
1. lsblk(list block devices)
查看当前系统分区情况
格式:lsblk -[dfimpt] [device]
| 选项 | 作用 |
| -d | 仅列出磁盘本身,不列出该磁盘的分区数据 |
| -f | 同时列出该磁盘内的文件系统名称 |
| -i | 使用ASCII的线段输出,不使用复杂的编码 |
| -m | 同时输出该装置在/dev下的权限 |
| -p | 列出完整文件名,而不是仅列出最后的名字 |
| -t | 列出磁盘的详细数据,包括磁盘队列机制、预读写的数据量大小等 |

lsblk -pi 字段
| 字段 | 含义 |
| MAJ | Major(主要device代码) |
| MIN | Minor(次要device代码) |
| RM | 是否为removable device,如USB |
| RO | 是否为只读device(rom) |
| TYPE | 是disk、partition还是rom设备 |
2. fdisk(fragment disk)
对MBR进行分区
fdisk <dev_name>
[abc@ubuntu ~]$ lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 20G 0 disk├─sda1 8:1 0 18G 0 part /├─sda2 8:2 0 1K 0 part└─sda5 8:5 0 2G 0 part [SWAP]sdb 8:16 0 2G 0 disksr0 11:0 1 1024M 0 rom[abc@ubuntu ~]$ sudo parted -lModel: VMware, VMware Virtual S (scsi)Disk /dev/sda: 21.5GBSector size (logical/physical): 512B/512BPartition Table: msdosNumber Start End Size Type File system Flags1 1049kB 19.3GB 19.3GB primary ext4 boot2 19.3GB 21.5GB 2144MB extended5 19.3GB 21.5GB 2144MB logical linux-swap(v1)Model: VMware, VMware Virtual S (scsi)Disk /dev/sdb: 2147MBSector size (logical/physical): 512B/512BPartition Table: msdosNumber Start End Size Type File system Flags1 1049kB 1075MB 1074MB primary[abc@ubuntu ~]$ sudo fdisk /dev/sdbDevice contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabelBuilding a new DOS disklabel with disk identifier 0x42cb820f.Changes will remain in memory only, until you decide to write them.After that, of course, the previous content won't be recoverable.Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)Command (m for help): mCommand actiona toggle a bootable flagb edit bsd disklabelc toggle the dos compatibility flagd delete a partition # 删除分区l list known partition typesm print this menun add a new partition # 新建分区o create a new empty DOS partition tablep print the partition tableq quit without saving changess create a new empty Sun disklabelt change a partition's system idu change display/entry unitsv verify the partition tablew write table to disk and exit # 写入磁盘x extra functionality (experts only)Command (m for help): nPartition type:p primary (0 primary, 0 extended, 4 free)e extendedSelect (default p): pPartition number (1-4, default 1):Using default value 1First sector (2048-4194303, default 2048):Using default value 2048Last sector, +sectors or +size{K,M,G} (2048-4194303, default 4194303): +2GValue out of range.Last sector , +sectors or +size{K,M,G} (2048-4194303, default 4194303): +1GCommand (m for help): WThe partition table has been altered!Calling ioctl() to re-read partition table.Syncing disks.[abc@ubuntu ~]$ lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 20G 0 disk├─sda1 8:1 0 18G 0 part /├─sda2 8:2 0 1K 0 part└─sda5 8:5 0 2G 0 part [SWAP]sdb 8:16 0 2G 0 disk└─sdb1 8:17 0 1G 0 partsr0 11:0 1 1024M 0 rom
3. gdisk
对GPT分区
4. mkfs(make filesystem)
将分区格式化为指定文件系统
mkfs.filesystem [-b bsize] [-d parms] [-i parms] [-l parms] [-L lable] [-f] [-r parms] <dev_name>
| 选项 | 作用 |
| mkfs[tab][tab] | 显示支持的文件系统 |
| -t | 选择文件系统 |
| mkfs.[filesystem] | 选择文件系统 |
| -b | 后面接的是区块容量,范围是512B-64K。不过Linux最大为4K |
| -d | 后面接的是data section(数据区)的相关参数值 |
| -f | 如果设备内已经有了文件系统,则需要使用-f强制格式化 |
| -i | 与inode有较相关的设置 |
| -L | 后面接这个文件系统的标头名称Label name |
| -r | 指定realtime section(实时运行区)的相关设置值 |
-d参数
| 参数 | 作用 |
| agcount=num | 设置需要几个存储群组的意思(AG),通常与CPU有关 |
| agsize=数值 | 每个AG设置为多少容量的意思。通常agcount/agsize只选一个设置 |
| file | 指的是格式化的设备是个文件而不是个设备的意思(例如虚拟磁盘) |
| size=数值 | data section的容量。你可以设置大小 |
| su=数值 | 当有RAID(磁盘列阵)时,代表stripe的数值大小,与下面的sw搭配使用 |
| sw=数值 | 当有RAID时,用于保存数据的 磁盘数量 (需扣除备份盘与备用盘) |
| sunit=数值 | 与su意思相同。不过单位使用的是几个sector(512B)的意思(一个stripe由多少个扇区组成) |
| swidth=数值 | 就是su*sw的数值,但是以几个sector(512B)来设置 |
-i 参数
| 参数 | 作用 |
| size=number | 最小的是256B,最大是2K。一般使用256B就足够了 |
| internal=[0/1] | log设备是否为内置。默认1为内置,如果使用外部设备,使用下面设置 |
| logdev=dev_name | log设备为后面接的那个设备上面的意思,需设置internal=0才可以 |
| size=number | 指定这块登录区的容量,通常最小得要512个区块,大约2M=以上才行 |
-r 参数
| 参数 | 作用 |
| extsize=number | 就是那个重要的extent区块数值,一般不需设置。但有RAID时,最好设置与swidth的数值相同较佳。最小为4K,最大为1G |

5. df(disk free, display file-system disk space usage)
显示分区使用情况
df -[ahikHTm] <file>
| 选项 | 作用 |
| -a | 列出所有filesystem,包括系统特有的/proc等文件系统 |
| -k | 以KBytes的容量显示各文件系统 |
| -m | 以MBytes的容量显示各文件系统 |
| -h | 以GBytes、MBytes、KBytes格式显示 |
| -H | 以M=1000K取代M=1024K的进位 |
| -T | 显示partition的filesystem名称 |
| -i | 不用磁盘容量,以inode的数量表示 |

6. du(disk usage)
查询指定目录的磁盘占用情况
du -[ahskm] <file>
| 选项 | 作用 |
| -a | 显示所有文件与目录容量 |
| -h | 以GBytes、MBytes、KBytes格式显示 |
| -s | 仅显示总量 |
| -S | 不显示目录下的总计 |
| -k | 以KBytes的容量显示 |
| -m | 以MBytes的容量显示 |

7. fsck(file-system check)
ext4文件系统的检验和修正
针对ext4,可以直接使用
| 选项 | 作用 |
| -a | 如果检测到错误,自动修复文件系统 |
| -A | 检查/etc/fstab文件中列出的所有文件系统 |
| -C | 给支持进度条功能的文件系统显示一个进度条(只有ext2和ext3) |
| -N | 不进行检查,只显示哪些检查会执行 |
| -r | 出现错误时提示 |
| -s | 检查多个文件系统时,依次进行检查 |
| -t | 指定要检查的文件系统类型 |
| -T | 启动时不显示头部信息 |
| -V | 在检查时产生详细输出 |
| -y | 检测到错误时自动修复文件系统 |
fsck.ext4 -[pf] [-b superblock] device_name
| 选项 | 作用 |
| -p | 自动回复y来进行修复 |
| -f | 强制检查。当fsck未发现unclean标识,不进行细致检查,加此选项,可强制进行细致检查。 |
| -D | 针对文件系统下的目录进行优化配置 |
| -b | 后接superblock的位置,当superblock损毁时,可通过此选项尝试修复。 |
[abc@ubuntu ~]$ sudo dumpe2fs -h /dev/sdb1|grep "Blocks per group"dumpe2fs 1.42.9 (4-Feb-2014)Blocks per group: 32768[abc@ubuntu ~]$ sudo fsck.ext4 -b 32768 /dev/sdb1fsck from util-linux 2.20.1e2fsck 1.42.9 (4-Feb-2014)/dev/sdb1 was not cleanly unmounted, check forced.Pass 1: Checking inodes, blocks, and sizesPass 2: Checking directory structurePass 3: Checking directory connectivityPass 4: Checking reference countsPass 5: Checking group summary informationBlock bitmap differences: +(98304--98368) +(163840--163904)Fix<y>? yesFree blocks count wrong for group #0 (28585, counted=28579).Fix<y>? yesFree blocks count wrong for group #1 (32703, counted=32700).Fix<y>? yesFree blocks count wrong (249509, counted=249500).Fix<y>? yesFree inodes count wrong for group #0 (8181, counted=8171).Fix<y>? yesDirectories count wrong for group #0 (2, counted=6).Fix<y>? yesFree inodes count wrong (65525, counted=65515).Fix<y>? yes/dev/sdb1: ***** FILE SYSTEM WAS MODIFIED *****/dev/sdb1: 21/65536 files (0.0% non-contiguous), 12644/262144 blocks
8. xfs_repair
xfs 文件系统的检验和修正
xfs_repair 修复文件系统时,任务很庞大,该文件系统不能被挂载,应该卸载后再处理。
xfs_repair -[fnd] device_name
| 选项 | 作用 |
| -f | device_name其实不是实体device而是文件 |
| n | 单纯检测并不修改文件系统的数据 |
| -d | 通常在单人维护模式下,针对根目录进行检查与修复,不能随便使用 |
9. blkid(block id)
显示磁盘属性,列出其UUID等参数

10. parted
列出磁盘的分区表类型和分区类型
格式:parted <dev_name> print

11. partprobe
更新 Linux 核心分区表信息
格式:partprobe [-s]

12. tune2fs
修改 ext4 的 label name 与 UUID
tune2fs [-l] [-L Label] [-U uuid] device_name
| 选项 | 作用 |
| -l | 显示superblock内的数据 |
| -L | 修改Label名称 |
| -U | 修改UUID |
13. xfs_admin
修改 xfs 文件系统的 uuid 与 label name
xfs_admin [-lu] [-L label] [-U uuid] <dev_name>
| 选项 | 作用 |
| -l | 显示设备的label name |
| -u | 显示设备的UUID |
| -L | 设置设备的label |
| -U | 设置设备的uuid |
14. dumpe2fs
用于打印 “ext2/ext3” 文件系统的超级块和快组信息
dumpe2fs [options] <device_name>
| 选项 | 作用 |
| -b | 打印文件系统中预留的块信息 |
| -ob<超级块> | 指定检查文件系统时使用的超级块 |
| -OB<块大小> | 检查文件系统时使用的指定的块大小 |
| -h | 仅显示超级块信息 |
| -i | 从指定的文件系统映像文件中读取文件系统信息 |
| -x | 以16进制格式打印信息块成员 |
[abc@ubuntu ~]$ sudo dumpe2fs -h /dev/sdb1[sudo] password for abc:dumpe2fs 1.42.9 (4-Feb-2014)Filesystem volume name: <none>Last mounted on: /tmpFilesystem UUID: 07c1bdab-d8ea-4a3c-b2d6-8310675ab9bcFilesystem magic number: 0xEF53Filesystem revision #: 1 (dynamic)Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isizeFilesystem flags: signed_directory_hashDefault mount options: user_xattr aclFilesystem state: cleanErrors behavior: ContinueFilesystem OS type: LinuxInode count: 65536Block count: 262144Reserved block count: 13107Free blocks: 249500Free inodes: 65515First block: 0Block size: 4096Fragment size: 4096Reserved GDT blocks: 63Blocks per group: 32768Fragments per group: 32768Inodes per group: 8192Inode blocks per group: 512Flex block group size: 16Filesystem created: Thu Nov 26 02:57:37 2020Last mount time: Thu Nov 26 03:16:53 2020Last write time: Thu Nov 26 03:18:37 2020Mount count: 1Maximum mount count: -1Last checked: Thu Nov 26 02:57:37 2020Check interval: 0 (<none>)Lifetime writes: 49 MBReserved blocks uid: 0 (user root)Reserved blocks gid: 0 (group root)First inode: 11Inode size: 256Required extra isize: 28Desired extra isize: 28Journal inode: 8Default directory hash: half_md4Directory Hash Seed: ccfe301b-1efb-4ad7-bf3d-b49bf87f92daJournal backup: inode blocksJournal features: journal_incompat_revokeJournal size: 32MJournal length: 8192Journal sequence: 0x00000008Journal start: 0
相关文章:
Linux 磁盘/分区/修复 命令
目录 1. lsblk(list block devices) 2. fdisk(fragment disk) 3. gdisk 4. mkfs(make filesystem) 5. df(display file-system disk space usage) 6. du 7. fsck(file-sy…...
php一句话木马免杀
php一句话木马免杀 针对于php一句话木马做免杀: 利用php动态函数的特性,将危险函数拆分成字符,最终使用字符串拼接的方式,然后重新拼接,后加括号执行代码,并且可以使用花指令进行包装,如无限i…...
深度学习人体跌倒检测 -yolo 机器视觉 opencv python 计算机竞赛
0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 **基于深度学习的人体跌倒检测算法研究与实现 ** 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🥇学长这里给一个题目综合评分(每项满…...
轻松整理文件夹,将视频文件全部归类到另一个文件夹!
如果你需要整理文件夹中的文件,将同一类别的文件归纳到一起,可以更加方便地管理和查找。现在,我们有一个简单而实用的方法,可以将文件夹中的所有视频文件归类到另一个文件夹中,让你的文件管理更加有序和高效。 首先&am…...
存储服务器特征是什么
存储服务器和普通服务器是有差别的,配置方式不同,因为存储服务器是为特定目标设计的,通常存储服务器是独立的单元,大多数时候是被设计成4U机架式,存储服务器一般是单机运作的,不与其他服务器连接。今天小编…...
Conditional GAN
Text-to-Image 对于根据文字生成图像的问题,传统的做法就是训练一个NN,然后输入一段文字,输出对应一个图片,输出图片与目标图片越接近越好。存在的问题就是,比如火车对应的图片有很多张,如果用传统的NN来训…...
OOM问题排查+Jvm优化
OOM问题排查: 1、top命令:查看cpu和内存的使用情况。 2、jstat命令:查看YGC和FGC情况,一般都是老年代不够用。导致OOM 3、jmap命令: 查看哪个类的实例过多,以每个类占用多少了内存。4、jstack 查看线程与线程之间的阻…...
链表:C++实现
引言: 链表是一种常见的数据结构,它由一系列节点组成,每个节点包含一个数据元素和一个指向下一个节点的指针。相比于数组,链表具有动态性和灵活性,可以高效地进行插入和删除操作,但是查找操作的时间复杂度较…...
使用JMX监控ZooKeeper和Kafka
JVM 默认会通过 JMX 的方式暴露基础指标,很多中间件也会通过 JMX 的方式暴露业务指标,比如 Kafka、Zookeeper、ActiveMQ、Cassandra、Spark、Tomcat、Flink 等等。掌握了 JMX 监控方式,就掌握了一批程序的监控方式。本节介绍 JMX-Exporter 的使用,利用 JMX-Exporter 把 JMX…...
蓝桥等考C++组别七级008
第一部分:选择题 1、C++ L7 (15分) 在判断是否满足循环条件之前,至少执行循环体语句一次的是哪种循环结构?( ) for循环while循环do-while循环以上都不是正确答案:C 2、C++ L7 (15分) 执行以下程序,会输出几个“*”?( ) for(int i = 0; i <= 10; i++){…...
sam和mobilesam导出预处理的onnx
一、前言 sam或者mobilesam的python推理都存在一些前处理,如下所示: sam.to(device=cuda) predictor = SamPredictor(sam) predictor.set_image(image) image_embedding = predictor.get_image_embedding().cpu().numpy() checkpoint = "./weights/mobile_sam.pt"…...
开源与闭源:大模型发展的双重走向
目录 前言开源和闭源的优劣势比较开源的优势闭源的优势 开源和闭源对大模型技术发展的影响对技术发展的影响对数据共享的影响对业务拓展的影响 开源与闭源的商业模式比较开源的商业模式闭源的商业模式 处在大模型洪流中,向何处去?结语 前言 随着人工智能…...
c# 逆变 / 协变
个人理解: 1. 逆变in向上兼容类 2. 协变out向下兼容类 在面向对象编程中,尤其是使用泛型时,in和out关键字用于限制类型参数的协变性和逆变性。 in关键字(逆变): in关键字用于标记泛型类型参数的逆变性。…...
electron使用better-sqlite3打包失败(electron打包有进程没有界面)
remove *\chrome_100_percent.pak: Access is denied. 解决: 管理员权限执行:taskkill /IM 你的进程名.exe /F,再次执行build electron使用better-sqlite3打包后有进程没有界面 原因是代码及依赖包安装有误,模块丢失。主要分享的…...
2.6文件服务器
2.6文件服务器 一、Ftp 介绍 文件传输协议(File Transfer Protocol,FTP),基于该协议FTP客户端与服务端可以实现共享文 件、上传文件、下载文件。 FTP 基于TCP协议生成一个虚拟的连接,主要用于控制FTP连接信息&#x…...
【C++ 学习 ㊴】- 详解 C++ 的 I/O 流
目录 一、C 的 I/O 流 二、C 的标准 I/O 流 三、C 的文件 I/O 流 一、C 的 I/O 流 C 语言有一套完成数据读写(I/O)的解决方案: 使用 scanf()、gets() 等函数从键盘读取数据,使用 printf()、puts() 等函数向屏幕输出数据&#…...
js算法面试题(附答案)
js算法面试题十道 两数之和 题目:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。 function twoSum(nums, target) {const map new Map();for (let i 0; i < nums.leng…...
2023 年戴森设计大奖得主是谁?给大楼降温、争取救援机会
2023 年戴森设计大奖得主是谁?给大楼降温、争取救援机会 编辑拉风的极客2023/11/22 摘要 当今社会除了持续不断对科技创新保持注目,还有很多年轻发明家为了实际场景的难题提供解决方案。 11 月 15 日,2023 年戴森设计大奖国际大奖名单正…...
〖大前端 - 基础入门三大核心之JS篇㊲〗- DOM改变元素节点的css样式、HTML属性
说明:该文属于 大前端全栈架构白宝书专栏,目前阶段免费,如需要项目实战或者是体系化资源,文末名片加V!作者:不渴望力量的哈士奇(哈哥),十余年工作经验, 从事过全栈研发、产品经理等工作…...
【word技巧】Word制作试卷,ABCD选项如何对齐?
使用word文件制作试卷,如何将ABCD选项全部设置对齐?除了一直按空格或者Tab键以外,还有其他方法吗?今天分享如何将ABCD选项对齐。 首先,我们打开【替换和查找】,在查找内容输入空格,然后点击全部…...
synchronized 学习
学习源: https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖,也要考虑性能问题(场景) 2.常见面试问题: sync出…...
ES6从入门到精通:前言
ES6简介 ES6(ECMAScript 2015)是JavaScript语言的重大更新,引入了许多新特性,包括语法糖、新数据类型、模块化支持等,显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var…...
关于nvm与node.js
1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...
什么是库存周转?如何用进销存系统提高库存周转率?
你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...
Frozen-Flask :将 Flask 应用“冻结”为静态文件
Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是:将一个 Flask Web 应用生成成纯静态 HTML 文件,从而可以部署到静态网站托管服务上,如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...
基于数字孪生的水厂可视化平台建设:架构与实践
分享大纲: 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年,数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段,基于数字孪生的水厂可视化平台的…...
ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
稳定币的深度剖析与展望
一、引言 在当今数字化浪潮席卷全球的时代,加密货币作为一种新兴的金融现象,正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而,加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下,稳定…...
Springboot社区养老保险系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,社区养老保险系统小程序被用户普遍使用,为方…...
用机器学习破解新能源领域的“弃风”难题
音乐发烧友深有体会,玩音乐的本质就是玩电网。火电声音偏暖,水电偏冷,风电偏空旷。至于太阳能发的电,则略显朦胧和单薄。 不知你是否有感觉,近两年家里的音响声音越来越冷,听起来越来越单薄? —…...
