Это для сценария bash. В основном, я хочу отформатировать или стереть USB (или SD) устройство хранения данных; с помощью одной командной строки.
Я собирался использовать fdisk
, но он, похоже, требует взаимодействия с пользователем там, где мне нужна автоматизация.
Тогда я решил попробовать обнулить его с помощью:
dd if=/dev/zero of=/dev/<целевой диск>
;
но это, похоже, обнуляет только 2,0 ГБ свободного или неиспользуемого дискового пространства.
root@linux:~# dd if=/dev/zero of=/dev/mmcblk0
dd: writing to '/dev/mmcblk0': No space left on device
3842249+0 records in
3842249+0 records out
1967230976 bytes (2.0 GB, 1.8 GiB) copied, 2.9054 s, 677 MB/s
В идеале, я говорю о переформатировании съемного устройства хранения и подготовке его к созданию образа с помощью файла образа .iso
(через dd
).
Переформатирование не всегда требуется, но оно также стирает данные; и очистка устройства от любых сохраненных данных, вероятно, должна быть поведением по умолчанию / стандартной процедурой для такого рода вещей.
Если вы хотите использовать fdisk
, только с одним разделом, со всеми блоками используется, этого будет достаточно:
echo -e "n\np\n1\n\n\nw\n"|
fdisk /dev/<target disk> &&
mkfs.ext4 /dev/<target disk>
Измените mkfs.ext4
на любой тип файловой системы, который вы хотите использовать.
Если вы просто хотите удалить данные, подойдет команда dd
.