shredコマンドを使ってデータを破棄することができます。
shredは、乱数データやnullデータをファイルに指定回数書き込みすることでデータを破棄します。
ハードディスクを譲渡や破棄するときに便利ですが、普段ファイルを削除するときにも便利です。
使い方
適当なテストデータを用意します。
例えば、dmesgの結果を破棄したいデータだとします。
$ dmesg > test.txt $ head test.txt [ 0.000000] Initializing cgroup subsys cpuset [ 0.000000] Initializing cgroup subsys cpu [ 0.000000] Linux version 2.6.32-22-server (buildd@yellow) (gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5) ) #33-Ubuntu SMP Wed Apr 28 14:34:48 UTC 2010 (Ubuntu 2.6.32-22.33-server 2.6.32.11+drm33.2) [ 0.000000] Command line: BOOT_IMAGE=/vmlinuz-2.6.32-22-server root=/dev/mapper/ubuntu-root ro quiet splash [ 0.000000] KERNEL supported cpus: [ 0.000000] Intel GenuineIntel [ 0.000000] AMD AuthenticAMD [ 0.000000] Centaur CentaurHauls [ 0.000000] BIOS-provided physical RAM map: [ 0.000000] BIOS-e820: 0000000000000000 - 000000000009fc00 (usable) $
ファイルに乱数を3回書き込んだあとにnullデータを書き込みます。
$ shred -z -v test.txt shred: test.txt: 経過 1/4 (random)... shred: test.txt: 経過 2/4 (random)... shred: test.txt: 経過 3/4 (random)... shred: test.txt: 経過 4/4 (000000)... $ od -cx test.txt | head 0000000 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0000 0000 0000 0000 0000 0000 0000 0000 * 0100000 $
無事、nullデータが書き込まれました。
–removeオプションを付けるとファイル名も含めてデータを破棄しファイルを削除してくれます。
$ shred -z -v --remove test.txt shred: test.txt: 経過 1/4 (random)... shred: test.txt: 経過 2/4 (random)... shred: test.txt: 経過 3/4 (random)... shred: test.txt: 経過 4/4 (000000)... shred: test.txt: 削除します shred: test.txt: 00000000に名前を変更しました shred: 00000000: 0000000に名前を変更しました shred: 0000000: 000000に名前を変更しました shred: 000000: 00000に名前を変更しました shred: 00000: 0000に名前を変更しました shred: 0000: 000に名前を変更しました shred: 000: 00に名前を変更しました shred: 00: 0に名前を変更しました shred: test.txt: 削除しました $ ls $