SHRED(1) User Commands SHRED(1)

# [NAME](#NAME)

shred - overwrite a file to hide its contents, and optionally delete it

# [SYNOPSIS](#SYNOPSIS)

**shred** \[*OPTION*]... *FILE*...

# [DESCRIPTION](#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**](#f,)

change permissions to allow writing if necessary

[**-n, --iterations=N**](#n,)

overwrite N times instead of the [default (3)](/man/os/coreutils/default.3)

[**--random-source=FILE**](#random)

get random bytes from FILE

[**-s, --size=N**](#s,)

shred this many bytes (suffixes like K, M, G accepted)

[**-u**](#u)

deallocate and remove file after overwriting

[**--remove\[=HOW\]**](#remove_=HOW_)

like **-u** but give control on HOW to delete; See below

[**-v, --verbose**](#v,)

show details of data and metadata operations performed

[**-x, --exact**](#x,)

do not round file sizes up to the next full block; this is the default for non-regular files

[**-z, --zero**](#z,)

add a final overwrite with zeros to hide shredding

[**--help**](#help)

display this help and exit

[**--version**](#version)

output version information and exit

FILE will be skipped with a diagnostic message if it is a FIFO, socket, or terminal, since its data does not reside on disk.

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' =&gt; use a standard unlink call. 'wipe' =&gt; also first obfuscate bytes in the name. 'wipesync' =&gt; 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](#AUTHOR)

Written by Colin Plumb.

# [REPORTING BUGS](#REPORTING_BUGS)

Report bugs to: &lt;bug-coreutils@gnu.org&gt;.  
Report any translation bugs to: &lt;https://translationproject.org/team/&gt;.  
GNU coreutils home page: &lt;https://www.gnu.org/software/coreutils/&gt;  
General help using GNU software: &lt;https://www.gnu.org/gethelp/&gt;

# [COPYRIGHT](#COPYRIGHT)

Copyright © 2026 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later &lt;https://gnu.org/licenses/gpl.html&gt;.  
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

# [SEE ALSO](#SEE_ALSO)

Full documentation &lt;https://www.gnu.org/software/coreutils/shred&gt;  
or available locally via: info '(coreutils) shred invocation'

October 2026 GNU coreutils 9.12

---

Document: shred(1) from coreutils 9.12-r6 (Chainguard OS)
Source: https://git.savannah.gnu.org/git/coreutils.git
