La utilidad find implementa un sistema de fuerza bruta para localizar ficheros. Este programa localiza los ficheros buscando por todo el árbol de directorios especificado, revisando los nombres de los ficheros, sus fechas de creación, etc., para localizar los que satisfagan el criterio especificado. Por este motivo find tiende a ser lento, pero es más flexible y tiene mayor probabilidad de éxito, suponiendo que el fichero buscado exista. La sintaxis es:
- Buscar por nombre de fichero.- Podemos buscar por un nombre de fichero usando la expresión
-nombre expresión
. Si laexpresión
es un nombre de fichero normal, coincidirá con el nombre o nombres exactos. Podemos emplear comodines poniendo entre comillas laexpresión
. - Buscar por el modo de permiso.- Si queremos buscar archivos que tengan ciertos permisos, podemos hacerlo usando la expresión
-perm
modo, donde modo se puede especificar simbólicamente o en forma octal.
- Buscar por tamaño del fichero.- Puede buscar un fichero por su tamaño usando la expresión
-size
n. Normalmente, n se especifica en bloques de 512 bytes. - Buscar por grupo.- Con la expresión
-gid
GID busca los ficheros cuya ID de grupo esGID
. La opción-group nombre
localiza el fichero cuyo grupo tiene el nombre indicado. La primera es muy útil en caso de que la GID se haya quedado huérfana y no tenga nombre, pero la segunda es más fácil de usar. - Buscar por ID de usuario.- Con la expresión
-uid
UID
busca los ficheros cuyo propietario tiene laUID
como ID de usuario. La opción-user nombre
busca los ficheros cuyo propietario es elnombre
. La primera nos puede ayudar en caso de que la UID se haya quedado huérfana y no tenga nombre, pero la segunda suele ser más fácil de usar.
- Restringir la profundidad de la búsqueda.- Si queremos buscar en un directorio y desea limitar el número de subdirectorios en los que buscar, puede emplear la expresión
-maxdepth niveles
para limitar la búsqueda.
Existen muchas variantes y opciones adicionales ya que es un comando muy popular. Como último ejemplo vamos a buscar los ficheros del código fuente en C+, que normalmente tienen nombres que acaban en .cpp
, en todos los directorios home.
Como apunte final hace falta recordar que los usuarios normales pueden utilizar find
, pero éste no sobrepasa los permisos de los ficheros de Linux. Si carece de permisos para listar el contenido de un directorio, find
devolverá el nombre de dicho directorio y el mensaje de error Permiso denegado
.
Debe estar conectado para enviar un comentario.