私は /dev が苦手だ。どういう存在なのかあやふやで恐ろしい。苦手意識を克服するためにどうでも良い SD カードを壊してみる事にした。まず SD カードを挿入して unmount し、echo で無理やり書き込む。
$ umount /dev/sdb1
$ sudo sh -c 'echo "Hello World!\n" > /dev/sdb1'
$ sudo head -c 32 /dev/sdb1
Hello World!
? ??
SD カードの最初のパーティションに "Hello World!" を書き込んだり読んだりする事が出来た。次に、SD カード全体に書き込んでみる。
$ sudo sh -c 'echo "Hello World!\n" > /dev/sdb'
$ sudo head -c 32 /dev/sdb
Hello World!
????|????!
こちらも問題なく(?) 読み書きが出来た。/dev/sdb を壊すと最初のパーティション /dev/sdb1 が壊れてしまうのではないかと思ったが、まだ読めた。
$ sudo head -c 32 /dev/sdb1
Hello World!
? ??
mount を試みると、めでたく /dev/sdb1 が壊れていることが分かった。
$ sudo mount /dev/sdb1 /mnt
NTFS signature is missing.
Failed to mount '/dev/sdb1': Invalid argument
The device '/dev/sdb1' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?
結論: SD カードにはファイルシステムを無視してデータを読み書き出来る事が分かった。chown で所有者を変えると一般ユーザでアクセス出来るので、何かに使えるかも。