SHRED(1)                        User Commands                       SHRED(1)

NAME         top

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

SYNOPSIS         top

       shred [OPTION]... FILE...

DESCRIPTION         top

       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

       -f, --force
              change permissions to allow writing if necessary

       -n, --iterations=N
              overwrite N times instead of the default (3)

              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

              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

              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 disk.  The default mode is 'wipesync', but note it can be

       CAUTION: Note that shred relies on a very important assumption: that
       the file system overwrites data in place.  This is the traditional
       way to do things, but many modern file system designs do not satisfy
       this assumption.  The following are examples of file systems on which
       shred is not effective, or is not guaranteed to be effective in all
       file system modes:

       * log-structured or journaled file systems, such as those supplied
       with AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)

       * file systems that write redundant data and carry on even if some
       writes fail, such as RAID-based file systems

       * file systems that make snapshots, such as Network Appliance's NFS

       * file systems that cache in temporary locations, such as NFS version
       3 clients

       * compressed file systems

       In the case of ext3 file systems, the above disclaimer applies (and
       shred is thus of limited effectiveness) only in data=journal mode,
       which journals file data in addition to just metadata.  In both the
       data=ordered (default) and data=writeback modes, shred works as
       usual.  Ext3 journaling modes can be changed by adding the
       data=something option to the mount options for a particular file
       system in the /etc/fstab file, as documented in the mount man page
       (man mount).

       In addition, file system backups and remote mirrors may contain
       copies of the file that cannot be removed, and that will allow a
       shredded file to be recovered later.

AUTHOR         top

       Written by Colin Plumb.

REPORTING BUGS         top

       GNU coreutils online help: <>
       Report any translation bugs to <>

COPYRIGHT         top

       Copyright © 2019 Free Software Foundation, Inc.  License GPLv3+: GNU
       GPL version 3 or later <>.
       This is free software: you are free to change and redistribute it.
       There is NO WARRANTY, to the extent permitted by law.

SEE ALSO         top

       Full documentation <>
       or available locally via: info '(coreutils) shred invocation'

COLOPHON         top

       This page is part of the coreutils (basic file, shell and text
       manipulation utilities) project.  Information about the project can
       be found at ⟨⟩.  If you have a
       bug report for this manual page, see
       ⟨⟩.  This page was obtained
       from the tarball coreutils-8.31.tar.xz fetched from
       ⟨⟩ on 2020-02-08.  If you discover
       any rendering problems in this HTML version of the page, or you
       believe there is a better or more up-to-date source for the page, or
       you have corrections or improvements to the information in this
       COLOPHON (which is not part of the original manual page), send a mail

GNU coreutils 8.31               March 2019                         SHRED(1)

Pages that refer to this page: rm(1)logrotate(8)