You are on page 1of 30

GARDUO ZAVALA ELIZABETH 6301

A) ARMAR UN MANUAL DE INSTRUCCIONES EN C PARA EL PROCESO DE ARCHIVOS: OPEN CLOSE READ WRITE LSEEK NOMBRE: OPEN Abre y, posiblemente, crea un archivo o dispositivo SINOPSIS #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> int open(const char *pathname, int flags); int open(const char *pathname, int flags, mode_t mode); int creat(const char *pathname, mode_t mode); DESCRIPCIN Una vez dado un nombre de ruta de un archivo, open () devuelve un descriptor de archivo, un pequeo entero no negativo para su uso posterior en el sistema de llamadas (read 2),write (2), lseek (2), fcntl (2), etc.) El descriptor de archivo devuelto por un llamada correcta ser el descriptor de archivo nmero ms bajo actualmente abiertos para el proceso. De forma predeterminada, el nuevo descriptor de fichero tiende a permanecer abierto a travs de un execve (2) (es decir, el archivo FD_CLOEXEC bandera descriptor descrito en fcntl (2), inicialmente con discapacidad; la bandera O_CLOEXEC especfica de Linux, se describe a continuacin como se puede utilizar para cambiar este valor predeterminado). El desplazamiento de archivo se establece en el principio del archivo (vase lseek (2)). Una llamada a open () crea una nueva descripcin de archivos abiertos, una entrada en todo el sistema de archivos abiertos. Esta entrada registra el desplazamiento de archivo y los indicadores de estado del archivo (modificable a travs de la fcntl (2) la pera F_SETFL Un descriptor de archivo es una referencia a una de estas entradas, lo que de referencia no se ve afectado si ruta de acceso es posteriormente eliminado o modificado para referirse a un archivo diferente. La nueva descripcin de archivo abierto se inicialmente no se comparte con cualquier otro proceso, pero pueden surgir a travs de compartir tenedor (2). Las banderas argumento debe incluir uno de los modos de acceso siguientes: O_RDONLY, O_WRONLY o O_RDWR. Estos peticin de abrir el archivo de slo lectura, de slo escritura o de lectura / escritura, respectivamente. Adems, cero o ms banderas de creacin de archivos y las banderas de archivo de estado puede

GARDUO ZAVALA ELIZABETH 6301


ser bit a bit-or'd en las banderas. Las banderas de creacin de archivos son O_CREAT, O_EXCL O_NOCTTY y O_TRUNC. Los indicadores de estado de archivo son todos los de los restantes indicadores que se indican a continuacin. La distincin entre estos dos grupos de banderas es que los indicadores de estado del archivo puede ser recuperado y (en algunos casos) modficados mediante fcntl (2). La lista completa de las banderas de la creacin del archivo y el archivo indicador de estado es el siguiente: O_APPEND. El archivo se abre en modo "aadir". Antes de cada escritura (2), el desplazamiento de archivo se coloca en la final del archivo, como si con lseek (2). O_APPEND puede conducir a daos en los archivos de sistema de archivos NFS, MET, si ms de un proceso aade datos a un archivo a la vez. Esto se debe a NFS no admite aadir a un archivo, por lo que el del ncleo del cliente tiene que simular, que no se puede hacer sin una condicin de carrera. O_ASYNC. Habilita la seal I-conducido de E / S: genera una seal (SIGIO por defecto, pero esto se puede cambiar a travs de fcntl (2)) cuando la entrada o salida a ser posible en este descriptor de fichero. Esta funcin slo est disponibles para los terminales, pseudo-terminales, tomas de corriente, y (desde Linux 2.6) tuberas y FIFOs. Vea fcntl (2) para ms detalles. O_CLOEXEC (Desde Linux 2.6.23) Activar la bandera close-on-exec para el nuevo descriptor de fichero. Especificar esta opcin permite a un programa para evitar ms fcntl (2) operaciones F_SETFD para establecer el indicador FD_CLOEXEC.Tradicionalmente, el uso de este indicador es esencial en algunos multiproceso programas, ya que con un fcntl independiente (2) Operacin a F_SETFD establecer el indicador FD_CLOEXEC no es suficiente para evitar condiciones de carrera en un hilo abre un descriptor de archivo a la vez que en otro hilo hace un tenedor (2), adems de execve (2). O_CREAT Si el archivo no existe, ser creado. El propietario (usuario ID) del archivo se establece en el identificador de usuario efectivo del proceso. El propietario del grupo (ID de grupo) se fija bien a la efectiva ID de grupo del proceso o el identificador de grupo de la direccin de padres y historia (segn el tipo de sistema de archivos y las opciones de montaje, y el modo del directorio padre, ver el montaje bsdgroups opciones y sysvgroups descrito en el monte (8)). Mode especifica los permisos para el uso en caso de que un nuevo archivo se crea serie ATED. Este argumentodebe ser suministrada cuando O_CREAT se especifica en las banderas, si O_CREAT no se especifica, a continuacin, el modo es ignorado. Los permisos efectivos son modificados por la mscara umask del proceso en la forma habitual: los permisos del fichero creado son (Modo & ~ umask). Tenga en cuenta que este modo slo se aplica para el futuro accesos del archivo recin creado, al aire libre () que crea un archivo de slo lectura y puede devolver una lectura / escritura descriptor de fichero. Las constantes simblicas se suministran las siguientes modo:

S_IRWXU 00.700 de usuario (propietario del fichero) ha leer, escribir y ejecutar permiso S_IRUSR 00400 usuario tiene permiso de lectura S_IWUSR 00200 usuario tiene permiso de escritura S_IXUSR 00100 usuario tiene permiso de ejecucin S_IRWXG 00,070 grupo de lectura, escritura y el permiso de ejecucin S_IRGRP 00040 grupo tiene permiso de lectura S_IWGRP 00020 grupo tiene permiso de escritura S_IXGRP 00010 grupo tiene permiso de ejecucin

GARDUO ZAVALA ELIZABETH 6301

S_IRWXO 00.007 otros han de lectura, escritura y el permiso de ejecucin S_IROTH 00004 otros tienen permiso de lectura S_IWOTH 00.002 otros tener permiso de escritura S_IXOTH 00.001 otros tener permiso de ejecucin

O_DIRECT (Desde Linux 2.4.10) Trate de minimizar los efectos de la cach de E / S hacia y desde este archivo. En general, esto disminuir el rendimiento, pero es til en situaciones especiales, como cuando las aplicaciones hagan su propio almacenamiento en cach. Archivo de E / S se realiza directamente a / desde bferes del espacio de usuario. La bandera O_DIRECT en su propia marca en un esfuerzo para transferir datos deforma sincrnica, pero no da las garantas de la O_SYNC que los datos y metadatos necesarios son transferidos. Para garantizar E / S sncrona el O_SYNC debe ser utilizado, adems de O_DIRECT. Una interfaz semnticamente similares (aunque no se use) para el bloque dispositivos se describe en crudo (8). O_DIRECTORY. Si pathname no es un directorio, har que la apertura al fracaso. Este la bandera es especfica de Linux, y se aadi en la versin 2.1.126 del ncleo, para evitar problemas de denegacin de servicio si opendir (3) se llama en una FIFO o dispositivo de cinta, pero no debe ser utilizado fuera de la aplicacin de opendir (3). O_EXCL . Asegrese de que esta llamada crea el archivo: Si este indicador es especifico es identificado en relacin con O_CREAT, y la ruta que ya existe, open () fallar. El comportamiento de O_EXCL no est definido si O_CREAT no se especifica. Cuando estas dos banderas se especifican, los enlaces simblicos no se si bajarn si la ruta es un enlace simblico, a continuacin, open () falla lo que se refiere menos en los puntos de enlace simblico. O_EXCL Slo es compatible con NFS utilizando NFSv3 o posterior en kernel 2.6 o posterior. En entornos en los que NFS O_EXCL apoyo no est previsto, los programas que dependen de l para efectuar un bloqueo tareas contendr una condicin de carrera. Los programas porttiles que desea llevar a cabo el bloqueo de archivos atmica utilizando un fichero de bloqueo, y la necesidad para evitar la dependencia del apoyo NFS para O_EXCL, puede crear un nico archivo en el mismo sistema de archivos (por ejemplo, incorporando el nombre de host y PID), y vincular el uso (2) para hacer un enlace con el fichero de bloqueo. Si enlace (2) devuelve 0, el bloqueo se realiza correctamente. De lo contrario, utilice stat (2) en el archivo nico para comprobar si su nmero de enlaces se ha aument a 2, en cuyo caso el bloqueo es tambin un xito. O_LARGEFILE. Permite que los archivos cuyo tamao no se puede representar en un off_t (Pero se puede representar en un off64_t) para ser abierto. _LARGEFILE64_SOURCE macro debe ser definida con el fin de obtener esta definicin. Ajuste de la prueba de funcin _FILE_OFFSET_BITS macro a 64 (en lugar de utilizar O_LARGEFILE) es el preferido mtodo de obtencin de mtodo de acceso a archivos de gran tamao de 32 bits sistemas (feature_test_macros ver (7)). O_NOATIME (Desde Linux 2.6.8) No actualiza el archivo de hora del ltimo acceso (st_atime en el inodo) cuando el archivo se lee (2). Esta bandera es para uso de la indexacin o programas de copia de seguridad, donde su uso significativamente es reducir la cantidad de actividad del disco. Esta bandera no puede ser eficaz sobre todos los sistemas de archivos. Un ejemplo es NFS, donde el servidor mantiene el tiempo de acceso.

