1、
lsblk详解
首先跟大家介绍lsblk命令,l
sblk
是一个用于列出所有块设备的命令,提供有关设备的详细信息,例如设备名称、大小、类型和挂载点等。它非常有用,尤其是在管理磁盘和分区时。
基本用法:直接输入,lsblk
这将输出系统中所有块设备的列表,包括硬盘、SSD、USB驱动器等。
常用选项:
输出示例:
运行
lsblk
命令后的输出可能类似于以下内容:
各列说明:
-
-
-
RM
: 是否为可移动设备(1 表示是,0 表示否)。
-
-
-
TYPE
: 设备类型(如 disk、part、rom 等)。
-
MOUNTPOINT
: 设备的挂载点,如果设备未挂载,则为空。
实用场景:
-
查看磁盘分区
: 使用
lsblk
可以快速查看系统所有存储设备及其分区情况。
-
确认挂载情况
: 能够轻松查看哪些设备已经挂载,以及挂载的位置。
-
了解文件系统
: 配合
-f
选项,可以了解每个设备的文件系统类型,便于管理。
2、如何格式化SD卡
我们在拿到一个张新卡,或者需要格式化一张旧卡就需要执行该过程:
首先如果是一张旧卡,且已经插入并挂载到了文件系统,就需要umount卸载对应的SD卡。
如上图所示,直接卸载对应的SD卡,则在对应的挂载点不再显示目录。
然后接下来我们格式化SD卡需要借助另外一个命令fdisk。
fdisk 是一个用于管理磁盘分区的命令行工具,适用于Linux系统。它允许用户创建、删除、修改和查看磁盘分区。以下是 fdisk 的详细介绍,包括基本用法和常见选项。
基本用法:
打开终端并输入以下命令来运行 fdisk:
sudo fdisk /dev/sdX(mmcblkX)
其中 /dev/sdX
(mmcblkX)
是你要操作的磁盘设
备(如
/dev/sda
(mmcblkX)
)。
当你输入如上命令行时就会进入fdisk的命令行:
-
m: 显示帮助菜单,列出所有可用命令。
-
p: 打印当前分区表。
-
n: 创建新分区。系统会提示输入分区类型(主分区或扩展分区),起始和结束扇区。
-
d: 删除现有分区。系统会提示输入要删除的分区编号。
-
t: 修改分区的类型。需要指定要修改的分区编号和新类型。
-
a: 设置分区为活动分区(启动分区)。
-
w: 保存更改并退出。
-
q: 不保存更改并退出。
-
c: 将分区标记为隐藏分区。
然后根据提示进行分区即
可
,最后记得输入 w 保存更改,或者输入 q 放弃更改并退出。
最后我们需要在
对应的分区上格式化成相应的文件系统,通常SD卡采用FAT32,如输入sudo mkfs.vfat /dev/sdX(mmcblkX)
当然mkfs还有很多其他的文件格式可以设置mkfs.ext4等。
3、测试SD卡的速度
测试命令前先进行缓存清除,执行如下命令:
echo 3 > /proc/sys/vm/drop_caches
然后使用time和dd命令进行读写测试。
首先是进行读取测试:
命令解析:
使用 dd 工具从设备 /dev/mmcblk1 中读取数据,并将其输出到 /dev/null,具体含义如下:
-
time: 这个命令用于测量执行 dd 命令所需的时间。
-
dd: 是一个用于转换和复制文件的工具。
-
if=/dev/mmcblk1: 指定输入文件为 /dev/mmcblk1,通常是一个存储卡或MMC设备。
-
of=/dev/null: 指定输出文件为 /dev/null,即丢弃所有读取的数据,不进行保存。
-
bs=1M: 设置读写块大小为1兆字节(1MB),可以加速数据处理。
-
count=500: 指定读取500个块,总共读取500MB的数据。
-
conv=sync: 这个选项使得在处理数据时,如果读取的数据块较小,会用空字节填充到指定的块大小。
命令解析:使用 dd 工具从 /dev/zero 设备创建一个文件,并且在写入时进行时间测量。具体含义如下:
-
time: 用于测量执行 dd 命令所需的时间。
-
dd: 用于数据的转换和复制。
-
if=/dev/zero: 输入文件为 /dev/zero,这是一个特殊文件,用于生成连续的零字节。
-
of=/run/media/mmcblk1/test: 输出文件为 /run/media/mmcblk1/test,这是将要创建或写入的目标文件路径。
-
bs=1024k: 设置读写块大小为1024KB(即1MB),这意味着每次读取和写入的大小为1MB。
-
count=100: 指定写入100个块,因此总共会写入100MB的数据。