FIND - Exec

From Wiki.IT-Arts.net


find + exec

The basic syntax to execute find with exec :

find [path] [arguments] -exec [command] {} \;


List Files

find /home/user/ -type f -name *.txt -exec ls -l {} \;


Remove By Size

Files larger than 500 MB :

find /home/user/ -size +500M -exec rm {} \;
  • size n[cwbkMG]
    • File uses less than, more than or exactly n units of space, rounding up. The following suffixes can be used:
      • `b' for 512-byte blocks (this is the default if no suffix is used)
      • `c' for bytes
      • `w' for two-byte words
      • `k' for kibibytes (KiB, units of 1024 bytes)
      • `M' for mebibytes (MiB, units of 1024 * 1024 = 1048576 bytes)
      • `G' for gibibytes (GiB, units of 1024 * 1024 * 1024 = 1073741824 bytes)


Remove By Date

Files older than 10 days

find /home/user/ -type f -mtime +10 -exec rm {} \;
  • mtime n
    • File's data was last modified less than, more than or exactly n*24 hours ago. See the comments for -atime to understand how rounding affects the interpretation of file modification times.
  • -atime n
    • File was last accessed less than, more than or exactly n*24 hours ago. When find figures out how many 24-hour periods ago the file was last accessed, any fractional part is ignored, so to match -atime +1, a file has to have been accessed at least two days ago.