GARDUO ZAVALA ELIZABETH 6301


O_NOCTTY Si el nombre de ruta se refiere a un dispositivo terminal - vea tty (4) - se no se convierta en terminal de control del proceso, incluso si el proceso no tiene uno. O_NOFOLLOW Si pathname es un enlace simblico, entonces la apertura falla. Se trata de una extensin de FreeBSD, que se aadi a Linux en la versin 2.1.126. Los enlaces simblicos en los componentes anteriores de la ruta seguirn. O_NONBLOCK o O_NDELAY Cuando sea posible, el archivo se abre en modo de no bloqueo. Ni al aire libre (), ni cualquier otra operacin posterior en el descriptor de archivo que se devuelve har que el proceso de llamada a esperar. Por el manejo de FIFOs (tuberas nombradas), vea tambin fifo (7). Para una discusin sobre el efecto de O_NONBLOCK en relacin con las cerraduras obligatoria archivo y con contratos de arrendamiento de archivos, consulte fcntl (2). O_SYNC. El archivo se abre para sincrnica I / O. Cualquier write (2) s en el descriptor de fichero resultante bloquearn el proceso de llamada hasta que los datos se han escrito fsicamente en el hardware subyacente. O_TRUNC. Si el archivo ya existe y es un archivo normal y abra el modo, permite la escritura (es decir, es O_RDWR o O_WRONLY) ser trunca a longitud 0. Si el archivo es un dispositivo o terminal FIFO archivo, la bandera O_TRUNC se ignora. De lo contrario el efecto de O_TRUNC no se especifica. Algunas de estas banderas opcionales se puede modificar mediante fcntl (2) despus de la archivo se ha abierto. creat () es equivalente a open () con banderas igual a O_CREAT | O_WRONLY | O_TRUNC. VALOR DEVUELTO open () y creat () devuelve el nuevo descriptor de fichero, o -1 si un error ocurrido (en cuyo caso, errno un valor apropiado). ERRORES EACCES. El acceso solicitado el archivo no est permitido, o buscar por misin es rechazada por uno de los directorios en el prefijo de ruta a ruta, o el archivo no existe todava y acceso de escritura a el directorio padre no est permitido. Algunas de estas banderas opcionales se puede modificar mediante fcntl (2) despus de que el archivo ha sido abierto. creat () es equivalente a open () con banderas igual a O_CREAT | O_WRONLY | O_TRUNC. DEFAULT. Apunta fuera del espacio de direcciones accesible. EFBIG Ver EOVERFLOW.

GARDUO ZAVALA ELIZABETH 6301


EINTR. Mientras bloqueado en espera de completar un proceso abierto de un dispositivo lento (Por ejemplo, un FIFO, ver fifo (7)), la llamada fue interrumpida por un controlador de la seal; ver la seal (7). EISDIR. Se refiere a un directorio y el acceso solicitado participar escrito (es decir, O_WRONLY o O_RDWR est establecido). ELOOP. Demasiados enlaces simblicos se encontraron en la resolucin de ruta O_NOFOLLOW fue especificada pero ruta era un enlace simblico. EMFILE El. Proceso que ya tiene el nmero mximo de archivos abiertos. ENAMETOOLONG. Indica que la ruta de acceso es demasiado largo. ENFILE .El lmite del sistema en el nmero total de archivos abiertos ha sido alcanzado. ENODEV. Se refiere a un archivo especial de dispositivo y no se corresponde al dispositivo si existe. (Esto es un error del kernel Linux, en esta situacin ENXIO debe ser devuelto.) O_CREAT ENOENT. No se ha establecido y el archivo con el nombre no existe. O bien, una componente de directorio en pathname no existe o es un colgante enlace simblico. ENOMEM. Insuficiente memoria del kernel disponible. ENOSPC. Ruta que iba a ser creado pero el dispositivo que contiene nombre de ruta no tiene espacio para el nuevo archivo. ENOTDIR. Un componente usado como directorio en pathname no es, de hecho, un directorio o O_DIRECTORY se ha especificado y la ruta no es de la gua. ENXIO O_NONBLOCK | O_WRONLY .El archivo con nombre es un FIFO y no proceso tiene el archivo abierto para lectura. O bien, el archivo es un dispositivo archivo especial y no existe el dispositivo correspondiente. EOVERFLOW. Esta ruta de acceso se refiere a un archivo normal que es demasiado grande para ser abierto. El escenario habitual es que una aplicacin compilada en una plataforma de 32 bits sin = D_FILE_OFFSET_BITS-64 trat de abrir un archivo cuyo tamao supera (2 <<31) -1 bits, vase tambin O_LARGE- ARCHIVO arriba. Este es el error especificado por POSIX.1-2001, en granos antes de 2.6.24, Linux dio la EFBIG de error para este caso. EPERM El pabelln O_NOATIME se ha especificado, pero el identificador de usuario efectivo la persona que llama no coincide con el propietario del archivo y la persona que llama no privilegiados (CAP_FOWNER). EROFS. Hace referencia a un archivo en un sistema de archivos de slo lectura y escritura se solicit el acceso. ETXTBSY. Ruta de acceso se refiere a una imagen ejecutable que se est ejecutado y acceso de escritura se ha solicitado. EWOULDBLOCK. La bandera O_NONBLOCK se ha especificado, y fue un contrato de arrendamiento incompatibles celebrada en el archivo (vea fcntl (2)).

GARDUO ZAVALA ELIZABETH 6301

NOTAS Bajo Linux, la bandera O_NONBLOCK indica que se quiere abrir, pero no necesariamente tiene la intencin de leer o escribir. Esto es tpico - camente se utiliza para abrir los dispositivos a fin de obtener un descriptor de archivo para su uso con ioctl (2). A diferencia de los otros valores que se pueden especificar en las banderas, el modo de acceso valores O_RDONLY, O_WRONLY y O_RDWR, no especifica los bits individuales. Por el contrario, definir el orden mnimo de dos pedazos de banderas, y se definen, respectivamente, 0, 1 y 2. En otras palabras, la combinacin O_RDONLY|O_WRONLY es un error lgico, y desde luego no tiene el mismo significado como O_RDWR. Linux se reserva el acceso especial, no estndar el modo 3 (binario 11) en las banderas en el sentido de: cheque por leer y escribir: Extensin en el archivo y devuelve un descriptor que no se puede utilizar para la lectura o por escrito. Este modo de acceso no estndar es utilizado por algunos Driv Linux. Para devolver un descriptor que es slo para ser utilizado para el dispositivo especfico El efecto (no definido) de O_RDONLY | O_TRUNC vara entre las aplicaciones. En muchos sistemas el archivo es en realidad truncada. Hay muchas impropiedades en el protocolo NFS subyacente, que afectan entre otros O_SYNC y O_NDELAY. POSIX proporciona tres variantes diferentes de sincronizacin de E / S, correspondientes a las banderas O_SYNC, O_DSYNC y O_RSYNC. En la actualidad (2.6.31), Linux slo implementa O_SYNC, pero glibc O_DSYNC mapas y O_RSYNC el mismo valor numrico que O_SYNC La mayora de sistemas de ficheros Linux en realidad no aplica la semntica POSIX O_SYNC, que requieren que todos las actualizaciones de los metadatos de una escritura que en el disco de regreso al espacio de usuario, pero slo el O_DSYNC semntica, que requieren el archivo de datos reales y slo metadatos necesarios para recuperar lo que en el disco por el momento si el sistema devuelve la llamada. Tenga en cuenta que se abren () puede abrir archivos especiales de dispositivo, pero creat () no puede tener el uso mknod (2) en su lugar. En los sistemas de archivos NFS con la asignacin de UID habilitada, open () puede devolver un archivo descriptor, pero, por ejemplo, read (2) las solicitudes se les niega con EACCES. Si el archivo es de nueva creacin, su st_atime, st_ctime, campos st_mtime (Respectivamente, la hora del ltimo acceso, el tiempo del ltimo cambio de estado, y tiempo de la ltima modificacin, ver estadsticas (2)) se fijan a la hora actual, y tambin lo son los campos st_ctime y st_mtime del directorio padre. De lo contrario, si el archivo es modificado a causa de la bandera O_TRUNC, su campo st_ctime y st_mtime se establecen en la hora actual. O_DIRECT. La bandera O_DIRECT puede imponer restricciones a la alineacin de la longitud y direccin de bferes del espacio de usuario y el archivo de la compensacin de E / S. En Linux las

GARDUO ZAVALA ELIZABETH 6301


