FreeBSD: Permanently Delete / Remove Files With Shred

permanently delete files coreutils zero disk gshred sdelete

FreeBSD: Permanently Delete / Remove Files With Shred

by Nix Craft on June 23, 2010 · 3 comments· LAST UPDATED June 23, 2010

in FreeBSD


I’m going to upgrade my FreeBSD 7.x server hard disks and going to send back the original 73GB hard disk to my vendor. I wanted to make sure that no one should able to use my personal data from old hard disk, especially files stored in /home/you/projects directory. I know how to use sDelete under MS-Windows to delete a file permanently. How do I permanently erase files under FreeBSD operating systems?

You need to install the Free Software Foundation’s core utilities ports located at /usr/ports/sysutils/coreutils directory. This ports comes with gshred command which overwrite the specified FILEs repeatedly, in order to make it harder for even very expensive hardware probing to recover the data.

Upgrade Ports Collections

Use your favorite tool or the following commands to get updated ports tree:

# portsnap fetch update

Install coreutils

Type the following command:

`# cd /usr/ports/sysutils/coreutils

make install clea


How Do I Delete File Permanently?

Simply type the following command:

# gshred -f -v -z -u /path/to/file

How Do I Delete All Files Permanently From Specific Directory?

You need to use the find command as follows:

# find . -type f -exec gshred -f -v -z -u '{}' \; ;


  • -f : Change permissions to allow writing if necessary
  • -z : Add a final overwrite with zeros to hide shredding
  • -u : Truncate and remove file after overwriting
  • -v : Verbose mode i.e. show progress

You can boot from Linux Live CD nuke disk:

# dd if=/dev/zero of=/dev/sda && dd if=/dev/urandom of=/dev/sda

Or from FreeBSD itself you can type:

dd if=/dev/null of=/dev/ad4s2 bs=8m

Erase Full Disk

Darik’s Boot and Nuke CD is highly recommended for permanently erasing full hard disk. You can grab it here.