NOMBRE¶
ar - crea, modifica y extrae de archivos
SINOPSIS¶
ar [
-]
{dmpqrtx}[abcilosSuvV] [
nombre_miembro]
archivo ficheros...
DESCRIPCIÓN¶
El programa de GNU
ar crea, modifica, y extrae de archivos. Un
archivo es un simple fichero que contiene un conjunto de otros ficheros
en una estructura que hace posible recuperar los ficheros individuales
originales (llamados
miembros 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
ar de GNU puede mantener ficheros cuyos miembros tengan
nombres de cualquier longitud; sin embargo, dependiendo de cómo se
configure
ar 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).
ar se considera una utilidad binaria porque los archivos de esta forma
son usados con más frecuencia como
bibliotecas que contienen las
subrutinas necesarias.
ar creará un índice hacia los símbolos definidos en
los módulos objetos reubicables del archivo cuando especifique el
modificador `
s'. Una vez creado, este índice se actualiza en el
archivo cuando
ar efectúa un cambio en sus contenidos (guardados
para la operación de actualización `
q'). 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 `
nm -s' o `
nm --print-armap' para obtener una lista de
estas tablas de índices. Si un archivo carece de la tabla, se puede
emplear otra forma de
ar llamada
ranlib para añadir la
tabla.
ar insiste en recibir al menos dos argumentos para ejecutarse: uno, la
letra que especifica la
operación (opcionalmente
acompañada por otras letras que especifican los
modificadores),
y el nombre del archivo sobre el que actuar.
Muchas operaciones pueden también aceptar más argumentos
fichero que especifican ficheros particulares para operar.
OPCIONES¶
El programa
ar de GNU le permite mezclar el código de
operación
p y opciones modificadoras
mod 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
p especifica qué operación ejecutar; puede ser
cualquiera de las siguientes, pero debe especificar sólo una de ellas:
- d
- Borra (delete) módulos del archivo. Especifica los
nombres que serán eliminados como ficheros; el archivo
permanece intacto si no especifica ficheros para borrar.
Si especifica el modificador `v', ar mostrará cada
módulo que se borre.
- m
- Use esta operación para mover 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 m, cualquier miembro que nombre en
los argumentos ficheros se mueven al final del archivo;
puede usar los modificadores `a', `b', o `i' para
moverlos a las posiciones especificadas.
- p
- Muestra (print) el miembro especificado del archivo en el
fichero de salida estándar. Si se especifica el modificador,
`v ' muestra el nombre del miembro antes de copiarlo a la salida
estándar.
Si no especifica ficheros, se imprimen todos los ficheros del
archivo.
- q
- Añadido rápido (quick append) ; añade
ficheros al final del archivo, sin comprobar posibles
sustituciones.
Los modificadores `a', `b', e `i' , no afectan a
esta operación; los nuevos miembros siempre se sitúan al
final del archivo.
El modificador `v' hace que ar 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 `ar s' o ranlib 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 ar de GNU
implementa `q' como un sinónimo de `r'.
- r
- Inserta ficheros en un archivo (con
sustitución ). Esta operación difiere de `q'
en que cualesquiera miembros existentes se borran si sus nombres coinciden
con los que son añadidos.
Si uno de los ficheros nombrados en ' ficheros no existe, ar
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 `a',
`b', o `i' para requerir una ubicación relativa a
algún miembro existente.
El modificador `v' utilizado con esta operación genera una
línea de salida por cada fichero insertado, con una de estas letras
`a' o `r' para indicar si el fichero fue añadido (no
antiguos miembros borrados) o sustituido.
- t
- Muestra una tabla que lista el contenido del archivo, o
aquellos ficheros listados en ficheros 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 `v ' .
Si no especifica ningún fichero, se listan todos los ficheros
del archivo.
Si hay más de un fichero con el mismo nombre (digamos, `fie')
en un archivo (digamos `b.a'), `ar t b.a fie' sólo
listará la primera aparición; para verlos todos, tiene que
solicitar un listado completo: en nuestro ejemplo, `ar t b.a'.
- x
- Extrae miembros (llamados ficheros) del archivo. Puede usar
el modificador `v' con esta operación, para solicitar que
ar liste cada nombre mientras lo extrae.
Si no especifica ningún fichero, se extraen todos los ficheros
de este archivo.
Un número de modificadores (
mod) puede seguir inmediatamente a la
letra
p para especificar variaciones en el comportamiento de la
operación:
- a
- Añade nuevos ficheros tras un miembro existente del archivo.
Si usa el modificador a, tiene que estar presente el nombre de un
miembro del archivo como argumento nombre-de-miembro, antes de la
especificación de archivo.
- b
- Añade nuevos ficheros antes de un miembro existente del
archivo. Si usa el modificador b, tiene que estar presente el
nombre de un miembro del archivo como argumento nombre-de-miembro,
antes de la especificación de archivo. (igual que
`i').
- c
- Crea el archivo. El archivo 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.
- f
- Trunca los nombres que hay en el archivo. ar normalmente
permitirá nombres de ficheros de cualquier longitud. Esto
ocasionará que se creen archivos que no son compatibles con el
ar nativo de algunos sistemas. Si esto es de interés, el
modificador f se puede usar para truncar los nombres de ficheros
poniéndolos en el archivo.
- i
- Inserta nuevos ficheros antes de un miembro existente del archivo.
Si usa el modificador i, tiene que estar presente el nombre de un
miembro existente del archivo como el argumento nombre_de_miembro
antes de la especificación del archivo . (igual que
`b ').
- l
- Este modificador se acepta pero no se usa.
- o
- Preserva las fechas originales 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.
- 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 `ar s' en un archivo es equivalente a ejecutar
`ranlib ' en él.
- 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 `S' en la
última ejecución de `ar', o deberá ejecutar
`ranlib' sobre el archivo.
- u
- Normalmente, ar r... inserta todos los ficheros listados en el
archivo. Si quisiera insertar sólo aquellos ficheros
listados que son más recientes que los miembros existentes del
mismo nombre, use este modificador. El modificador `u' se permite
sólo para la operación `r' (replace,
reemplazar). En particular, la combinación `qu' no se
permite, ya que las verificaciones de los tiempos haría perder
cualquier ventaja de velocidad de la operación `q'.
- v
- Este modificador (verbose) solicita la versión
prolija de una operación. Muchas operaciones muestran
información adicional, tales como nombres de ficheros procesados
cuado se añade el modificador `v'.
- V
- Este modificador muestra el número de versión de ar.
VÉASE TAMBIÉN¶
La entrada del menú `
Binutils' en
Info;
Las Utilidades
de Binarios de GNU, Roland H. Pesch (Octubre de 1991).
nm(
1),
ranlib(
1).
DERECHOS DE COPIA¶
Copyright © 1991 Free Software Foundation, Inc.
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.
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.
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.
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.