secure-delete
Secure file deletion utility, written in C.
The deletion process is as follows:
- Overwrite the file with multiple passes. After each pass, the disk cache is flushed. The number of passes depends on the commanded mode:
 
- (default / secure mode) 38 passes:
- 1x overwrite with 
0xff. - 5x random passes.
 - 27x overwrites with special values to make the recovery from MFM- and RLL-encoded hard disks hard to impossible.
 - 5x random passes.
 
 - 1x overwrite with 
 - (insecure mode) 2 passes:
- 1x overwrite with 
0xff. - 1x random pass.
 
 - 1x overwrite with 
 - (totally insecure mode) 1 pass:
- 1x random pass.
 
 
- Truncate the file, so that an observer wouldn't know which diskblocks belonged to the file.
 - Rename the file.
 - Delete (unlink) the file.
 
In 1 second you can approximately overwrite 1 to 2 MB of data (on a hard disk).
In "totally insecure" mode, in 15 seconds you can approximately overwrite 100 MB of data. The same deletion takes about 60 minutes in totally secure mode.
Usage
secure-delete [-dflrvz] file1 file2 etc.
Options:
        -d  ignore the two dot special files "." and "..".
        -f  fast (and insecure mode): no /dev/urandom, no synchronize mode.
        -l  lessens the security (use twice for total insecure mode).
        -r  recursive mode, deletes all subdirectories.
        -v  is verbose mode.
        -z  last wipe writes zeros instead of random data.
Does a secure overwrite/rename/delete of the target file(s).
Default is secure mode (38 writes).