Most error messages produced by find are self-explanatory. Error messages sometimes include a filename. When this happens, the filename is quoted in order to prevent any unusual characters in the filename making unwanted changes in the state of the terminal.
findcommand line included something that started with a dash or other special character. The
findprogram tried to interpret this as a test, action or option, but didn't recognise it. If it was intended to be a test, check what was specified against the documentation. If, on the other hand, the string is the name of a file which has been expanded from a wildcard (for example because you have a ‘*’ on the command line), consider using ‘./*’ or just ‘.’ instead.
findmoves into a directory and finds that the device number and inode are different from what it expected them to be. If the directory
findhas moved into is on a network filesystem (NFS), it will not issue this message, because
automountfrequently mounts new filesystems on directories as you move into them (that is how it knows you want to use the filesystem). So, if you do see this message, be wary –
automountmay not have been responsible. Consider the possibility that someone else is manipulating the filesystem while
findis running. Some people might do this in order to mislead
findor persuade it to look at one set of files when it thought it was looking at another set.
findmoves into a directory and ends up somewhere it didn't expect to be. This happens in one of two circumstances. Firstly, this happens when
automountintervenes on a system where
finddoesn't know how to determine what the current set of mounted filesystems is.
Secondly, this can happen when the device number of a directory
appears to change during a change of current directory, but
find is moving up the filesystem hierarchy rather than down into it.
In order to prevent
find wandering off into some unexpected
part of the filesystem, we stop it at this point.
finddoesn't know how to figure out the current list of mount points. Ask for help on email@example.com.
findmoves into a directory and discovers that the inode number of that directory is different from the inode number that it obtained when it examined the directory previously. This usually means that while
findwas deep in a directory hierarchy doing a time consuming operation, somebody has moved one of the parent directories to another location in the same filesystem. This may or may not have been done maliciously. In any case,
findstops at this point to avoid traversing parts of the filesystem that it wasn't intended to. You can use
find /path -inum 12345 -o -inum 67893to find out more about what has happened.
findutilscode yourself, you should keep your copy of the build tree around. The likely explanation is that your system has a buggy implementation of
fnmatchthat looks enough like the GNU version to fool
configure, but which doesn't work properly.
-execaction or something similar (
-okand so forth) but the system has run out of free process slots. This is either because the system is very busy and the system has reached its maximum process limit, or because you have a resource limit in place and you've reached it. Check the system for runaway processes (with
ps, if possible). Some process slots are normally reserved for use by ‘root’.
-execor similar was killed with a fatal signal. This is just an advisory message.