.\" Copyright (c) 1991 Free Software Foundation .\" Véase la sección COPYING para las condiciones de redistribución .\" .\" Traducida por Pedro Pablo Fábrega, Octubre 98 " .\" Translation slightly modified by Gerardo Aburruzaga García .\" on April 21 1999 .\" .TH ar 1 "5 de Noviembre de 1991" "Cygnus support" "Herramientas de desarrollo de GNU" .de BP .sp .ti \-.2i \(** .. .SH NOMBRE ar \- crea, modifica y extrae de archivos .SH SINOPSIS .hy 0 .na .BR ar " [\|" "-" "\|]"\c .I {dmpqrtx}[abcilosSuvV] \c [\|\c .I nombre_miembro\c \&\|] \c .I archivo\c \& \c .I ficheros\c \&.\|.\|. .ad b .hy 1 .SH DESCRIPCIÓN El programa de GNU \c .B ar\c \& crea, modifica, y extrae de archivos. Un \c .I archivo\c \& es un simple fichero que contiene un conjunto de otros ficheros en una estructura que hace posible recuperar los ficheros individuales originales (llamados \c .I miembros\c \& del archivo). El contenido de los ficheros originales, modos (permisos), tiempos, propietario y grupo se mantienen en el archivo, y se pueden reconstituir en la extracción. El programa .B ar \c de GNU \c \& puede mantener ficheros cuyos miembros tengan nombres de cualquier longitud; sin embargo, dependiendo de cómo se configure \c .B ar\c \& en su sistema, se puede imponer un límite a la longitud de los nombres de los miembros (para compatibilizar con formatos de archivo mantenidos por otras herramientas). Si existe, el límite es frecuentemente 15 caracteres (típico de formatos referidos a a.out) ó 16 caracteres (típico de formatos relacionados con COFF). \c .B ar\c \& se considera una utilidad binaria porque los archivos de esta forma son usados con más frecuencia como \c .I bibliotecas\c \& que contienen las subrutinas necesarias. \c .B ar\c \& creará un índice hacia los símbolos definidos en los módulos objetos reubicables del archivo cuando especifique el modificador `\|\c .B s\c \|'. Una vez creado, este índice se actualiza en el archivo cuando \c .B ar\c \& efectúa un cambio en sus contenidos (guardados para la operación de actualización `\|\c .B q\c \|'). Un archivo con tal índice acelera el enlace para la biblioteca, y permite que las rutinas de la biblioteca se llamen unas a otras sin importar su situación en el archivo. Puede usar `\|\c .B nm \-s\c \|' o `\|\c .B nm \-\-print\-armap\c \|' para obtener una lista de estas tablas de índices. Si un archivo carece de la tabla, se puede emplear otra forma de \c .B ar\c \& llamada \c .B ranlib\c \& para añadir la tabla. \c .B ar\c \& insiste en recibir al menos dos argumentos para ejecutarse: uno, la letra que especifica la \c .I operación\c \& (opcionalmente acompañada por otras letras que especifican los \c .I modificadores\c \&), y el nombre del archivo sobre el que actuar. Muchas operaciones pueden también aceptar más argumentos \c .I fichero\c \& que especifican ficheros particulares para operar. .SH OPCIONES El programa \c .B ar \c de GNU \c \& le permite mezclar el código de operación \c .I p\c \& y opciones \c modificadoras .I mod\c \& en cualquier orden, con el primer argumento de la línea de mandatos. Si quiere, puede comenzar el primer argumento de la línea de órdenes con un signo menos. La letra \c .I p\c \& especifica qué operación ejecutar; puede ser cualquiera de las siguientes, pero debe especificar sólo una de ellas: .TP .B d \c .I Borra (\fBd\fPelete)\c \& módulos del archivo. Especifica los nombres que serán eliminados como \c .I ficheros\c \&; el archivo permanece intacto si no especifica ficheros para borrar. Si especifica el modificador `\|\c .B v\c \|', \c .B ar\c \& mostrará cada módulo que se borre. .TP .B m Use esta operación para \c .I mover\c \& miembros de un archivo. La ordenación de los miembros de un archivo puede originar diferencias en cómo los programas se enlazan al usar la biblioteca, si un símbolo está definido en más de un miembro. Si no se usan modificadores con \c .B m\c \&, cualquier miembro que nombre en los argumentos \c .I ficheros\c \& se mueven al \c .I final\c \& del archivo; puede usar los modificadores `\|\c .B a\c \|', `\|\c .B b\c \|', o `\|\c .B i\c \|' para moverlos a las posiciones especificadas. .TP .B p \c .I Muestra (\fBp\fPrint)\c \& el miembro especificado del archivo en el fichero de salida estándar. Si se especifica el modificador, `\|\c .B v\c \|' muestra el nombre del miembro antes de copiarlo a la salida estándar. Si no especifica \c .I ficheros\c \&, se imprimen todos los ficheros del archivo. .TP .B q \c .I Añadido rápido (\fBq\fPuick append) \c \&; añade \c .I ficheros\c \& al final del \c .I archivo\c \&, sin comprobar posibles sustituciones. Los modificadores `\|\c .B a\c \|', `\|\c .B b\c \|', e `\|\c .B i\c \|' , \c .I no\c \& afectan a esta operación; los nuevos miembros siempre se sitúan al final del archivo. El modificador `\|\c .B v\c \|' hace que \c .B ar\c \& liste cada fichero que es añada. Como el objetivo de esta operación es la velocidad, la tabla índice de símbolos del archivo no se actualiza, incluso si existe; puede usar `\|\c .B ar s\c \|' o \c .B ranlib\c \& explícitamente para actualizar el índice de la tabla de símbolos. Sin embargo, demasiados sistemas diferentes suponen que el añadido rápido reconstruye el índice, por lo que .B ar de GNU implementa `\|\c .B q\c \|' como un sinónimo de `\|\c .B r\c \|'. .TP .B r Inserta \c .I ficheros\c \& en un \c .I archivo\c \& (con \c .I sustitución\c \&). Esta operación difiere de `\|\c .B q\c \|' en que cualesquiera miembros existentes se borran si sus nombres coinciden con los que son añadidos. Si uno de los ficheros nombrados en \c' .I ficheros\c \& no existe, \c .B ar\c \& muesta un mensaje de error, y deja intacto cualquier miembro que exista coincidiendo con ese nombre. Por omisión, los nuevos miembros se añaden al final del fichero; pero puede usar alguno de los modificadores `\|\c .B a\c \|', `\|\c .B b\c \|', o `\|\c .B i\c \|' para requerir una ubicación relativa a algún miembro existente. El modificador `\c .B v\c \|' utilizado con esta operación genera una línea de salida por cada fichero insertado, con una de estas letras `\|\c .B a\c \|' o `\|\c .B r\c \|' para indicar si el fichero fue añadido (no antiguos miembros borrados) o sustituido. .TP .B t Muestra una \c .I tabla\c \& que lista el contenido del \c .I archivo\c \&, o aquellos ficheros listados en \c .I ficheros\c \& que estén presentes en el archivo. Normalmente sólo se muestra el nombre del miembro; si también quiere ver los modos (permisos), tiempos, propietario, grupo y tamaño, puede pedirlo también especificando el modificador `\|\c .B v\c \|' . Si no especifica ningún \c .I fichero\c \&, se listan todos los ficheros del archivo. Si hay más de un fichero con el mismo nombre (digamos, `\|\c .B fie\c \|') en un archivo (digamos `\|\c .B b.a\c \|'), `\|\c .B ar t b.a fie\c \|' sólo listará la primera aparición; para verlos todos, tiene que solicitar un listado completo: en nuestro ejemplo, `\|\c .B ar t b.a\c \|'. .TP .B x \c .I Extrae\c \& miembros (llamados \c .I ficheros\c \&) del archivo. Puede usar el modificador `\|\c .B v\c \|' con esta operación, para solicitar que \c .B ar\c \& liste cada nombre mientras lo extrae. Si no especifica ningún \c .I fichero\c \&, se extraen todos los ficheros de este archivo. .PP Un número de modificadores (\c .I mod\c \&) puede seguir inmediatamente a la letra \c .I p\c \& para especificar variaciones en el comportamiento de la operación: .TP .B a Añade nuevos ficheros \c .I tras\c \& un miembro existente del archivo. Si usa el modificador \c .B a\c \&, tiene que estar presente el nombre de un miembro del archivo como argumento \c .I nombre-de-miembro, \c \& antes de la especificación de \c .I archivo\c \&. .TP .B b Añade nuevos ficheros \c .I antes \c \& de un miembro existente del archivo. Si usa el modificador \c .B b\c \&, tiene que estar presente el nombre de un miembro del archivo como argumento \c .IR nombre-de-miembro , antes de la especificación de \c .IR archivo . (igual que `\|\c .B i\c \|'). .TP .B c \c .I Crea\c \& el archivo. El \c .I archivo \c \& especificado siempre se crea si no existía, cuando se solicita una actualización. Pero se produce un aviso salvo que especifique previamente que espera crearlo usando este modificador. .TP .B f Trunca los nombres que hay en el archivo. .B ar normalmente permitirá nombres de ficheros de cualquier longitud. Esto ocasionará que se creen archivos que no son compatibles con el .B ar nativo de algunos sistemas. Si esto es de interés, el modificador .B f se puede usar para truncar los nombres de ficheros poniéndolos en el archivo. .TP .B i Inserta nuevos ficheros \c .I antes\c \& de un miembro existente del archivo. Si usa el modificador \c .B i\c \&, tiene que estar presente el nombre de un miembro existente del archivo como el argumento \c .I nombre_de_miembro\c \& antes de la especificación del \c .I archivo\c \& . (igual que `\|\c .B b\c \|'). .TP .B l Este modificador se acepta pero no se usa. .TP .B o Preserva las fechas \c .I originales\c \& de los miembros cuando se extraen. Si no especifica este modificador, los ficheros extraídos del archivo se marcarán con el instante de la extracción. .TP .B s Escribe un índice objeto-fichero en el archivo, o actualiza uno existente, incluso si no se han efectuado cambios en el archivo. Puede usar esta opción modificadora bien con operaciones o bien sola. Ejecutar `\|\c .B ar s\c \|' en un archivo es equivalente a ejecutar `\|\c .B ranlib\c \|' en él. .TP .B S No genera una tabla de símbolos del archivo. Esto puede acelerar la construcción de grandes bibliotecas en varios pasos. El archivo resultante no se puede usar con el enlazador. Para construir una tabla de símbolos, debe de omitir el modificador `\|\c .B S\c \|' en la última ejecución de `\|\c .B ar\c \|', o deberá ejecutar `\|\c .B ranlib\c \|' sobre el archivo. .TP .B u Normalmente, \c .B ar r\c \&.\|.\|. inserta todos los ficheros listados en el archivo. Si quisiera insertar \c .I sólo\c \& aquellos ficheros listados que son más recientes que los miembros existentes del mismo nombre, use este modificador. El modificador `\|\c .B u\c \|' se permite sólo para la operación `\|\c .B r\c \|' (\fBr\fPeplace, reemplazar). En particular, la combinación `\|\c .B qu\c \|' no se permite, ya que las verificaciones de los tiempos haría perder cualquier ventaja de velocidad de la operación `\|\c .B q\c \|'. .TP .B v Este modificador (\fBv\fPerbose) solicita la versión \c .I prolija\c \& de una operación. Muchas operaciones muestran información adicional, tales como nombres de ficheros procesados cuado se añade el modificador `\|\c .B v\c \|'. .TP .B V Este modificador muestra el número de versión de .BR ar . .PP .SH "VÉASE TAMBIÉN" La entrada del menú .RB "`\|" Binutils "\|'" en .B Info\c \&; .I Las Utilidades de Binarios de GNU\c , Roland H. Pesch (Octubre de 1991). .BR nm ( 1 )\c \&, .BR ranlib ( 1 )\c \&. .SH DERECHOS DE COPIA Copyright © 1991 Free Software Foundation, Inc. .PP Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. .PP Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. .PP Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be included in translations approved by the Free Software Foundation instead of in the original English. .PP N. del T.: Sólo tiene validez legal el aviso de copyright original. En el fichero fuente de esta página de manual puede encontar una traducción. .\" .PP .\" Se concede permiso para hacer y distribuir copias literales .\" de este manual proporcionando la nota de copyright y que esta nota de .\" permiso se mantenga en todas las copias. .\" .\" .PP .\" Se garantiza el permiso para copiar y distribuir versiones modificadas .\" de este manual bajo las condiciones de las copias literales, estipulando .\" que el todo el trabajo derivado se distribuya bajo los términos de una .\" nota de permisos idéntica a esta. .\" .\" .PP .\" Se garantiza el permiso para copiar y distribuir traducciones de .\" este manual a otra lengua, bajo las condiciones anteriores para versiones .\" modificadas, salvo que esta nota de permiso pueda se incluida en .\" traducciones aprobadas por la Free Software Foundation en lugar de la .\" original en Inglés.