USBフラッシュドライブを消去し、ファイルシステムを再作成します。

USBフラッシュドライブを消去し、ファイルシステムを再作成します。

私はこれを使用して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

答え1

fdiskここでドキュメントの構文を使用すると、非対話型として使用できます。

fdisk /dev/sdb <<EOF
n
p



t
b
p
q
EOF

これは私が使った例に過ぎず、p何もq修正しませんでした。w順序を確認して使用します。

空行は単独に対応しますEnter。ポイントは、このようにキーストロークを渡すことができるということです。

または、次の行(2つの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。その構文がより適切であることがわかります。

答え2

@KamilMaciorowskiの答え(彼に完全に感謝します)に基づいて、これが私が使用したものです。

sudo dd if=/dev/zero of=/dev/sdb bs=1M && sudo fdisk /dev/sdb <<< $'n\np\n\n\n\nt\nb\np\nw\n' && sudo mkfs.fat /dev/sdb1

関連情報