Hard-Disk

擦除 USB 快閃記憶體驅動器並重新創建文件系統

  • October 16, 2017

我正在使用它來擦除 USB 快閃記憶體驅動器並重新創建 FAT 文件系統:

dd if=/dev/zero of=/dev/sdb bs=1M    #I don't need more advanced wiping
fdisk /dev/sdb
(a few keystrokes to select partition type, etc.)
mkfs.fat /dev/sdb1

我必須手動進行幾次擊鍵的事實很煩人。我怎麼能在沒有任何干預的情況下一步完成所有這些?就像是:

dd if=/dev/zero of=/dev/sdb bs=1M && ??? &&& mkfs.fat /dev/sdb1

Here-document 語法允許您以fdisk非互動方式使用:

fdisk /dev/sdb <<EOF
n
p



t
b
p
q
EOF

因為這只是一個例子,所以我使用了pq所以沒有寫任何更改。w在您驗證序列後使用。

請注意,空行對應於 sole Enter。關鍵是你可以通過這種方式傳遞你的擊鍵。

或者,您可以將這些行(在兩個EOF-s 之間)寫入文件,例如fdisk.commands,然後:

fdisk /dev/sdb < fdisk.commands

或者沒有文件(來自評論,謝謝 Rastapopoulos):

fdisk /dev/sdb <<< $'n\np\n\n\n\nt\nb\np\nq'

其他方式:

printf '%s\n' "n" "p" "" "" "" "t" "b" "p" "q" | fdisk /dev/sdb

還有sfdisk。您可能會發現它的語法更適合您。

引用自:https://unix.stackexchange.com/questions/398351