shred - Man Page
overwrite a file to hide its contents, and optionally delete it
Examples (TL;DR)
- Overwrite a file: shred path/to/file
- Overwrite a file and show progress on the screen: shred [-v|--verbose] path/to/file
- Overwrite a file, leaving zeros instead of random data: shred [-z|--zero] path/to/file
- Overwrite a file a specific number of times: shred [-n|--iterations] 25 path/to/file
- Overwrite a file and remove it: shred [-u|--remove] path/to/file
- Overwrite a file 100 times, add a final overwrite with zeros, remove the file after overwriting it and show verbose progress on the screen: shred [-vzun|--verbose --zero --remove --iterations] 100 path/to/file
Synopsis
shred [OPTION]... FILE...
Description
Overwrite the specified FILE(s) repeatedly, in order to make it harder for even very expensive hardware probing to recover the data.
If FILE is -, shred standard output.
Mandatory arguments to long options are mandatory for short options too.
- -f, --force
- change permissions to allow writing if necessary 
- -n, --iterations=N
- overwrite N times instead of the default (3) 
- --random-source=FILE
- get random bytes from FILE 
- -s, --size=N
- shred this many bytes (suffixes like K, M, G accepted) 
- -u
- deallocate and remove file after overwriting 
- --remove[=HOW]
- like -u but give control on HOW to delete; See below 
- -v, --verbose
- show progress 
- -x, --exact
- do not round file sizes up to the next full block; this is the default for non-regular files 
- -z, --zero
- add a final overwrite with zeros to hide shredding 
- --help
- display this help and exit 
- --version
- output version information and exit 
Delete FILE(s) if --remove (-u) is specified. The default is not to remove the files because it is common to operate on device files like /dev/hda, and those files usually should not be removed. The optional HOW parameter indicates how to remove a directory entry: 'unlink' => use a standard unlink call. 'wipe' => also first obfuscate bytes in the name. 'wipesync' => also sync each obfuscated byte to the device. The default mode is 'wipesync', but note it can be expensive.
CAUTION: shred assumes the file system and hardware overwrite data in place. Although this is common, many platforms operate otherwise. Also, backups and mirrors may contain unremovable copies that will let a shredded file be recovered later. See the GNU coreutils manual for details.
Author
Written by Colin Plumb.
Reporting Bugs
Report bugs to: bug-coreutils@gnu.org
GNU coreutils home page: <https://www.gnu.org/software/coreutils/>
General help using GNU software: <https://www.gnu.org/gethelp/>
Report any translation bugs to <https://translationproject.org/team/>
Copyright
Copyright © 2025 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
See Also
Full documentation <https://www.gnu.org/software/coreutils/shred>
or available locally via: info '(coreutils) shred invocation'
Referenced By
dd_rescue(1), logrotate(8), nwipe(8), ptrash(1), rm(1), scrub(1).