restricciones varan segn la alineacin del sistema de archivos y la versin del kernel y puede estar ausente por completo. Sin embargo actualmente no existe ningn sistema de archivos-independiente de la interfaz de una aplicacin para descubrir estas restricciones para un determinado archivo o sistema de archivos. Algunos sistemas de archivos de proporcionar a sus propios intercaras para hacerlo, por ejemplo, la operacin en XFS_IOC_DIOINFO xfsctl (3). En Linux 2.4, tamao de la transferencia, y la alineacin de la memoria del usuario y el desplazamiento de archivo deben ser mltiplos del tamao de bloque lgico del sistema de archivos. En Linux 2.6, la alineacin de los lmites de 512 bytes es suficiente. La bandera O_DIRECT se introdujo en SGI IRIX, donde cuenta con la alineacin de restricciones similares a las de Linux 2.4. IRIX tambin tiene un fcntl (2) llamado a consulta alineaciones adecuadas, y tamaos. FreeBSD 4.x introdujo un pabelln del mismo nombre, pero sin restricciones de alineacin. O_DIRECT se aadi en Linux en la versin del kernel 2.4.10. Mayores Linux kernel simplemente ignore este indicador. Algunos sistemas de archivos no pueden aplicar la bandera y open () fallar con EINVAL si se utiliza. Las solicitudes deben evitar que se mezclen O_DIRECT y normal de E / S a la salida misma archivo, y sobre todo a la superposicin de las regiones de bytes en el mismo archivo. Incluso cuando el sistema de archivos controla correctamente los problemas de coherencia en esta situacin, en general de E / S es probable que sea ms lento que utilizando el modo solo. Del mismo modo, las aplicaciones deben evitar la mezcla mmap (2) de los archivos con E / S directa a los mismos archivos. El comportamiento de O_DIRECT con NFS ser diferente de los sistemas de archivos locales. Mayores ncleos, o granos configurados de cierta manera, tal vez no admitan esta combinacin. El protocolo NFS no soportan el paso de la bandera al servidor, por lo que O_DIRECT de E / S slo pasar por alto el cach de la pgina cliente, el servidor puede seguir cach de I / O. El cliente solicita al servidor para que la E / S sncrona para preservar la semntica sincrnica de O_DIRECT. Algunos servidores que funcionan mal en estas circunstancias, especialmente si la E / S tamao es pequeo. Algunos servidores tambin pueden ser configurados acerca de la E / S de haber llegado a un almacenamiento estable. Esto evitar la prdida de rendimiento en algn riesgo para la integridad de los datos en caso de fallo de energa del servidor. El cliente NFS de Linux no impone restricciones de alineacin en O_DIRECT I / O. En resumen, O_DIRECT es una herramienta potencialmente poderosa que se debe utilizar con precaucin. Se recomienda que las aplicaciones de tratamiento de uso de O_DIRECT como una opcin de rendimiento que est desactivado por defecto. FALLOS En la actualidad, no es posible para que me de la seal basada en E / S, especificando O_ASYNC al llamar open (); fcntl uso (2) para que este indicador. NOMBRE CLOSE

GARDUO ZAVALA ELIZABETH 6301


Cierra un descriptor de archivo SINOPSIS # Include <unistd.h> close int (int fd); DESCRIPCIN Close () cierra un descriptor de archivo, de modo que ya no se refiere a cualquier archivo y puede ser reutilizado. Cualquier bloqueo de registros (ver fcntl (2)), celebrada en el archivo que se asoci con, y es propiedad de el proceso, se eliminan (Independientemente del descriptor de archivo que se utiliz para obtener el bloqueo). Si fd es el descriptor de archivo ltima referencia al archivo abierto subyacente descripcin (ver open (2)), los recursos asociados con el archivo abierto descripcin son liberados, si el descriptor fue la ltima referencia a un archivo que se ha quitado desvincular usando (2) se elimina el archivo. VALOR DEVUELTO Close () devuelve cero en caso de xito. En caso de error, se devuelve -1, y errno un valor apropiado. ERRORES EBADF fd no es un descriptor vlido de fichero abierto. EINTR La close () llamada ha sido interrumpida por una seal: la seal ver (7). EIO una E / S de error ocurrido. NOTAS No comprobar el valor de retorno de cerca de () es un comn, pero sin embargo, grave error de programacin. Es muy posible que los errores en un previos write (2) la operacin se inform por primera vez en el cierre final (). No comprobar el valor devuelto cuando se cierra el archivo puede llevar a la prdida silenciosa de los datos. Esto especialmente se puede observar con NFS y con cuotas de disco. Un cierre con xito no garantiza que los datos han sido el xito plenamente guardado en el disco, ya que el ncleo difiere escribe. No es comn que un sistema de archivos para eliminar los topes cuando la secuencia est cerrada. Si necesitamos estar seguros de que los datos se almacenan fsicamente fsync uso (2). (Se depender del hardware del disco en este punto.) Probablemente es prudente cerrar los descriptores de archivo que se puede estar en el uso de las llamadas al sistema en otros hilos en el mismo proceso. Desde un archivo descriptor puede volver a utilizarse, hay algunas condiciones de carrera oscuro que puede provocar efectos secundarios no deseados. NOMBRE READ

GARDUO ZAVALA ELIZABETH 6301

Lee un descriptor de archivo. SINOPSIS # Include <unistd.h> ssize_t read (int fd, void * buf, size_t count); DESCRIPCIN Read () intenta leer hasta el recuento de bytes del descriptor de fichero fd en el bfer que comienza en buf. Si el recuento es cero, read () devuelve cero y no tiene otros resultados. Si count es mayor que SIZE_MAX, el resultado es indefinido. VALOR DEVUELTO En caso de xito, el nmero de bytes ledos se devuelve (cero indica el final de archivo), y la posicin del archivo se avanza por este nmero. No es un error si este nmero es menor que el nmero de bytes solicitados; esto puede ocurrir por ejemplo, a menos bytes estn realmente disponibles en este momento (tal vez porque estbamos cerca de fin de archivo, o porque leyendo de una pipa, o de una terminal), o por leer () se ha interrumpida por una seal. En caso de error, se devuelve -1, y errno es adecuadamente. En este caso no se especifica si el archivo posicin (en su caso) los cambios. ERRORES EAGAIN El descriptor de fichero fd hace referencia a un archivo que no sea una toma de corriente y se ha marcado como no bloqueante (O_NONBLOCK), y leer los aspirantes bloque. EAGAIN o EWOULDBLOCK. El descriptor de fichero fd se refiere a una toma de corriente y ha sido marcada sin bloqueo O_NONBLOCK), y el leer el bloque sera POSIX.1-2001 Permite a cualquier error que se devuelve en este caso no requiere de estas constantes para tener el mismo valor, por lo que una aplicacin porttil debe comprobar si las dos posibilidades. EBADF fd no es un descriptor de fichero vlido o no est abierto para la lectura. EFAULT buf est fuera de su espacio de direcciones accesible. EINTR La llamada ha sido interrumpida por una seal antes de cualquier dato fue ledo, ver la seal (7). EINVAL fd est asociado a un objeto que no es adecuado para la lectura, o el archivo se abre con la opcin O_DIRECT, y cualquiera de la direccin especificada en buf, el valor especificado en el recuento, o el archivo actual de compensacin no est adecuadamente alineados. EINVAL fd fue creado a travs de una llamada a timerfd_create (2) y el mal tamao de bfer se le dio a leer (); ver timerfd_create (2) para la piel.

GARDUO ZAVALA ELIZABETH 6301

EIO I / O error. Esto suceder, por ejemplo, cuando el proceso est en un grupo de procesos en segundo plano, intenta leer de su control tty, y, o bien es ignorar o bloquear SIGTTIN o sus grupo de procesos se han quedado hurfanos. Tambin puede ocurrir cuando hay un de bajo nivel / O error durante la lectura de un disco o cinta. EISDIR fd hace referencia a un directorio. Otros errores pueden ocurrir, dependiendo del objeto conectado a fd. POSIX permite una lectura () que se interrumpe despus de leer algunos datos para volver -1 (Con errno fijado a EINTR) o para devolver el nmero de bytes que ya leer. NOTAS En los sistemas de archivos NFS, leer cantidades pequeas de datos slo actualizar la fecha y hora de la primera vez, las llamadas posteriores no pueden hacerlo. Esto es causados por el almacenamiento en cach de atributos del lado del cliente, porque la mayora si no todos los NFS los clientes dejan st_atime (ltima vez que el acceso a archivos) actualizaciones en el servidor y del lado del cliente dice satisfecho de la memoria cach del cliente no causar st_atime actualizaciones en el servidor ya que no existen en el servidor lee. Unix lo puede obtener mediante la desactivacin del lado del cliente el almacenamiento en cach de atributos, pero en la mayora de los casos una medida que har aumentar la carga del servidor y disminuir el rendimiento. Muchos sistemas de archivos y discos fueron considerados lo suficientemente rpido que el aplicacin de O_NONBLOCK se consider innecesario. Por lo tanto, O_NONBLOCK pueden no estar disponibles en los archivos y / o discos. NOMBRE: WRITE Es un descriptor que escribe un archivo. SINOPSIS #include <unistd.h> ssize_t write(int fd, const void *buf, size_t count); DESCRIPCIN Write () escribe hasta num bytes del buffer apuntado buf en el archivo que hace referencia el descriptor de fichero fd. El nmero de bytes escritos pueden ser menos que el recuento de si, por ejemplo, no hay suficiente espacio en el medio fsico subyacente, o el lmite de recursos RLIMIT_FSIZE encontrado es (ver setrlimit (2)), o la llamada fue interrumpida por un manejador de la seal despus de haber escrito menos de count bytes. (Vase tambin el tubo (7).) Para un archivo reubicable (es decir, a la que lseek (2) se puede aplicar, por ejemplo, un archivo normal) la escritura se realiza en el archivo actual fuera del set, y el archivo de desplazamiento se incrementa en el nmero de bytes realmente escritos. Si el archivo se ha abierto (2) ed con O_APPEND, el desplazamiento de archivo se establece primero en el final del archivo antes de escribir. El ajuste del desplazamiento de archivo y la operacin de escritura se realiza como un

