srm - securely remove files or directories


srm [OPTION]... FILE...


srm removes each specified file by overwriting, renaming, and truncating it before unlinking. This prevents other people from undeleting or recovering any information about the file from the command line. By default srm uses 35 passes to overwrite the file's contents. If this seems overkill you can use use the --dod, --doe, --openbsd, --simple option which use less passes. If you specify more than one option (of those listed above) they are executed in the order shown above.

You can use srm to overwrite block devices. The device node is not removed after overwriting. This feature is available on Linux. Files with multiple hard links will be unlinked but not overwritten.

srm, like every program that uses the getopt function to parse its arguments, lets you use the -- option to indicate that all following arguments are non-options. To remove a file called `-f' in the current directory, you could type either

rm -- -f
rm ./-f


-d, --directory

ignored (for compatibility with rm(1))

-f, --force

ignore nonexistent files, never prompt

-i, --interactive

prompt before any removal

-r, -R, --recursive

remove the contents of directories recursively

-x, --one-file-system

when removing a hierarchy recursively, skip any directory that is on a file system different from that of the corresponding command line argument. (Not supported on Windows)

-s, --simple

only overwrite the file with a single pass of zero bytes

-P, --openbsd

OpenBSD compatible rm. Files are overwritten three times, first with the byte 0xff, then 0x00, and then 0xff again, before they are deleted.

-D, --dod

US Dod compliant 7-pass overwrite.

-E, --doe

US DoE compliant 3-pass overwrite. Twice with a random pattern, finally with the bytes "DoE". See for details.

-G, --gutmann

Use the 35-pass Gutmann method. This is the default and slowest overwrite mode. See for details.

-v, --verbose

explain what is being done. Specify this option multiple times to increase verbosity.

-h, --help

display this help and exit

-V, --version

output version information and exit



show current write position and filename handled.


srm can write to block devices on Linux. You can use srm to securely delete an entire hard disk, however you should only do this for classic magnetic drives. The modern solid state disks (SSD) have a faster and better way to erase all contents, Secure Erase. For a Linux operating system see


srm can not remove write protected files owned by another user, regardless of the permissions on the directory containing the file.

Development and discussion of srm is carried out at which is also accessible via See for a general discussion about overwriting data.







Matt Gauthier, Dirk Jagdmann 1.2.12 srm(1)