Linux 磁盘/分区/修复 命令

news2025/1/11 22:46:42

目录

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 ~]$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      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
sr0     11:0    1  1024M  0 rom  
[abc@ubuntu ~]$ sudo parted -l
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number  Start   End     Size    Type      File system     Flags
1      1049kB  19.3GB  19.3GB  primary   ext4            boot
2      19.3GB  21.5GB  2144MB  extended
5      19.3GB  21.5GB  2144MB  logical   linux-swap(v1)
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 2147MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number  Start   End     Size    Type     File system  Flags
1      1049kB  1075MB  1074MB  primary
[abc@ubuntu ~]$ sudo fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building 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): m
Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
    d   delete a partition             # 删除分区
   l   list known partition types
   m   print this menu
    n   add a new partition            # 新建分区
   o   create a new empty DOS partition table
   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
    w   write table to disk and exit    # 写入磁盘
   x   extra functionality (experts only)
Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1):
Using default value 1
First sector (2048-4194303, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-4194303, default 4194303): +2G
Value out of range.
Last sector , +sectors or +size{K,M,G} (2048-4194303, default 4194303): +1G
Command (m for help): W
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[abc@ubuntu ~]$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      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 part
sr0     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/sdb1
fsck from util-linux 2.20.1
e2fsck 1.42.9 (4-Feb-2014)
/dev/sdb1 was not cleanly unmounted, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Block bitmap differences:  +(98304--98368) +(163840--163904)
Fix<y>? yes
Free blocks count wrong for group #0 (28585, counted=28579).
Fix<y>? yes
Free blocks count wrong for group #1 (32703, counted=32700).
Fix<y>? yes
Free blocks count wrong (249509, counted=249500).
Fix<y>? yes
Free inodes count wrong for group #0 (8181, counted=8171).
Fix<y>? yes
Directories count wrong for group #0 (2, counted=6).
Fix<y>? yes
Free 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:          /tmp
Filesystem UUID:          07c1bdab-d8ea-4a3c-b2d6-8310675ab9bc
Filesystem magic number:  0xEF53
Filesystem 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_isize
Filesystem flags:         signed_directory_hash
Default mount options:    user_xattr acl
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              65536
Block count:              262144
Reserved block count:     13107
Free blocks:              249500
Free inodes:              65515
First block:              0
Block size:               4096
Fragment size:            4096
Reserved GDT blocks:      63
Blocks per group:         32768
Fragments per group:      32768
Inodes per group:         8192
Inode blocks per group:   512
Flex block group size:    16
Filesystem created:       Thu Nov 26 02:57:37 2020
Last mount time:          Thu Nov 26 03:16:53 2020
Last write time:          Thu Nov 26 03:18:37 2020
Mount count:              1
Maximum mount count:      -1
Last checked:             Thu Nov 26 02:57:37 2020
Check interval:           0 (<none>)
Lifetime writes:          49 MB
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:              256
Required extra isize:     28
Desired extra isize:      28
Journal inode:            8
Default directory hash:   half_md4
Directory Hash Seed:      ccfe301b-1efb-4ad7-bf3d-b49bf87f92da
Journal backup:           inode blocks
Journal features:         journal_incompat_revoke
Journal size:             32M
Journal length:           8192
Journal sequence:         0x00000008
Journal start:            0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1240720.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

npm ERR!问题解决

问题一 解决办法 两个文件夹【node_global】和【node_cache】 修改文件属性 问题二 解决办法 安装淘宝镜像 npm config set registry https://registry.npm.taobao.org 查看是否成功&#xff1a; npm config get registry 是淘宝的就ok

Springboot-热部署-IDEA2023

方式一&#xff1a;jrebel 方式二&#xff1a; 1、导入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> <…

Arthas 监听 Docker 部署的java项目CPU占比高的信息

1、Linux上安装Arthas wget https://alibaba.github.io/arthas/arthas-boot.jar2、docker ps 查看目标项目的容器ID 3、copy Arthas 到目标容器中 (注意有 &#x1f615; ) docker cp arthas-boot.jar d97e8666666:/4、进入到目标容器目录中 docker exec -it d97e8666666 /b…

实验7设计建模工具的使用(三)

二&#xff0c;实验内容与步骤 1. 百度搜索1-2张状态图&#xff0c;请重新绘制它们&#xff0c;并回答以下问题&#xff1a; 1&#xff09;有哪些状态&#xff1b; 2&#xff09;简要描述该图所表达的含义&#xff1b; 要求&#xff1a;所绘制的图不得与本文中其它习题一样…

华为昇腾开发板共享Windows网络上网的方法

作者&#xff1a;朱金灿 来源&#xff1a;clever101的专栏 为什么大多数人学不会人工智能编程&#xff1f;>>> 具体参考文章&#xff1a;linux(内网&#xff09;通过window 上网。具体是两步&#xff1a;一是在windows上设置internet连接共享。二是打开Atlas 200I D…

5-7求三种数的和

#include<stdio.h> int main(){double sum10;double sum20;double sum30;double sum;int i;for(i1;i<100;i){sum1sum1i;}printf("sum1结果是&#xff1a;%15.6f\n",sum1);for(i1;i<50;i){sum2sum2i*i;}printf("sum2结果是&#xff1a;%15.6f\n"…

基于北方苍鹰算法优化概率神经网络PNN的分类预测 - 附代码