10

GARDUO ZAVALA ELIZABETH 6301


paso atmica. POSIX requiere que un read (2), que se puede probar que se producen despus de una operacin de escritura () ha vuelto devuelve los datos nuevos. Tenga en cuenta que no todos los sistemas de archivos son conformes con POSIX. VALOR DEVUELTO En caso de xito, el nmero de bytes escritos se devuelve (cero indica que no haba nada escrito). En caso de error, se devuelve -1, y errno un valor apropiado. Si el recuento es cero y fd hace referencia a un archivo normal, a continuacin, escribir () puede devolver un estado de error si uno de los errores a continuacin se detecta. Si no se detectan errores, se devolver 0 sin causar ningn otro efecto. Si el recuento es cero y fd hace referencia a un archivo que no sea un archivo normal, los resultados no se especifican. ERRORES EAGAIN El descriptor de fichero fd hace referencia a un archivo que no sea una toma de corriente y se ha marcado como no bloqueante (O_NONBLOCK), y el escribir bloqueara. EAGAIN or EWOULDBLOCK El descriptor de fichero fd se refiere a una toma de corriente y se ha marcado como no bloqueante (O_NONBLOCK), y el escribir bloqueara. POSIX.1-2001 permite a cualquier error que se devuelve en este caso, y no requiere de estas constantes para tener el mismo valor, por lo que una aplicacin porttil debe comprobar si las dos posibilidades. EBADF fd no es un descriptor de fichero vlido o no est abierto para escritura. EFAULT buf est fuera de su espacio de direcciones accesible. EFBIG Se hizo un intento de escribir un archivo que supera la aplicacin mxima definida por el tamao de archivo o limitar el proceso de tamao de archivo, o escribir en una posicin ms all del mximo permitido compensar. EINTR La llamada ha sido interrumpida por una seal antes de que los datos den seal de ver (7). EINVAL fd est asociado a un objeto que no es apto para la escritura, o el archivo se abre con la opcin O_DIRECT, y cualquiera de las direccin especificada en buf, el valor especificado en el recuento, o la archivo actual de compensacin no est adecuadamente alineados. EIO Un bajo nivel de I / O error ocurri mientras que la modificacin del inodo. ENOSPC El dispositivo que contiene el fichero referenciado por fd no tiene espacio para los datos. fd EPIPE est conectado a un tubo o una toma de cuya lectura final es cerrado. Cuando esto ocurre, el proceso de escritura tambin recibir un SIG- seal PIPE. (De este modo, el escribir el valor de retorno es visto slo si el capturas del programa, bloques o hace caso omiso de esta seal.)

11

GARDUO ZAVALA ELIZABETH 6301


Otros errores pueden ocurrir, dependiendo del objeto conectado a fd. NOTAS Un exitoso regreso de write () no hace ninguna garanta de que los datos se ha cometido en el disco. De hecho, en algunas implementaciones de errores, que ni siquiera garantiza que el espacio ha sido reservado para el xito los datos. La nica manera de estar seguro es llamar a fsync (2) despus de que se terminado de escribir todos sus datos. Si un write () es interrumpida por un manejador de la seal antes de bytes por escrito, a continuacin, la llamada falla con el error EINTR, si se interrumpe despus de al menos un byte se ha escrito, la llamada se realiza correctamente, y devuelve el nmero de bytes escritos. NOMBRE: LSEEK Cambia la posicin de lectura / escritura de archivos desplazamiento SINOPSIS #include <sys/types.h> #include <unistd.h> off_t lseek(int fd, off_t offset, int whence); DESCRIPCIN El lseek () reposiciona la funcin del desplazamiento del archivo abierto asociado con el descriptor de fichero fd con el argumento de compensacin de acuerdo con la directiva de la siguiente manera: SEEK_SET La compensacin se establece en offset bytes. SEEK_CUR La compensacin se establece en su ubicacin actual ms offset bytes. SEEK_END La compensacin se establece en el tamao del fichero ms offset bytes. El lseek () permite el desplazamiento de archivo que se establece ms all del final del archivo (pero esto no cambia el tamao del archivo). Si los datos se ms tarde por escrito en este punto, las lecturas posteriores de los datos en el espacio (un "agujero") devuelven bytes nulos ('\ 0') hasta que los datos se escribe en la brecha. VALOR DEVUELTO Si es correcto, lseek () devuelve el resultado compensado locacin, medida en bytes desde el principio del archivo. De lo contrario, un valor de (off_t) se devuelve -1 y errno para indicar el error. ERRORES EBADF fd no es un descriptor de fichero abierto. EINVAL donde no es uno de SEEK_SET, SEEK_CUR, SEEK_END, o el archivo resultante

12

GARDUO ZAVALA ELIZABETH 6301


desplazamiento sera negativo, o ms all del final de un dispositivo reubicable. EOVERFLOW El archivo resultante de compensacin no puede ser representado en un off_t. ESPIPE fd est asociado a una tubera, socket, o FIFO. NOTAS El uso de este documento de donde es el Ingls incorrecta, pero mantuvo para razones histricas.

Algunos dispositivos son incapaces de buscar y POSIX no especifica que dispositivos deben ser compatibles lseek ().

En Linux, usando lseek () en un dispositivo tty devuelve ESPIPE.

Al convertir el cdigo antiguo, donde los valores de sustitucin para el seguimiento ING macros: 0 SEEK_SET 1 SEEK_CUR 2 SEEK_END L_SET SEEK_SET L_INCR SEEK_CUR L_XTND SEEK_END SVR1-3 devuelve largo en vez de off_t, BSD int devuelve. Tenga en cuenta que los descriptores de archivo creado por dup (2) o un tenedor (2) la participacin del actual archivo alquiler puntero de posicin, por lo que buscan en este tipo de archivos pueden ser objeto de condiciones de carrera.

B) DESCUBRIR COMO IMPLEMENTAR LA FUNCION FIND.


NOMBRE FIND Busca archivos en una jerarqua de directorios SINOPSIS find [H] [L] [P] [ruta de acceso ...] [expresin] DESCRIPCIN Esta pgina del Manual documenta la versin GNU de find. GNU encontrar bsquedas el rbol del directorio raz en cada nombre de archivo dado por la evaluacin de su expresin de izquierda a derecha, de acuerdo con las normas de presencia (ver seccin OPERADORES), hasta que el

13

GARDUO ZAVALA ELIZABETH 6301


resultado se conoce (a la izquierda lado es falso que las operaciones, a favor o en verdad), y en ese momento encontrar pasa al siguiente nombre de archivo. OPCIONES Las opciones de controlar el tratamiento de la simblica enlaces. argumentos de lnea de comandos siguiendo estos se toman como nombres de archivos o directorios para ser examinado, hasta el primer argumento que comienza con un . Este argumento y cualquier seguimiento ING se tienen argumentos para ser la expresin que describe lo que se debe ser buscado. Si no hay caminos se dan, el directorio actual se utiliza. Si ninguna expresin se da, se entiende por ~Printa se utiliza (pero que probablemente debera considerar el uso de ~-print0 lugar, de todos modos). -P No seguir enlaces simblicos. Este es el comportamiento predeterminado. Cuando encontramos examina o imprime la informacin en un archivo, y es el archivo un enlace simblico, la informacin utilizada se tomar de la propiedades del enlace simblico en s mismo. -L Siga los enlaces simblicos. Cuando encontramos examina o imprime la informacin acerca de los archivos, la informacin utilizada se tomar de la propiedades del archivo al que apunta el enlace, no desde el enlace Cuando la opcin-L es, en efecto, el predicado de tipo siempre partido contra el tipo de archivo que apunta un enlace simblico que en lugar del propio enlace (a menos que el enlace simblico es hermano ken). Utilizando-L hace que el lname y predicados-ilname siempre para volver falsa. -H No seguir enlaces simblicos, excepto durante el procesamiento de los argumentos de la lnea de mando. Cuando encontramos examina o imprime la informacin acerca de los archivos, la informacin utilizada se tomar de las propiedades del enlace simblico en s mismo. La nica excepcin a este comportamiento se produce cuando un archivo especificado en la lnea de comandos es un simple enlace simblico, y el vnculo se puede resolver. Por esa situacin, la informacin utilizada se toma de lo que el enlace apunta a (Es decir, el enlace es seguido). La informacin sobre la relacin s se utiliza como una reserva si el archivo apuntado por el simple enlace simblico no puede ser examinada. Si-H est en vigor y uno de las rutas especificadas enz la lnea de comandos es un enlace simblico a uno de la gua, el contenido de ese directorio sern examinados (Aunque, por supuesto-maxdepth 0 impedira esto). Si usted est usando encuentran en un entorno donde la seguridad es importante (Por ejemplo, si usted lo est utilizando para buscar directorios que se puede escribir por otros usuarios), debe leer las "Consideraciones de seguridad" del captulo de la documentacin findutils, que se llama Bsqueda de archivos y viene con findutils. En ese documento tambin incluye muchos ms detalles y discusin de esta pgina de manual, por lo que puede encontrar una utilidad ms fuente de informacin. Si ms de una de-H, L y P se especifica, cada uno anula el De otra el ltimo que aparece en la lnea de comandos que surta efecto. Desde su valor predeterminado, la opcin-P se debe considerar que en efecto a menos que cualquiera-H o L, se especifica. GNU encontrar con frecuencia estadsticas archivos durante la tramitacin de la orden la lnea en s, antes de que la bsqueda ha comenzado. Estas opciones tambin afectan cmo esos argumentos se procesan. En concreto, hay una serie de ensayos que comparan archivos que aparecen en la lnea de comandos contra un archivo que estn considerando actualmente. En cada caso, el archivo especificado en la lnea de comando han sido examinadas y algunas de sus propiedades se han salvado. Si el archivo con el nombre en realidad es un enlace simblico, y la opcin -P est en vigor (o, si ninguna de H-ni-L se ha especificado), la informacin utilizada para la comparacin se tomar de

