Provided by: manpages-es-extra_0.8a-17_all bug

NOMBRE

       find - busca ficheros en un árbol de directorios

SINOPSIS

       find [camino...] [expresión]

DESCRIPCIÓN

       Esta  página  del  Manual  documenta  la versión de GNU de find.  find recorre el árbol de
       directorio cuya raíz reside en cada nombre de  fichero  dado,  evaluando  de  izquierda  a
       derecha  la  expresión  especificada,  según  las reglas de precedencia (vea la sección de
       OPERADORES), hasta  que  se  conoce  el  resultado  (la  parte  izquierda  es  falsa  para
       operaciones  and,  verdadera  para or), en cuyo punto find se mueve al siguiente nombre de
       fichero.

       El primer argumento que comience con `-', `(', `)', `,', o `!' se toma como  el  principio
       de  la expresión; cualesquier argumentos antes de él son caminos a recorrer, y cualesquier
       argumentos tras él forman el resto de la expresión. Si no se da ningún camino, se toma  el
       directorio  de  trabajo.  Si  no  se  da  ninguna expresión, se sobreentiende la expresión
       `-print'.

       find acaba con código de estado 0 si todos los ficheros  se  procesan  satisfactoriamente,
       mayor que 0 si ocurre un error.

EXPRESIONES

       La  expresión  está  hecha  de  opciones (que afectan a todas las operaciones en vez de al
       procesamiento de un fichero específico, y siempre devuelven  verdad),  comparaciones  (que
       devuelven  un  valor  verdadero  o  falso),  y  acciones (que tienen efectos colaterales y
       devuelven un valor verdadero o falso), todos separados por operadores. Donde se  omita  el
       operador,  se  sobreentiende  -and.  Si la expresión no contiene ninguna acción, aparte de
       -prune, se ejecuta -print en todos los ficheros para los que la expresión dé verdadera.

   OPCIONES
       Todas las opciones siempre devuelven verdadero. Siempre tienen efecto,  en  lugar  de  ser
       procesadas  solamente  cuando  se  alcance  su  sitio  en  la expresión. Por lo tanto, por
       claridad, lo mejor es ponerlas siempre al principio de la expresión.

       -daystart
              Mide los tiempos (para -amin, -atime, -cmin, -ctime,  -mmin,  y  -mtime)  desde  el
              principio del día de hoy en lugar de desde hace 24 horas.

       -depth Procesa cada contenido del directorio antes del propio directorio.

       -follow
              Desreferencia enlaces simbólicos. Implica -noleaf.

       -help, --help
              Muestra un sumario del modo de empleo de find y acaba.

       -maxdepth niveles
              Desciende  como  mucho  niveles  (un entero no negativo) niveles de directorios por
              debajo de los argumentos de la línea de órdenes. `-maxdepth 0' significa  que  sólo
              se aplicarán las comparaciones y acciones a los argumentos de la línea de órdenes.

       -mindepth niveles
              No  aplica  comparaciones  ni  acciones  a niveles menores de niveles (un entero no
              negativo).  `-mindepth  1'  significa  procesar  todos  los  ficheros  excepto  los
              argumentos de la línea de órdenes.

       -mount No  descender  a  directorios  en otros sistemas de ficheros. Un nombre alternativo
              para -xdev, por compatibilidad con algunas otras versiones de find.

       -noleaf
              No optimiza suponiendo que los directorios contienen dos subdirectorios  menos  que
              lo que dice su número de enlaces duros. Esta opción es necesaria cuando se recorren
              sistemas de ficheros que no siguen  el  convenio  de  Unix  sobre  los  enlaces  de
              directorios,  como  sistemas de ficheros ISO-9660 (de un CD-ROM) o FAT (de MS-DOS o
              Windows), o  puntos  de  montaje  de  volúmenes  AFS  (Andrew  File  System).  Cada
              directorio  de  un sistema de ficheros normal de Unix (UFS, ext2fs, etc.) tiene por
              lo menos dos enlaces duros: su  nombre  y  su  entrada  `.'  (punto).  Además,  sus
              subdirectorios  (si  los  hay)  tienen  cada  uno  una entrada `..' enlazada a este
              directorio. Cuando find está examinando un directorio,  después  de  que  ha  hecho
              stat()  en  dos  subdirectorios  menos  de  lo  que  dice  el número de enlaces del
              directorio, sabe que el resto de las entradas  del  directorio  son  no-directorios
              (ficheros  `hoja'  [`leaf'  en inglés] en el árbol del directorio). Si sólo hay que
              examinar los nombres de ficheros, no hay necesidad de llamar a stat() sobre  ellos,
              lo cual proporciona un incremento significativo en la velocidad del recorrido.

       -version, --version
              Muestra el número de versión de find y acaba.

       -xdev  No desciende a directorios en otros sistemas de ficheros. Vea -mount más arriba.

   COMPARACIONES
       Los argumentos numéricos pueden especificarse como

       +n     para mayor que n,

       -n     para menor que n,

       n      para exactamente n.

       -amin n
              Se ha accedido al fichero por última vez hace n minutos.

       -anewer fichero
              Se  ha  accedido al fichero por última vez más recientemente que cuando fichero fue
              modificado.  -anewer está afectado por -follow solamente si  -follow  va  antes  de
              -anewer en la línea de órdenes.

       -atime n
              Se ha accedido al fichero por última vez hace n×24 horas.

       -cmin n
              El status del fichero se cambió por última vez hace n minutos.

       -cnewer fichero
              El  status  del  fichero  se  cambió por última vez más recientemente que cuando se
              modificó fichero.  -cnewer está afectado por -follow solamente si -follow va  antes
              de -cnewer en la línea de órdenes.

       -ctime n
              EL status del fichero se cambió por última vez hace n×24 horas.

       -empty El fichero está vacío y es o un fichero regular o un directorio.

       -false Siempre da falso.

       -fstype tipo
              El  fichero  está  en  un  sistema  de  ficheros de tipo tipo. Los tipos válidos de
              sistemas de ficheros varían según la versión de Unix; una lista incompleta de tipos
              de  sistemas  de ficheros que se aceptan en algunas versiones de Unix es: ufs, 4.2,
              4.3, nfs, tmp, mfs, S51K, S52K.  Se puede usar -printf con la directiva %F para ver
              los  tipos  de  sus sistemas de ficheros. (En Linux, cat /proc/filesystems dará una
              lista de los tipos de sistemas de ficheros reconocidos.)

       -gid n El GID numérico del fichero es n.

       -group grupo
              El fichero pertenece al grupo grupo (se permite un GID numérico).

       -ilname patrón
              Como -lname, pero la concordancia no hace caso de mayúsculas ni minúsculas.

       -iname patrón
              Como -name, pero la concordancia no hace caso  de  mayúsculas  ni  minúsculas.  Por
              ejemplo,  los  patrones `fo*' y `F??' concuerdan con los nombres de ficheros `Foo',
              `FOO', `foo', `fOo', etc.

       -inum n
              El fichero tiene de número-i n.

       -ipath patrón
              Como -path, pero la concordancia no hace caso de mayúsculas ni minúsculas.

       -iregex patrón
              Como -regex, pero la concordancia no hace caso de mayúsculas ni minúsculas.

       -links n
              El fichero tiene n enlaces.

       -lname patrón
              El fichero es un enlace simbólico cuyos contenidos concuerdan  con  el  patrón  del
              shell patrón. Los metacaracteres no tratan especialmente a `/' ni a `.'.

       -mmin n
              Los datos del fichero fueron modificados por última vez hace n minutos.

       -mtime n
              Los datos del fichero fueron modificados por última vez hace n×24 horas.

       -name patrón
              La  base  del  nombre  del fichero (el camino sin los directorios) concuerda con el
              patrón del shell patrón. Los metacaracteres (`*', `?' y `[]') no concuerdan con  un
              `.' al principio del nombre base. Para omitir un directorio y los ficheros bajo él,
              emplee -prune; vea un ejemplo en la descripción de -path.

       -newer fichero
              El fichero fue modificado más recientemente que fichero.  -newer  es  afectado  por
              -follow solamente si -follow va antes de -newer en la línea de órdenes.

       -nouser
              Ningún usuario se corresponde con el UID numérico del fichero.

       -nogroup
              Ningún grupo se corresponde con el GID numérico del fichero.

       -path patrón
              El  nombre del fichero concuerda con el patrón del shell patrón. Los metacaracteres
              no tratan de forma especial a `/' o a `.'; así, por ejemplo,
                        find . -path './sr*sc'
              mostrará una entrada para un directorio llamado './src/misc' (si  es  que  existe).
              Para  omitir  un árbol entero de directorio, emplee -prune en vez de comprobar cada
              fichero en el árbol. Por ejemplo, para pasar el directorio `src/emacs' y todos  los
              ficheros  y  directorios  bajo  él,  y  mostrar  los  nombres de los otros ficheros
              encontrados, haga algo como esto:
                        find . -path './src/emacs' -prune -o -print

       -perm modo
              Los bits de permiso del fichero son exactamente modo (octal o simbólico). Los modos
              simbólicos utilizarán 0 como punto de partida.

       -perm -modo
              Todos los bits de permiso modo están activos para el fichero.

       -perm +modo
              Cualquiera de los bits de permiso de modo está activo para el fichero.

       -regex patrón
              El  nombre del fichero concuerda con la expresión regular patrón. Esta concordancia
              es en el camino entero, no es una búsqueda. Por ejemplo, para  un  fichero  llamado
              `./fubar3',  Ud.  puede  emplear  la expresión regular `.*bar.' or `.*b.*3', mas no
              `b.*r3'.

       -size n[bckw]
              El fichero emplea n unidades de espacio.  Las unidades son bloques de 512 bytes  si
              no  se  dice  otra cosa o si la letra `b' sigue a n, bloques de bytes si se pone la
              letra `c', kilobytes con la `k', o palabras de 2 bytes con la  `w'.  El  tamaño  no
              cuenta  bloques  indirectos,  pero  sí cuenta bloques en ficheros esparcidos que no
              están realmente asignados.

       -true  Siempre da verdadero.

       -type c
              El fichero es de tipo c:

              b      especial de bloques (tamponado)

              c      especial de caracteres (sin tamponar)

              d      directorio

              p      tubería con nombre (FIFO)

              f      fichero regular

              l      enlace simbólico

              s      zócalo (socket)

       -uid n El UID numérico del propietario del fichero es n.

       -used n
              Se accedió por última vez al fichero n días después de que se cambió por última vez
              su estado.

       -user usuario
              El propietario del fichero es el usuario usuario (se permite un UID numérico).

       -xtype c
              Lo  mismo  que  -type  a menos que el fichero sea un enlace simbólico. Para enlaces
              simbólicos: si no se ha dado -follow, verdad si  el  fichero  es  un  enlace  a  un
              fichero  de  tipo  c;  si  no,  verdad si c es `l'. En otras palabras, para enlaces
              simbólicos, -xtype comprueba el tipo del fichero que -type no comprueba.

   ACCIONES
       -exec orden ;
              Ejecuta orden; verdad si se devuelve el status 0. Todos los argumentos que siguen a
              find  se  toman  como de la orden hasta que se encuentre uno consistente en `;'. La
              cadena `{}' se reemplaza por el nombre del  fichero  que  se  está  procesando;  en
              cualquier  sitio  de  los  argumentos de la orden, no sólo en argumentos donde esté
              sola, como en  algunas  otras  versiones  de  find.   Ambas  construcciones  pueden
              necesitar  `escaparse'  (con  una  `\')  o  entrecomillarse, para protegerlas de la
              expansión que efectuaría el  shell.  La  orden  se  ejecuta  en  el  directorio  de
              comienzo.

       -fls fichero
              Verdad; como -ls pero escribe en fichero como -fprint.

       -fprint fichero
              Verdad;  escribe  el  nombre  completo del fichero en fichero. Si fichero no existe
              cuando se ejecuta find, se crea; si existe, se  trunca.  Los  nombres  de  ficheros
              ``/dev/stdout''  y  ``/dev/stderr'' se manejan de manera especial; se refieren a la
              salida estándar y la salida estándar de errores, respectivamente.

       -fprint0 fichero
              Verdad; como -print0 pero escribe en fichero como -fprint.

       -fprintf fichero formato
              Verdad; como -printf pero escribe en fichero como -fprint.

       -ok orden ;
              Como -exec pero pregunta primero  al  usuario  (en  la  entrada  estándar);  si  la
              respuesta  no comienza con `y' o `Y' (o quizás el equivalente local, en español `s'
              o `S'), no se ejecuta la orden, y devuelve falso.

       -print Verdad; imprime el nombre completo del fichero en la salida estándar,  seguido  por
              un salto de línea.

       -print0
              Verdad;  imprime  el nombre completo del fichero en la salida estándar, seguido por
              un carácter nulo. Esto permite que nombres de  ficheros  que  contengan  saltos  de
              línea  sean  correctamente  interpretados  por  programas que procesen la salida de
              find.

       -printf formato
              Verdad; imprime formato en la salida estándar, interpretando secuencias  de  escape
              `\' y directivas `%'. Las anchuras de campo y precisiones pueden especificarse como
              en la función de C `printf'. De forma contraria a lo que hace  -print,  -printf  no
              añade  un  salto  de  línea  al  final  de  la  cadena.  Las secuencias de escape y
              directivas son:

              \a     La campana de alarma.

              \b     Espacio atrás.

              \c     Para la impresión de este  formato  inmediatamente  y  vuelca  el  búfer  de
                     salida.

              \f     Salto de página.

              \n     Salto de línea.

              \r     Retorno de carro.

              \t     Tabulador horizontal.

              \v     Tabulador vertical.

              \\     Una barra inclinada inversa literal (`\').

              Un  carácter  `\'  seguido  por otro cualquiera distinto de los anteriores se trata
              como un carácter ordinario, por lo que se imprimirán ambos.

              %%     Un signo de porcentaje literal `%'.

              %a     El tiempo de último acceso al fichero en el formato devuelto por la  función
                     de C `ctime()'.

              %Ak    El  tiempo de último acceso al fichero en el formato especificado por k, que
                     es o bien `@' o bien una directiva válida para la función de C `strftime()'.
                     Los  valores  posibles  para  k  se listan abajo; algunos de ellos pueden no
                     estar disponibles en todos los sistemas, debido a diferencias en la  función
                     `strftime()' entre sistemas.

                     @      segundos desde el 1 de Enero de 1970 a las 00:00 h GMT.

                     Campos de tiempo:

                     H      hora (00..23)

                     I      hora (01..12)

                     k      hora ( 0..23)

                     l      hora ( 1..12)

                     M      minuto (00..59)

                     p      AM o PM, en su representación local

                     r      hora, formato de 12 horas (hh:mm:ss [AP]M)

                     S      segundo (00..61)

                     T      tiempo, formato de 24 horas (hh:mm:ss)

                     X      representación local de la hora (H:M:S)

                     Z      zona   horaria  (e.g.,  CET),  o  nada  si  el  huso  horario  no  es
                            determinable

                     Campos de fecha:

                     a      nombre local abreviado del día de la semana (Dom..Sáb)

                     A      nombre local  completo  del  día  de  la  semana,  longitud  variable
                            (Domingo..Sábado)

                     b      nombre local abreviado del mes (Ene..Dic)

                     B      nombre local completo del mes, longitud variable (Enero..Diciembre)

                     c      fecha y hora en representación local (Sáb 4 Nov 12:02:33 CET 1989)

                     d      día del mes (01..31)

                     D      fecha (mm/dd/aa)

                     h      lo mismo que b

                     j      día del año (juliano) (001..366)

                     m      mes numérico (01..12)

                     U      número  de  la  semana  del  año con el Domingo como primer día de la
                            semana (00..53)

                     w      día de la semana, numérico (0..6)

                     W      número de la semana del año como el Lunes como el primer  día  de  la
                            semana (00..53)

                     x      representación local de la fecha (dd/mm/aa)

                     y      los últimos dos dígitos del año (00..99)

                     Y      año (1970...)

              %b     El tamaño del fichero en bloques de 512 bytes (redondeado)

              %c     El  tiempo  del  último cambio del estado del fichero en el formato devuelto
                     por la función de C `ctime()'.

              %Ck    El  tiempo  del  último  cambio  del  estado  del  fichero  en  el   formato
                     especificado por k, que es el mismo que para %A.

              %d     La  profundidad en el árbol del directorio; 0 significa que el fichero es un
                     argumento de la línea de órdenes.

              %f     El nombre del fichero sin los  directorios  (sólo  el  último  elemento  del
                     camino).

              %F     Tipo  del  sistema  de  ficheros  donde  está  el  fichero; este valor puede
                     emplearse para -fstype.

              %g     El nombre de grupo al que pertenece el fichero, o  el  GID  numérico  si  el
                     grupo no tiene nombre.

              %G     El GID numérico del grupo al que pertenece el fichero.

              %h     Los  directorios  del  camino  del fichero (todos los componentes del camino
                     menos el último elemento).

              %H     Argumento de la línea de órdenes bajo el que se ha encontrado el fichero.

              %i     El número-i del fichero (en base 10).

              %k     El tamaño del fichero en bloques de un kB (redondeado).

              %l     El objeto de un enlace simbólico (la cadena vacía si el  fichero  no  es  un
                     enlace simbólico).

              %m     Los bits de permiso del fichero (en octal).

              %n     El número de enlaces duros del fichero.

              %p     El nombre del fichero.

              %P     El  nombre  del  fichero  con el nombre del argumento de la línea de órdenes
                     bajo el que se ha encontrado, quitado.

              %s     El tamaño del fichero en bytes.

              %t     El tiempo de última modificación del fichero en el formato devuelto  por  la
                     función de C `ctime()'.

              %Tk    El  tiempo de última modificación del fichero en el formato especificado por
                     k, que es el mismo que para %A.

              %u     El nombre del usuario propietario del fichero, o el UID  si  el  usuario  no
                     tiene nombre.

              %U     El UID numérico del propietario del fichero.

              Un carácter `%' seguido por cualquier otro distinto de los recién mencionados no es
              tenido en cuenta (pero el otro carácter se imprime).

       -prune Si -depth no se da, devuelve verdad; no desciende por el directorio en curso.
              Si -depth se da, devuelve falso; no tiene otro efecto.

       -ls    Verdad; lista el fichero actual en el formato de `ls -dils' en la salida  estándar.
              Los  números de bloques son en bloques de 1 kB, a menos que la variable de ambiente
              POSIXLY_CORRECT esté definida, en cuyo caso los bloques son de 512 B.

   OPERADORES
       Listados en orden de precedencia decreciente:

       ( expr )
              Fuerza la precedencia.

       ! expr Verdad si expr es falsa.

       -not expr
              Lo mismo que ! expr.

       expr1 expr2
              Y (implícito); expr2 no se evalúa si expr1 es falsa.

       expr1 -a expr2
              Lo mismo que expr1 expr2.

       expr1 -and expr2
              Lo mismo que expr1 expr2.

       expr1 -o expr2
              O; expr2 no se evalúa si expr1 es verdad.

       expr1 -or expr2
              Lo mismo que expr1 -o expr2.

       expr1 , expr2
              Lista; expr1 y expr2 son, ambos, evaluados siempre.  El valor de expr1 se descarta;
              el valor de la lista es el de expr2.

VÉASE TAMBIÉN

       locate(1L), locatedb(5L), updatedb(1L), xargs(1L) Finding Files (``Buscando Ficheros''; en
       interactivo con Info, o impreso en papel).

                                                                                         FIND(1L)