基于北方苍鹰算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于北方苍鹰算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于北方苍鹰优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要&#xff1a;针对PNN神…

CSGO游戏搬砖市场下跌分析,是跑还是入?

CSGO市场下跌分析&#xff0c;是跑还是入&#xff1f; 以下所有都是阿阳本人最近几年观察市场和踩坑的一点经验&#xff0c;由于篇幅不长所以肯定会很浅薄&#xff0c;大伙下嘴轻点 。 首先现在真的是CSGO市场最低点吗&#xff1f;后续还会跌吗&#xff1f;我们究竟是该继续观…

【追求卓越11】算法--二叉树

引导 接下来的几节我们开始介绍非线性的数据结构--树。树的内容比较多也比较复杂。本节&#xff0c;我们只需要了解关于树的一些基本概念。以及再进一步了解树的相关内容--搜索二叉树。该类型二叉树在工作中&#xff0c;是我们常接触的。该节我们介绍关于搜索二叉树的相关操作&…

RK3588平台开发系列讲解(嵌入式AI篇)嵌入式AI模型的部署

文章目录 一、嵌入式AI模型的部署二、AI模型训练框架有哪些三、rknn-toolkit可支持转换的模型沉淀、分享、成长,让自己和他人都能有所收获!😄 📢 本篇将给大家介绍嵌入式AI模型的部署。 一、嵌入式AI模型的部署 模型的部署,是指将训练好的模型放到运行环境中进行推理的…

如何将设置为静态IP的VMware虚拟机进行克隆以便可以复刻相应的环境

一定要关闭需要克隆的虚拟机右键要选择克隆的虚拟机&#xff0c;选择管理->克隆&#xff0c;进入克隆虚拟机向导 设定克隆出来的虚拟机名称以及位置&#xff0c;选择完成 克隆完成之后将会生成虚拟机&#xff0c;示例中生成的虚拟机为ubuntu-dev2 因为原本的虚拟机为静态ip的…

Python大数据之linux学习总结——day10_hadoop原理

Hadoop原理 Hadoop基础分布式和集群Hadoop框架概述生态圈版本更新hadoop架构[重点]官方示例圆周率练习词频统计[重点]需求:步骤: Hadoop-HDFS特点hdfs架构块和副本shell命令 Hive环境准备[重点]前提启动hadoop集群启动hdfs和yarn集群启动mr历史服务检查服务 配置Hive环境变量回…

真实网络中的 bbr

本文包含中心极限定理&#xff0c;大数定律&#xff0c;经济规律等&#xff0c;bbr 倒没多少&#xff0c;不过已经习惯把 bbr 当靶子了。 上周写了 揭秘 bbr 以及 抢带宽的原理&#xff0c;我对自己说&#xff0c;这都是理论上如何&#xff0c;可实际上呢。于是有必要结合更实际…

Hadoop -hdfs的读写请求

1、HDFS写数据&#xff08;宏观&#xff09;&#xff1a; 1、首先&#xff0c;客户端发送一个写数据的请求&#xff0c;通过rpc与NN建立连接&#xff0c;NN会做一些简单的校验&#xff0c;文件是否存在&#xff0c;是否有空间存储数据等。 2、NN就会将校验的结果发送给客户端…

计算机网络之物理层(数据通信有关)

一、概述 1.1物理层引入的目的 屏蔽掉传输介质的多样性&#xff0c;导致数据传输方式的不同&#xff1b;物理层的引入使得高层看到的数据都是统一的0,1构成的比特流 1.2.物理层如何实现屏蔽 物理层靠定义的不同的通信协议&#xff08;一般称通信规程&#xff09; 这些协议…

linux服务器安装gitlab

一、安装gitlab sudo yum install curl policycoreutils-python openssh-server openssh-clients sudo systemctl enable sshd sudo systemctl start sshd sudo firewall-cmd --permanent --add-servicehttp curl https://packages.gitlab.com/install/repositories/gitla…

Cent OS 8.2 安装 自定义硬盘 固定IP VMware

时间&#xff1a;20231122 环境&#xff1a;win11 、VMware 16 pro、Cent OS 8.2 说明&#xff1a;自定义安装方法、自定义硬盘分区、固定IP且能联网 1、使用自定义的方式安装虚拟机 此处选择典型&#xff0c;则会自动安装系统&#xff0c;无法自定义硬件以及配置信息 选择…

GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件

GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件 文章目录 GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件前言一、安装git二、git基本操作2.1 初始化git2.2 配置局部生效2.3 配置全局生效 三、认识工作区…

git-2

1.分离头指针情况下的注意事项 分离头指针指的是变更没有基于某个branch去做&#xff0c;所以当进行分支切换的时候&#xff0c;在分离头指针上产生的commit&#xff0c;很可能会被git当作垃圾清理掉&#xff0c;如果你认为是重要的内容&#xff0c;切记需要绑定分支 2.进一步…

Unity UI设计 软件构造实验报告

实验1: 仿真系统的UI主界面设计 1.实验目的 &#xff08;1&#xff09;熟悉Unity中UI界面的设计与编写&#xff1b; &#xff08;2&#xff09;熟悉UI界面中场景转换,UI与场景内容相互关联的方式。 &#xff08;3&#xff09;熟悉Unity中MySQL数据库的操作 2.实验内容 新建…