14

GARDUO ZAVALA ELIZABETH 6301


las propiedades del enlace simblico. De lo contrario, se tomar de las propiedades del archivo en el enlace apunta. Si no puede encontrar el enlace (por ejemplo, porque no tiene suficientes privilegios o los puntos de enlace en archivo no existente) de las propiedades del mismo enlace se utilizar. Cuando el H-o L-opciones son, en efecto, todos los enlaces simblicos que figuran como el argumento de la ms reciente se de referencia, y la marca de tiempo ser tomado del archivo al que apunta el enlace simblico. Con el mismo consideracin se aplica a anewer y cnewer. La opcin de seguir, tiene un efecto similar a L, a pesar de que entre en vigor en el punto en que aparece (es decir, si-L no se utiliza, pero sigue es decir, los enlaces simblicos que aparecen despus de seguir en la lnea de comando se desreferencia, y los que antes no). EXPRESIONES La expresin se compone de opciones (que afecta al funcionamiento general en lugar de la transformacin de un archivo especfico, y siempre devuelve true), pruebas (que devuelven un valor verdadero o falso), y las acciones (que tienen efectos secundarios y devolver un valor verdadero o falso), todos los separa OPCIONES Todas las opciones siempre devuelven verdadero. A excepcin de seguir, y daystart, el opciones afectan a todas las pruebas, incluyendo ensayos especificados antes de la opcin. Esto se debe a que las opciones se procesan cuando la lnea de comandos analizado, mientras que las pruebas dona t hacer nada hasta que los archivos se examinan. -Daystart Medir los tiempos (para-amin,-atime,-cmin,-ctime-mmin, y -Mtime) desde el principio de hoy en lugar de desde 24 horas hace. Esta opcin slo afecta a las pruebas que aparecen ms adelante en el de lnea de comandos. -Proceso de profundidad cada directory s contenidos antes de que el propio directorio. D-Un sinnimo de profundidad, para la compatibilidad con FreeBSD, NetBSD, MacOS X y OpenBSD. Las opciones de seguir y daystart son diferentes en este respecto, y tienen un efecto slo en las pruebas que aparecen ms adelante en la lnea de comandos. Por lo tanto, para mayor claridad, es mejor colocarlos en el principio de la expresin. Una advertencia si usted dona t hacer esto. Si la expresin no contiene otras acciones que-ciruela, de impresin es formado en todos los archivos para los que la expresin es verdadera. De seguir Obsoleto, el uso de la opcin-L en su lugar. Eliminar la referencia simblica enlaces. Implica-noleaf. La opcin de seguir slo afecta a las pruebas que aparecen despus de que la lnea de comandos. A menos que el H- o la opcin-L se ha especificado, la posicin de la de seguir opcin cambia el comportamiento de los ms nuevospredicado; los archivos aparece como el argumento de la ms reciente-se desreferencia si son enlaces simblicos. La misma consideracin se aplica a anewer y cnewer. Del mismo modo, el predicado de tipo siempre coincidir contra el tipo de archivo que apunta un enlace simblico en lugar del propio enlace. Uso de seguir hace que el lname predicados y ilname siempre devolver false. -Help, - help Imprimir un resumen del uso de lnea de comandos de encontrar y de salida.

15

GARDUO ZAVALA ELIZABETH 6301


De seguir obsoleto, el uso de la opcin-L en su lugar. Eliminar la referencia simblica enlaces. Implica-noleaf. La opcin de seguir slo afecta a las pruebas que aparecen despus de que la lnea de comandos. A menos que el H- o la opcin-L se ha especificado, la posicin de la de seguir opcin cambia el comportamiento de los ms nuevos-predicado; los archivos aparece como el argumento de la ms reciente-se desreferencia si son enlaces simblicos. La misma consideracin se aplica a anewer y cnewer. Del mismo modo, el predicado de tipo siempre coincidir contra el tipo de archivo que apunta un enlace simblico a en lugar del propio enlace. Uso de seguir hace que el lname- predicados y ilname siempre devolver false. -Ignore_readdir_race. Normalmente, encontrar emitir un mensaje de error cuando no se hablan un archivo. Si usted le da esta opcin y se elimina un archivo entre el tiempo de encontrar lee el nombre del archivo del directorio y el tiempo que se trata de estadsticas del archivo, ningn mensaje de error se emitidos. Esto tambin se aplica a los archivos o directorios cuyos nombres se dan en la lnea de comandos. Esta opcin tiene efecto en la tiempo la lnea de comandos que se lee, lo que significa que no se puede la bsqueda de una parte del sistema de archivos con esta opcin y parte de l con esta opcin (en caso de que usted necesita hacer eso, usted necesidad de emitir dos rdenes encontrar su lugar, una con la opcin y uno sin ella). -Maxdepth niveles Descenso en la mayora de los niveles (un entero no negativo) niveles de direccin por debajo de la lnea de comandos. ~-maxdepth, slo se aplican las pruebas y las acciones a los argumentos de lnea de comandos. -Mindepth niveles. No aplica ningn tipo de pruebas o acciones en niveles inferiores a los niveles (un entero no negativo). mindepth medios proceso todos los archivos excepto en los argumentos de lnea de comandos. De montaje Don t directorios descender en otros sistemas de archivos. Los suplentes nombre-xdev, para la compatibilidad con otras versiones de encontrar. -Noignore_readdir_race. Desactiva el efecto de-ignore_readdir_race. -Noignore_readdir_race. Desactiva el efecto de-ignore_readdir_race. -Noleaf. No optimizar al asumir que los directorios contienen dos menos subdirectorios que su nmero de enlaces duros. Esta opcin es necesaria cuando se busca sistemas de archivos que no siguen el sistema Unix convencin de la gua de enlace, como el CD-ROM o sistemas de archivos MS-DOS o el volumen AFS puntos de montaje. Cada directorio en una normal de Unix sistema de archivos tiene al menos dos enlaces duros: su nombre y a su entrada. Adems, sus subdirectorios (si los hay) tienen cada uno una entrada de un vinculados a ese directorio. Cuando encontramos es examinar las de la gua, despus de que haya statted dos subdirectorios menos que el directorio nmero de enlaces, se sabe que el resto de las entradas el directorio no son directorios (Leafa archivos en el directorio rbol). Si slo los nombres de FILESA deben ser examinados, no se sin necesidad de estadsticas, lo que da un aumento significativo en bsqueda de velocidad. -Regextype tipo Cambia la sintaxis de las expresiones regulares entiende por expresiones regulares y -Iregex pruebas que se presentan ms adelante en la lnea de comandos. En la actualidadtipos implementados son emacs (este es el valor predeterminado), posix-awk, posix-base, posix egrep-y extendi posix. -Versin, - la versin Imprimir el encontrar el nmero de versin y sale.

16

GARDUO ZAVALA ELIZABETH 6301

-Advierto-nowarn Activar los mensajes de advertencia encendido o apagado. Estas advertencias se aplican slo a el uso de lnea de comandos, no a las condiciones que podra encontrar encuentro cuando busca los directorios. El comportamiento por defecto corresponde a advertir si la entrada estndar es un tty, y nowarnde otra manera. -Xdev Don t directorios descender en otros sistemas de archivos. PRUEBAS argumentos numricos se puede especificar como + N mayor que n, -N para el menor que n, n exactamente n. -Amin n El archivo fue por ltima vez hace n minutos visitada. -Anewer archivo El archivo que se ha accedido por ltima vez ms recientemente que el archivo fue modificado. Si archivo es un enlace simblico y la opcin-H o la opcin-L se encuentra en efecto, el tiempo de acceso del archivo al que apunta siempre se utiliza. -Atime n * El archivo fue accedido por ltima vez n hace 24 horas. Cuando se da cuenta de encontrar el nmero de perodos de 24 horas hace que el archivo se accede por ltimo, cualquier parte decimal es ignorado, por lo que para que coincida con-atime 1, un archivo tiene que han sido visitada por lo menos hace dos das. -Cmin n FILEA s estado fue modificada por ltima vez hace n minutos. -Cnewer archivo FILEA s estado fue modificada por ltima vez ms recientemente que el archivo fue modificalificado. Si el archivo es un enlace simblico y la opcin-H o la Lopcin es, en efecto, el tiempo de cambio de estado del archivo que seala siempre se utiliza. -Ctime n FILEA s estado se cambi por ltima vez * n hace 24 horas. Vea los comentarios -atime para entender cmo afecta a la interpretacin de redondeo de los tiempos de cambio de archivo de estado. Archivo vaco est vaco y es un archivo regular o un directorio.

