Linux : How to delete file securely
Recently we had lot of discussion regarding this issue. How to remove files securely so that it cannot be undeleted. Peter Gutmann paper "Secure Deletion of Data from Magnetic and Solid-State Memory" has very good information. Here are some commands/tools available under Debian GNU/Linux (it should work with other Linux distributions) to delete file securely.
srm: Securely remove files or directories
This command is a replacement for rm command. It works under Linux/BSD/UNIX-like OSes. It removes each specified file by overwriting, renaming, and truncating it before unlinking. This prevents other people from undelete or recovering any information about the file from the command line. Because it does lots of operation on file/directory for secure deletion, it also takes lot of time to remove it. Download srm from http://sourceforge.net/projects/srm (RPM file is also available for RPM based Linux distributions)
i) Untar and install the srm:
# ./configure # make # make install
ii) How to use srm?
srm syntax is like rm command. Read man srm. Here is simple example:
$ srm privateinfo.doc
wipe: It is a secure file wiping utility
Download wipe from http://wipe.sourceforge.net/
i) Untar and install the wipe
# ./configure # make # make install
ii) How to use wipe?
$ wipe filename
Read man page of wipe for information.
shred: Delete a file securely, first overwriting it to hide its contents.
It is available on most of Linux distributions including Debian GNU/Linux. To remove file called personalinfo.tar.gz :
$ shred -n 200 -z -u personalinfo.tar.gz
Where,
- -n: Overwrite N (200) times instead of the default (25)
- -z: Add a final overwrite with zeros to hide shreddin
- -u: Truncate and remove file after overwriting
Read the man page of shred(1) for more information. Most of these utilities are not effective (read as useless) only if :
- File system is log-structured or journaled filesystems, such as JFS, ReiserFS, XFS, Ext3 etc
- Your filesystems is RAID-based, compressed filesystem etc
- In addition, file system backups and remote mirrors may contain copies of the file that cannot be removed by these utilities.
See also:
- Delete (remove) files with inode number - to remove special character filename
You may also be interested in other helpful articles:
- How to: Linux / UNIX Delete or Remove Files With Inode Number
- Shred tip: Securely remove multiple files so no one can recover file again
- Linux / UNIX Software that make retrieving the data more difficult with Department of Defense ( DoD 5520.22-M ) compliant disk / file wiping
- sed tip: Remove / Delete All Leading Blank Spaces / Tabs ( whitespace ) From Each Line
- How to delete a write protected file
Discussion on This Article:
Leave a Reply
We encourage your comments, and suggestions. But please stay on topic, be polite, and avoid spam. Thank you very much for stopping by our site!
Tags: delete_file, linux_distributions, rm_command, rpm, shread_command.wipe_command, solid_state, srm_command, undelete


That’s cool!
…but how to delete a file called ‘/’ ?
…one that’s accidentally been created with vi? Anybody know?
@ Anonymous: try escaping it with a backslash \