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.
This means that the
find command line included something that
started with a dash or other special character. The
program 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.
This usually happens if you have an extra bracket on the command line (for example ‘find . -print \)’).
These messages might appear when
find moves into a directory
and finds that the device number and inode are different from what it
expected them to be. If the directory
find has moved into is
on a network filesystem (NFS), it will not issue this message, because
automount frequently 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 –
automount may not have been responsible. Consider the
possibility that someone else is manipulating the filesystem while
find is running. Some people might do this in order to mislead
find or persuade it to look at one set of files when it thought
it was looking at another set.
This message is issued when
find moves into a directory and ends up
somewhere it didn’t expect to be. This happens in one of two
circumstances. Firstly, this happens when
on a system where
find doesn’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.
This message is issued when a problem similar to the above occurs on a
find doesn’t know how to figure out the current
list of mount points. Ask for help on firstname.lastname@example.org.
This message is issued when
find moves 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
find was 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,
find stops at this point
to avoid traversing parts of the filesystem that it wasn’t
intended to. You can use
ls -li or
find /path -inum
12345 -o -inum 67893 to find out more about what has happened.
Please submit a bug report. You may well be asked questions about
your system, and if you compiled the
findutils code yourself,
you should keep your copy of the build tree around. The likely
explanation is that your system has a buggy implementation of
fnmatch that looks enough like the GNU version to fool
configure, but which doesn’t work properly.
This normally happens if you use the
-exec action or
something similar (
-ok and 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’.
Some program which was launched with
-exec or similar was killed
with a fatal signal. This is just an advisory message.