17

GARDUO ZAVALA ELIZABETH 6301

-Siempre falsa falsa. -Fstype tipo El archivo est en un sistema de ficheros de tipo tipo. El sistema de ficheros vlido tipos varan entre las diferentes versiones de Unix, una lista incompleta de los tipos de sistema de archivos que son aceptados en alguna versin de Unix o otra es: ufs, 4.2, 4.3, nfs, tmp, mfs, S51K, S52K. Usted puede uso printf con la directiva% F para ver los tipos de sistemas de archivos. -Gid n FILEA s ID de grupo numrico n. Grupo gname El archivo pertenece a gname grupo (GID numrico permitido). -Ilname patrn Al igual que-lname, pero el partido es sensible a maysculas. Si la Lopcin o la opcin de seguir es, en efecto, esto devuelve la prueba falsa a menos que el enlace simblico se rompe. -Iname patrn Al igual nombre-, pero el partido es sensible a maysculas. Por ejemplo, la patrones de ~ de * y ~ F?? coincidir con los nombres de archivo ~ Foo , ~ FOO, ~ foo , ~ fOo, etc En estos modelos, a diferencia de nombre de archivo expansinsin por el shell, un . puede ser igualada por * . Que es decir, barra de bsqueda de nombre * coincidir con el archivo ~. foobar . Tenga en cuenta que se debe citar patrones como cuestin de rutina, de lo contrario la cscara se ampliar los caracteres comodn en ellos. -Inum n El archivo tiene el nmero de nodo-i n. Normalmente es ms fcil utilizar el La prueba samefile lugar. -Patrn iPath Se comporta de la misma manera que-iwholename. Esta opcin es deprecado, as que por favor no lo use. -Iregex patrn Como-regex, pero el partido es sensible a maysculas. -Iwholename patrn Al igual que-wholename, pero el partido es sensible a maysculas. -Links n El archivo tiene n enlaces. -Lname patrn El archivo es un enlace simblico cuyo contenido coincida con palmaditas patrn de

18

GARDUO ZAVALA ELIZABETH 6301


concha

golondrina de mar. Los metacaracteres no tratan ~ / o ~. especialmente. Si la opcin-L-o la opcin de seguir es, en efecto, esta prueba declaraciones falsas a menos que el enlace simblico se rompe. -Mmin n FILEA s de datos fue modificada por ltima vez hace n minutos. -Mtime n FILEA s de datos fue modificada por ltima vez hace n * 24 horas. Vea los comentarios -atime para entender cmo afecta a la interpretacin de redondeo de los tiempos de modificacin del archivo -Nombre del patrn Base del nombre del archivo (la ruta de acceso a los principales directorios eliminado) coincide con el patrn del shell patrn. Los metacaracteres ( ~ * , ~? y ~ [] ) coinciden con un ~. al inicio del nombre de la base (Se trata de un cambio en findutils-4.2.2, vase la seccin NORMAS CONDESEMPEO abajo). Hacer caso omiso de un directorio y los archivos debajo de l, uso podar; ver un ejemplo en la descripcin de-wholename. Los apoyos no son reconocidas como especiales, a pesar de que algunas conchas como imbuir golpe de llaves con un especial sentido en los patrones de la cscara. El nombre del archivo correspondiente se realiza con el uso de la fnmatch (3) la funcin de biblioteca. Dona t olvidar para incluir el patrn entre comillas con el fin de protegerlo de la expansin de la concha. -Archivo ms reciente El archivo fue modificado ms recientemente que el archivo. Si el archivo es un simopcin de opcin de enlace simblico y el H-o la L-es, en efecto, el hora de modificacin del archivo al que apunta siempre se utiliza. -Nouser El usuario no se corresponde con FILEA s ID numrico de usuario. -Nogroup Ningn grupo se corresponde con FILEA s ID de grupo numrico. -Patrn de trayectoria Ver-wholename. El predicado de la ruta tambin es compatible con HP-UX encontrar. -Modo permanente FILEA s bits de permiso son exactamente el modo (octal o simblica). Desde un resultado exacto se requiere, si desea utilizar este formulario para los modos simblicos, puede que tenga que especificar un lugar complejo modo de cadena. Por ejemplo, un g -perm = w slo coincidir con los archivos que el modo de 0020 (es decir, aquellos para los que escriben por grupomisin es el nico permiso del escenario). Es ms probable que se desea utilizar el / o , formas, por ejemplo, un permanente-g = w ,

19

GARDUO ZAVALA ELIZABETH 6301


que coincide con cualquier archivo con el grupo de permiso de escritura. Consulte la EJEMPLOS seccin para ver algunos ejemplos ilustrativos. -Permanente-el modo de Todo el modo de bits de permiso se establecen para el archivo. Simblica modos son aceptados en este formulario, y esto es por lo general la forma en que desee utilizarlos. Debe especificar u , g o oA si utiliza un modo simblico. Vea la seccin de Ejemplos de algunos ejemplos ilustrativos. -Perm / modo de Cualquiera de los bits de modo de permiso se establecen para el archivo. Simblica modos son aceptados en este formulario. Debe especificar u , g o oA si se utiliza un modo simblico. Vea la seccin de Ejemplos de algunos ejemplos ilustrativos. Si no hay bits de permiso en el modo se conjunto, esta prueba en la actualidad coincide con ningn archivo. Sin embargo, ser pronto se cambi para adaptarse a cualquier archivo (la idea es ser ms conconsistente con el comportamiento de la ondulacin permanente -000). -Perm modo + Obsoleta, vieja manera de buscar archivos con cualquiera de las perbits de misin en el modo de ajuste. Usted debe usar-perm / modo de lugar. Tratar de utilizar el + con la sintaxis de los modos de produccin simblicasurresultados de premiacin. Por ejemplo, + u + xa es un modo simblico vlido (Equivalente a + u, + x, es decir, 0111) y por lo tanto no se evauated como-+ modo permanente, sino como el especificador de modo exacto modo permanente-y para que coincida con los archivos con permisos exactos 0.111 en lugar de archivos con cualquier bit de ejecucin establecido. Si has encontrado esta prrafo confuso, you re no solo - slo tiene que utilizar-perm / modo. Esta forma de probar la ondulacin permanente-est en desuso debido a que el POSIX especificacin requiere la interpretacin de una de las principales + como ser parte de un modo simblico, y as pasamos de usar / en su lugar. -Regex patrn Nombre de archivo coincide con el patrn de expresin regular. Este es un partido en la ruta de acceso completa, no una bsqueda. Por ejemplo, para que coincida con un archivo llamado ~ ./fubar3 , puede utilizar la expresin regular ~ .* bar. o ~ .* b. * 3A , pero no ~ f * R3A . Las expresiones regulares entiende por encontrar son de forma predeterminada Emacs expresiones regulares, pero esto puede cambiarse con la opcin regextype. -Nombre samefile El archivo se refiere a la inodo mismo nombre. Al-L es, en efecto, esto puede incluir enlaces simblicos. De tamao n [cwbkMG] El archivo utiliza n unidades de espacio. Los sufijos pueden utilizar los siguientes: ~ B para los bloques de 512 bytes (este es el valor por defecto si no es el sufijo

20

GARDUO ZAVALA ELIZABETH 6301


se utiliza) ~ ca de bytes ~ w las palabras de dos bytes ~ K para Kilobytes (unidades de 1024 bytes) ~ ma para Megabytes (unidades de 1048576 bytes) ~ GA para Gigabytes (unidades de 1,073,741,824 bytes) El tamao no cuenta bloques indirectos, pero s tiene importancia bloques en archivos dispersos que no estn realmente asignados. Hay que tener en cuenta que el ~% K y ~ B% especificadores de formato-printf manejar archivos dispersos de manera diferente. El ~ B sufijo denota siempre 512 bloques de bytes y no bloques de 1 kilobyte, que es diferente con el comportamiento de-ls. -Siempre es verdad verdadera. De tipo c El archivo es de tipo c: b bloque (buffer) especial carcter c (unbuffered) especial d directorio p tubera con nombre (FIFO) f fichero regular l enlace simblico, esto nunca es verdad si la opcin-L o el -Siga la opcin est en vigor, a menos que el enlace simblico es rota. Si desea buscar los enlaces simblicos al-L es, en efecto, de uso xtype. s zcalo puerta D (Solaris) -Uid n FILEA s ID numrico de usuario es n. -Utiliza n Archivo ltima n das despus de acceder a su estado fue modificada por ltima vez. Usuario uname El archivo es propiedad de uname usuario (identificador numrico de usuario autorizado). -Wholename patrn Nombre de archivo coincide con el patrn del shell patrn. Los metacaracteres hacer

