作者:Felix (Haro 协作整理)
有时候一张 TF 卡用过很多次,里面装过系统镜像、日志、配置文件,或者一些不想保留的数据。
这时候,如果你想把整张卡尽量清干净,Linux 下可以用 shred。
shred 的作用很直接:向目标设备反复写入数据,尽量覆盖原来的内容。
如果 TF 卡在系统里对应的是 /dev/sdb,最简单的用法是:
sudo shred -v -n 1 -z /dev/sdb
这条命令的意思是:
-v:显示进度-n 1:覆盖 1 次-z:最后再写一遍 0/dev/sdb:目标 TF 卡
执行完成后,这张 TF 卡上的分区表、文件系统和原有文件基本都会被清掉。
使用前一定先确认设备名
这是最重要的一步。
先用下面的命令查看设备:
lsblk
找到你的 TF 卡对应的设备名,比如:
/dev/sdb/dev/mmcblk0
一定不要写错。
如果把系统盘写进去,那就不是清 TF 卡了,而是直接清机器。
如果 TF 卡分区已经挂载,先卸载
比如卡上有一个分区是 /dev/sdb1,那先卸载:
sudo umount /dev/sdb1
如果有多个分区,就都先卸载掉。
要注意的一点
shred 能用,但 TF 卡本质上是闪存设备,和 SSD 类似,也存在磨损均衡。所以从严格意义上说,它并不能保证底层每一块旧数据都按你想象的方式被覆盖。
机械硬盘更适合用 shred;SSD 和 TF 卡同属闪存,覆盖未必落到原物理块,别把它当绝对安全擦除。
小结
如果你只是想把一张 TF 卡整体清掉,最常用的一条命令就是:
sudo shred -v -n 1 -z /dev/sdb
记住两件事就够了:
- 先用
lsblk确认设备名 - 先卸载分区,再执行
对大多数日常清卡场景,这样已经够直接了。