如何在终端中擦除USB连接设备的数据
如何在终端中擦除USB连接设备的数据
嘿,这个操作可得小心——搞不好擦错设备就会丢失重要数据,所以每一步都要仔细核对!下面是具体的操作步骤:
1. 先准确识别你的USB设备
- 打开终端,输入
lsblk或者sudo fdisk -l,这两个命令会列出所有连接到电脑的存储设备。 - 你要通过设备大小、挂载点(比如
/media/你的用户名/U盘名称)来区分哪个是USB设备:通常USB设备会被识别为/dev/sdb、/dev/sdc这类(划重点:/dev/sda基本都是你的系统硬盘,绝对不能碰!)。比如你的U盘是16G,就找列表里大小接近16G的条目,对应的设备名就是你要操作的目标。
2. 卸载USB设备
擦除前必须先卸载设备,否则会出现读写错误:
- 输入
sudo umount /dev/sdb1(这里的sdb1是USB设备的分区,如果U盘有多个分区,要把所有分区都卸载);或者直接用挂载点路径,比如sudo umount /media/yourname/USB-Drive。 - 如果提示“设备忙”,说明还有程序在占用这个U盘,先关掉对应的文件管理器或相关程序,再重新执行卸载命令。
3. 选择合适的擦除方式
这里有两种常用方案,按需选择:
快速擦除(适合普通场景,速度快)
这种方法是用零数据覆盖设备,速度快但数据有被专业工具恢复的可能:
sudo dd if=/dev/zero of=/dev/sdb bs=4M status=progress
- 解释:
if=/dev/zero表示读取零数据,of=/dev/sdb是写入到你的USB设备(这里要写整个设备名,不是分区!比如sdb而不是sdb1),bs=4M是设置块大小来加快写入速度,status=progress会显示实时擦除进度。 - 等终端回到提示符,就说明擦除完成了。
安全擦除(适合敏感数据,更彻底)
如果你的数据涉及隐私,不想被恢复,就用这个方法——它会多次用随机数据覆盖设备,速度慢但安全性更高:
sudo shred -v -n 3 /dev/sdb
- 解释:
-v会显示详细的擦除进度,-n 3表示用随机数据覆盖3次(你可以改成7次甚至更多,但次数越多速度越慢)。同样,这里要写整个设备名sdb,不是分区。
4. 擦除后的收尾操作
擦除完成后,U盘会变成未分区的状态,你可以重新给它分区和格式化:
- 比如用
sudo mkfs.ext4 /dev/sdb1格式化为ext4格式(适合Linux系统),或者sudo mkfs.fat -F32 /dev/sdb1格式化为FAT32(适合跨Windows、Mac、Linux使用)。
备注:内容来源于stack exchange,提问作者Victor Muthomi