21

GARDUO ZAVALA ELIZABETH 6301


No se trate ~ / o ~ especialmente;. as que, por ejemplo, encontrar. -Wholename . / Sr * sca % B La cantidad de espacio en disco utilizado para este archivo de 512 bytes bloques. Dado que el espacio en disco es asignado en mltiplos de la Tamao del sistema de ficheros bloque de esto es generalmente mayor que % S/512, pero tambin puede ser menor si el archivo es un archivo disperso. % C FILEA s por ltima vez el cambio de estado en el formato que devuelve la C ~ funcin ctime. Ck% FILEA s por ltima vez el cambio de estado en el formato especificado por k, que es lo mismo que para% A. % D FILEA s de profundidad en el rbol de directorios; 0 significa que el archivo es un argumento de lnea de comandos. D% El nmero de dispositivo en el que el archivo existe (el dev_t mbito de la estructura de estadsticas), en decimal. % B La cantidad de espacio en disco utilizado para este archivo de 512 bytes bloques. Dado que el espacio en disco es asignado en mltiplos de la Tamao del sistema de ficheros bloque de esto es generalmente mayor que % S/512, pero tambin puede ser menor si el archivo es un archivo disperso. % C FILEA s por ltima vez el cambio de estado en el formato que devuelve la C ~ funcin ctime. Ck% FILEA s por ltima vez el cambio de estado en el formato especificado por k, que es lo mismo que para% A. % D FILEA s de profundidad en el rbol de directorios; 0 significa que el archivo es un argumento de lnea de comandos. D% El nmero de dispositivo en el que el archivo existe (el dev_t mbito de la estructura de estadsticas), en decimal. % F FILEA s con nombre de los directorios iniciales eliminados (slo el ltimo elemento). % F FILEA s con nombre de los directorios iniciales eliminados (slo el ltimo elemento). G% FILEA s el nombre del grupo o ID de grupo numrico si el grupo ha sin nombre. % G FILEA s ID de grupo numrico. % H principales directorios de FILEA nombre s (todos menos los elementos de ltima cin). Si el nombre del archivo no contiene barras diagonales (ya que es en el directorio actual) el especificador% h se expande a ".."

22

GARDUO ZAVALA ELIZABETH 6301

% H argumento de lnea de comandos en el archivo que se encontr. % I FILEA s inodo nmero (en decimal). % K La cantidad de espacio en disco utilizado para este archivo en bloques de 1K. Dado que el espacio en disco es asignado en mltiplos de la Tamao del sistema de ficheros bloque de esto es generalmente mayor que % S/1024, pero tambin puede ser menor si el archivo es un archivo disperso. Objeto% l de enlace simblico (cadena vaca si el archivo no es un enlace simblico).

% M FILEA s bits de permiso (en octal). Esta opcin utiliza el traditional nmeros que la mayora de las implementaciones de Unix uso, pero si su aplicacin utiliza un particular inusual orden de los bits de permisos octales, ver una diferencia entre el valor real de los s FILEA modo y la salida de% m Normalmente, usted querr tener un cero a la izquierda en este nmero, y para ello, debe utilizar el indicador # (como, por ejemplo, % # m ). % M FILEA s permisos (en forma simblica, en cuanto a ls). Este Directiva es compatible con findutils 4.2.5 y versiones posteriores. Nmero% n de enlaces duros del archivo. % P FILEA s nombre. % P FILEA s nombre con el nombre del argumento de la lnea de comandos en las que se encuentran eliminados. % S FILEA s el tamao en bytes. % T FILEA s el tiempo de la ltima modificacin en el formato que devuelve la C ~ funcin ctime. % M FILEA s bits de permiso (en octal). Esta opcin utiliza el traditional nmeros que la mayora de las implementaciones de Unix uso, pero si su aplicacin utiliza un particular inusual orden de los bits de permisos octales, ver una diferencia entre el valor real de los s FILEA modo y la salida de% m Normalmente, usted querr tener un cero a la izquierda en este nmero, y para ello, debe utilizar el indicador # (como, por ejemplo, % # m ). % M FILEA s permisos (en forma simblica, en cuanto a ls). Este Directiva es compatible con findutils 4.2.5 y versiones posteriores. Nmero% n de enlaces duros del archivo.

23

GARDUO ZAVALA ELIZABETH 6301

% P FILEA s nombre. % P FILEA s nombre con el nombre del argumento de la lnea de comandos en las que se encuentran eliminados. % S FILEA s el tamao en bytes. % T FILEA s el tiempo de la ltima modificacin en el formato que devuelve la C ~ funcin ctime. La m% y% d directivas apoyar el #, 0 + y banderas, pero el otras directivas no, incluso si se imprimen los nmeros. Numricos directivas que no son compatibles con estos indicadores incluyen G, U, B, D, K y n. El ~ -bandera formato es compatible y cambia la alineacin cin de un campo de justificado a la derecha (que es el valor predeterminado) para justificado a la izquierda. Vea la seccin INSOLITO nombres de archivo para obtener informacin acerca de cmo caracteres inusuales en nombres de archivos se manejan. -Si podar a fondo no se da, es cierto, si el archivo es un directorio, no descienden en ella. Si a fondo se da, falsa, sin efecto. -Salir salir inmediatamente. No hay procesos hijos se deja en funcionamiento, pero hay caminos ms especificado en la lnea de comandos sern procesados. Por ejemplo, encontrar / tmp / foo / tmp / bar-impresin-dejar de fumar slo se imprimirn / Tmp / foo. Cualquier lnea de comandos que se han construido con -Execdir ... {} + Se invoca antes de encontrar salidas. La salida el estado puede o no puede ser cero, dependiendo de si un error ha ya se ha producido. INSOLITO nombres de archivo Muchas de las acciones de leer el resultado en la impresin de los datos que se bajo el control de otros usuarios. Esto incluye los nombres de archivo, tamaos, tiempos de modificacin y as sucesivamente. Los nombres de archivo son un problema potencial ya que puede contener cualquier carcter excepto \ 0A y / . Inslito caracteres en nombres de archivo puede hacer cosas inesperadas e indeseables a menudo a su terminal (por ejemplo, cambiar la configuracin de su funcin teclas en algunos terminales). personajes originales se manejan de manera diferente por diversas acciones, como se describe a continuacin. -Print0,-fprint0 Imprima siempre el nombre exacto, sin cambios, incluso si la salida es ir a un terminUNUSUAL nombres de archivo Muchas de las acciones de leer el resultado en la impresin de los datos que se bajo el control de otros usuarios. Esto incluye los nombres de archivo, tamaos, tiempos de modificacin y as sucesivamente. Los nombres de archivo son un problema potencial ya que puede contener cualquier carcter excepto \ 0A y / . Inslito caracteres en nombres de archivo puede hacer cosas inesperadas e indeseables a menudo

24

GARDUO ZAVALA ELIZABETH 6301


a su terminal (por ejemplo, cambiar la configuracin de su funcin teclas en algunos terminales). personajes originales se manejan de manera diferente por diversas acciones, como se describe a continuacin. -Print0,-fprint0 Imprima siempre el nombre exacto, sin cambios, incluso si la salida va a una terminal. -Ls-fls personajes inusuales son siempre escap. El espacio en blanco, la barra invertida, y los caracteres de comillas dobles se imprimen con estilo C escapar (Por ejemplo: \ fa , ). Otros se imprimen caracteres extraos utilizando una va de escape octal. Otros caracteres imprimibles (por-ls y -Fls estos son los personajes entre octal 041 y 0176) son impresos como son. -Ls-fls personajes inusuales son siempre escap. El espacio en blanco, la barra invertida, y los caracteres de comillas dobles se imprimen con estilo C escapar (Por ejemplo: \ fa , ). Otros se imprimen caracteres extraos utilizando una va de escape octal. Otros caracteres imprimibles (por-ls y -Fls estos son los personajes entre octal 041 y 0176) son impresos como son. -Printf, fprintfSi la salida no va a una terminal, que se imprime tal cual. De lo contrario, el resultado depende de la directiva est en uso. La % de las directivas D, F%,% g,% G,% H,% Y, y% y ampliar a los valores que ni se encuentran bajo el control de FILESA propietarios, y as se imprimen comoes. Las directivas% a,% b,% c,% d,% i,% k, m%,% H,% n,% s, t%, % u% U y tienen valores que estn bajo el control de FILESA propia res, pero que no se puede utilizar para enviar datos arbitrarios a la terterminal, y por lo que estos impresos son tal cual. Las directivas% f,% h, L%, p% y% P se cita. Esta cita se realiza en el mismo forma que para ls de GNU. Este no es el mismo mecanismo citando como el utilizado para la LS y fls. Si usted es capaz de decidir qu formato a utilizar para la produccin de encontrar, entonces es normalmente mejor utilizar un \ 0 como un terminador de utilizar de nueva lnea, como nombres de archivo puede contener espacios en blanco y caracteres de nueva lnea. -Print,-fprint Citando se maneja de la misma manera que para la printf y fprintf. Si usted est usando encuentran en una secuencia de comandos o en una situacin en la que archivos encontrados pueden tener nombres arbitrarios, usted debe considerar con-print0 lugar de impresin. Las acciones-ok y okdir imprimir el nombre del archivo actual como est. Esto puede cambio en una versin futura.

al.

25

GARDUO ZAVALA ELIZABETH 6301


OPERADORES Enumerados en orden decreciente de precedencia: OPERADORES Enumerados en orden decreciente de precedencia: (Expr) prioridad de la Fuerza. ! expr Verdadero si expr es falsa. -No expr Igual! expr, pero no compatible con POSIX. expr1 expr2 Dos expresiones en una fila se toman a unir con una implcita "Y"; expr2 no se evala si expr1 es falsa. expr1-a expr2 Lo mismo que expr1 expr2. expr1 y expr2 Lo mismo que expr1 expr2, pero no compatible con POSIX. expr1, expr2 Lista, ambas expr1 y expr2 se evalan siempre. El valor de expr1 se descarta, el valor de la lista es el valor de expr2. El operador coma puede ser til para la bsqueda de diferentes tipos de cosas, pero que atraviesa el sistema de archivos jerarqua de una sola vez. La accin de la fprintf se pueden utilizar a la lista los diversos temas encontrados en varios archivos de salida diferentes. Conformidad con normas Las siguientes opciones se especifican en el estndar POSIX (IEEE Std 1003.1 Edicin de 2003): Esta opcin-H es compatible. -L Esta opcin es compatible. El estndar POSIX requiere que El hallazgo de utilidad deber detectar bucles infinitos, es decir, entrar en un directorio visitado con anterioridad que es un antepasado de los ltimos archivo encontrado. Cuando se detecta un bucle infinito, se encuentra escribir un mensaje de diagnstico en el error estndar y deber, o bien recuperar su posicin en la jerarqua o terminar. El nmero de enlaces de los directorios que contienen las entradas que son difciles de enlaces a un ancestro con frecuencia ser menor de lo que lo debe ser. Esto puede significar que GNU encontrar a veces optimizar las visitas

26

GARDUO ZAVALA ELIZABETH 6301


de un directorio que es en realidad un enlace a un antepasado. Desde encontrar en realidad no entrar en un subdirectorio, se permite evitar que emite un mensaje de diagnstico. Aunque este comportamiento puede ser algo confuso, es poco probable que alguien en realidad depende de esta comportamiento. Si la optimizacin de la hoja se ha apagado con-noleaf, la entrada del directorio siempre sern examinadas y el mensaje de diagnstico se publicar en los que conviene. Los enlaces simblicos no se pueden utilizar para crear ciclos de sistema de archivos, como tal, pero si la opcin-L-o-siopcin de bajo est en uso, un mensaje de diagnstico se emite cuando se encuentra encuentros un bucle de enlaces simblicos. Al igual que con los lazos que contienen enlaces duros, la optimizacin de la hoja a menudo significa que encontrar sabe que doesn t necesita llamar a stat () o chdir () en el enlace simblico, por lo que este diagnstico con frecuencia no es necesario. La opcin-d se admite para la compatibilidad con distintos sistemas BSD, pero usted debe usar la opcin compatible con POSIX a fondo en su lugar. La variable de entorno POSIXLY_CORRECT no afecta el comportamiento de las pruebas de la expresin regular-o-iregex porque esas pruebas aren se especifica en el estndar POSIX. VARIABLES DE ENTORNO LANG Proporciona un valor por defecto para las variables de internacionalizacin que desarmar o nula. LC_ALL Si se establece en un valor de cadena no vaca, reemplace los valores de todos las variables de internacionalizacin otros. LC_COLLATE El estndar POSIX especifica que esta variable afecta a la pat se pongan en venta golondrina de mar que se utilizarn para la opcin de NAMEA. GNU encontrar usos la fnmatch (3) la funcin de biblioteca, por lo que el apoyo a LC_COLLATE depende de la biblioteca del sistema. POSIX especifica tambin que el LC_COLLAT variable de entorno afecta a la interpretacin de los user una respuesta a la consulta expedido por ~ -Oka, pero esto no es el caso de GNU encontrar. LC_CTYPE Esta variable afecta el tratamiento de las clases de caracteres utilizados con VARIABLES DE ENTORNO LANG Proporciona un valor por defecto para las variables de internacionalizacin que desarmar o nula. LC_ALL Si se establece en un valor de cadena no vaca, reemplace los valores de todos las variables de internacionalizacin otros. LC_COLLATE El estndar POSIX especifica que esta variable afecta a la pat- se pongan en venta golondrina de mar que se utilizarn para la opcin de ~ -NAMEA. GNU encontrar usos la fnmatch (3) la funcin de biblioteca, por lo que el apoyo a LC_COLLATE depende de la biblioteca del sistema. POSIX especifica tambin que el ~ LC_COLLATE variable de entorno afecta a la interpretacin de los s userA respuesta a la consulta expedido por ~ -Oka, pero esto no es el caso de GNU encontrar. LC_CTYPE Esta variable afecta el tratamiento de las clases de caracteres utilizados con la prueba

27

GARDUO ZAVALA ELIZABETH 6301


~-NAMEA , si los sistemas a fnmatch s (3) funciones de biblioteca compatible con esta. No tiene ningn efecto sobre el comportamiento de la expresin oka, si la funcin System fnmatch la coleccin compatible con esta. No tiene ningn efecto sobre el comportamiento de la expresin oka. LC_MESSAGES Determina la configuracin regional que se utiliza para los mensajes internacionalizados. NLSPATH Determina la ubicacin del gato mensaje de internacionalizacin alogues. Afecta el PATH los directorios que se buscan para encontrar el ejecutables invocada por okdir POSIXLY_CORRECT Determina el tamao de bloque utilizado por POSIXLY_CORRECT se establece, los bloques son unidades de 512 bytes. Otros- que son unidades de 1024 bytes. TZ afecta a la zona horaria utilizada para algunos de los formatos de horas directivas de-printf y fprintf. FALLOS La prueba-perm / 000 partidos en la actualidad no hay archivos, pero de una mayor consistencia con permanencia, esto ser cambiado para que coincida con todos los archivos, lo que cambio probablemente se har a principios de 2006. Hay problemas de seguridad inherentes en el comportamiento que el POSIX norma especifica para encontrar, por lo que no puede ser arreglado. Por ejemplo, la accin-exec es inherentemente inseguro, y debe-execdir utilizar en su lugar. Por favor, consulte Bsqueda de archivos para obtener ms informacin. Hay problemas de seguridad inherentes en el comportamiento que el POSIX norma especifica para encontrar, por lo que no puede ser arreglado. Por ejemplo, la accin-exec es inherentemente inseguro, y debe-execdir utilizar en su lugar. Por favor, consulte Bsqueda de archivos para obtener ms informacin. C) ATOF ATOL ATOI NOMBRE atoi, atol, atoll, atoq Convierte una cadena a un entero SINOPSIS #include <stdlib.h> int atoi(const char *nptr); long atol(const char *nptr); long long atoll(const char *nptr); long long atoq(const char *nptr); DESCRIPCIN El atoi () convierte la porcin inicial de la cadena apuntada por nptr a int. El comportamiento es el mismo que strtol(nptr, (char **)NULL, 10); excepto que atoi () no detecta errores.

28

GARDUO ZAVALA ELIZABETH 6301

El atol () y atol () funciones se comportan igual que atoi (), salvo que convertir la porcin inicial de la cadena de su tipo de valor devuelto de largo o largo plazo. Atoq () es un nombre obsoleto para atoln (). NOTAS El Atoq no estndar () no est presente en libc o glibc 4.6.272, pero est presente en libc5 y libc 4.7 (aunque slo como una funcin en lneacin en <stdlib.h> hasta libc 5.4.44). El atoln () se presentan en glibc 2 desde la versin 2.0.2, pero no en libc4 y libc5. Diccionario NOMBRE atoi, atol, atoll, atoq Convierte una cadena a un entero. SINOPSIS #include <stdlib.h> int atoi(const char *nptr); long atol(const char *nptr); long long atoll(const char *nptr); long long atoq(const char *nptr);

DESCRIPCIN El atoi () convierte la porcin inicial de la cadena apuntada por nptr a int. El comportamiento es el mismo que (nptr, (char **) NULL, 10) strtol; excepto que atoi () no detecta errores. El atol () y atol () funciones se comportan igual que atoi (), salvo que convertir la porcin inicial de la cadena de su tipo de valor devuelto de largo o largo plazo. Atoq () es un nombre obsoleto para atoln (). NOTAS El Atoq no estndar () no est presente en libc o glibc 4.6.272, pero est presente en libc5 y libc 4.7 (aunque slo como una funcin en lneacin en <stdlib.h> hasta libc 5.4.44). El atoln () se presentan en glibc 2 desde la versin 2.0.2, pero no en libc4 y libc5. VALOR DEVUELTO El valor convertido. NOMBRE ATOF

29

GARDUO ZAVALA ELIZABETH 6301


Convierte una cadena a double SINOPSIS #include <stdlib.h> double atof(const char *nptr); DESCRIPCIN El atof () convierte la porcin inicial de la cadena apuntada por nptr a doble. El comportamiento es el mismo que (nptr, (char **) NULL) strtod; salvo que atof () no detecta errores. VALOR DEVUELTO El valor convertido.

30

You might also like