Comprensión do comando Linux: Ar

O programa GNU ar crea , modifica e extrae arquivos. Un arquivo é un ficheiro único que ten unha colección de outros ficheiros nunha estrutura que permite recuperar os ficheiros individuais orixinais (chamados membros do arquivo).

Visión xeral

Os contidos, o modo (permisos), a marca de tempo, o propietario e o grupo dos ficheiros orixinais son preservados no arquivo e pódense restablecer na extracción.

GNU ar pode manter arquivos cuxos membros teñen nomes de calquera lonxitude; Non obstante, dependendo de como se configure o sistema no seu sistema, pódese impoñer un límite na lonxitude do nome de membro para compatibilizar os formatos de arquivo mantidos con outras ferramentas. Se existe, o límite adoita ser de 15 caracteres (típico dos formatos relacionados con a.out) ou 16 caracteres (típico dos formatos relacionados co cofre).

ar é considerada unha utilidade binaria porque os arquivos deste tipo úsanse máis frecuentemente como bibliotecas que conteñen subrutinas comúnmente necesarias.

ar crea un índice para os símbolos definidos nos módulos de obxectos relocáveis ​​no arquivo cando especifica o modificador s . Unha vez creada, este índice actualízase no arquivo sempre que ar fai un cambio nos seus contidos (excepto para a operación de actualización q ). Un arquivo con ese índice acelera a conexión á biblioteca e permite que as rutinas da biblioteca se poidan chamar sen ter en conta a súa colocación no arquivo.

Podes usar nm -s ou nm --print-armap para listar esta táboa de índice. Se un arquivo carece da táboa, outra forma de ar chamada ranlib pode usarse para engadir só a táboa.

O GNU ar está deseñado para ser compatible con dúas instalacións diferentes. Pode controlar a súa actividade usando opcións de liña de comandos, como as distintas variedades de ar en sistemas Unix ; ou, se especifica a única opción de liña de comandos -M , pode controlalo cun script proporcionado por entrada estándar, como o programa `` bibliotecario '' de MRI.

SINOPSE

ar [ -X32_64 ] [ - ] p [ mod [ relpos ] [ contar ]] arquivo [ membro ...]

OPCIÓNS

GNU ar permítelle mesturar o código de operación p e as modificacións modificadoras mod en calquera orde, dentro do primeiro argumento da liña de comandos.

Se o desexa, pode comezar o primeiro argumento da liña de comandos cun guión.

A clave p especifica que operación executar; pode ser calquera dos seguintes, pero debes especificar só un deles:

d

Elimina os módulos do arquivo. Especifique os nomes dos módulos que se borrarán como membro ...; o arquivo non está activado se non especifica ningún ficheiro para eliminar.

Se especifica o modificador v , ar lista cada módulo xa que se elimina.

m

Use esta operación para mover membros nun arquivo.

A ordenación dos membros nun arquivo pode marcar a diferenza na forma en que os programas se vinculan mediante a biblioteca, se se define un símbolo en máis dun membro.

Se non se usan modificadores con "m", os membros que nomee nos argumentos dos membros móvense ao final do arquivo; pode usar os modificadores a, b ou i para moverlos a un lugar determinado no seu lugar.

p

Imprime os membros especificados do arquivo, no ficheiro de saída estándar. Se se especifica o modificador v , amosa o nome do membro antes de copiar o seu contido á saída estándar.

Se non especifica ningún argumento de membro , imprímense todos os ficheiros do arquivo.

q

Quick append ; Históricamente, engade o membro de ficheiros ... ao final do arquivo , sen solicitar a substitución.

Os modificadores a , b e non afectan esta operación; Os novos membros sempre se colocan ao final do arquivo.

O modificador v fai ar lista cada arquivo xa que se engade.

Dado que o punto de operación é a velocidade, o índice da táboa de símbolos do arquivo non se actualiza, aínda que xa existise; pode usar ar ou ranlib explícitamente para actualizar o índice da táboa de símbolos.

Non obstante, demasiados sistemas diferentes asumen un axuste rápido que reconstrúe o índice, polo que GNU ar implementa "q" como sinónimo de "r".

r

Insira o membro de ficheiros ... no arquivo (con substitución ). Esta operación difire de q porque todos os membros previamente existentes se eliminan se os seus nomes coinciden cos que se engaden.

Se un dos ficheiros nomeados no membro ... non existe, ar amosa unha mensaxe de erro e deixa sen perturbar calquera membro existente do arquivo que coincida con ese nome.

Por defecto, engádense novos membros ao final do ficheiro; pero pode usar un dos modificadores a , b ou i para solicitar a colocación en relación a algún membro existente.

O modificador v usado con esta operación suscita unha liña de saída para cada ficheiro inserido, xunto cunha das letras a ou r para indicar se o ficheiro foi anexado (non se eliminou ningún membro anterior) ou se substituíu.

t

Mostrar unha táboa que contén os contidos do arquivo , ou os dos ficheiros enumerados no membro ... que están presentes no arquivo. Normalmente só se mostra o nome do membro; se tamén desexa ver os modos (permisos), a marca de tempo, o propietario, o grupo e o tamaño, pode solicitalo especificando tamén o modificador v .

Se non especifica un membro , están listados todos os ficheiros do arquivo.

Se hai máis dun ficheiro co mesmo nome (por exemplo, fie ) nun arquivo (por exemplo, ba ), ar t ba fie lista só a primeira instancia; para ver a todos, debes solicitar unha lista completa --- no noso exemplo, ar t ba .

x

Extracción de membros ( membro nomeado) do arquivo. Podes usar o modificador v con esta operación, para solicitar que ar liste cada nome mentres o extrae.

Se non especifica un membro , extraéronse todos os ficheiros do arquivo.

Unha serie de modificadores ( mod ) poden seguir inmediatamente o keyletter p , para especificar variacións no comportamento dunha operación:

a

Engadir novos ficheiros despois dun membro existente do arquivo. Se usa o modificador a , o nome dun membro de arquivo existente debe estar presente como o argumento relpos , antes da especificación do arquivo .

b

Engadir novos ficheiros antes dun membro existente do arquivo. Se usa o modificador b , o nome dun membro de arquivo existente debe estar presente como o argumento relpos , antes da especificación do arquivo . (igual que eu ).

c

Crea o arquivo. O arquivo especificado sempre se creou se non existía, cando solicite unha actualización. Non obstante, se emite un aviso a menos que especifique anticipadamente que espera crear, empregando este modificador.

f

Trunca os nomes no arquivo. GNU ar normalmente permitirá nomes de ficheiros de calquera lonxitude. Isto fará que crea arquivos que non sexan compatibles co programa nativo nalgúns sistemas. Se isto é un problema, o modificador f pode usarse para truncar os nomes dos ficheiros ao poñelos no arquivo.

eu

Insira novos ficheiros antes dun membro existente do arquivo. Se usa o modificador, o nome dun membro de arquivo existente debe estar presente como o argumento relpos , antes da especificación do arquivo . (igual que b ).

l

Este modificador é aceptado pero non se usa.

N

Usa o parámetro de contador . Isto úsase se hai varias entradas no arquivo co mesmo nome. Extrae ou elimine o reconto de instancia do nome dado no arquivo.

o

Conserva as datas orixinais dos membros cando a extrae. Se non especifica este modificador, os ficheiros extraídos do arquivo están estampados co tempo de extracción.

P

Use o nome da ruta completa cando coincidan nomes no arquivo. GNU ar non pode crear un arquivo cun nome de ruta completa (tales arquivos non son unha reclamación POSIX), pero outros creadores de arquivos poden. Esta opción fará que GNU ar coincida cos nomes dos ficheiros usando un nome de ruta completo, que pode ser conveniente ao extraer un arquivo dun arquivo creado por outra ferramenta.

s

Escribe un índice de arquivo de obxectos no arquivo ou actualiza un existente, aínda que non se realice outro cambio no arquivo. Podes empregar esta marca de modificadores con calquera operación ou só. A execución de ar en un arquivo é equivalente a executar ranlib nel.

S

Non xere unha táboa de símbolos de arquivo. Isto pode acelerar a construción dunha gran biblioteca en varios pasos. O arquivo resultante non se pode usar co vinculador. Para crear unha táboa de símbolos, debes omitir o modificador S na última execución de ar ou debes executar ranlib no arquivo.

u

Normalmente, arr ... insire todos os ficheiros listados no arquivo. Se desexa inserir os dos ficheiros listados máis novos que os membros existentes dos mesmos nomes, use este modificador. O modificador u só está permitido para a operación r (substituír). En particular, a combinación non está permitida, xa que a comprobación das marcas de tempo perdería calquera vantaxe de velocidade da operación q .

v

Este modificador solicita a versión detallada dunha operación. Moitas operacións mostran información adicional , como os nomes dos ficheiros procesados, cando se engade o modificador v .

V

Este modificador mostra o número de versión de ar .

ar ignora unha opción inicial escrito -X32_64 , para compatibilidade con AIX. O comportamento producido por esta opción é o predeterminado para GNU ar . ar non soporta ningunha das outras opcións X ; en particular, non soporta -X32 que é o predeterminado para AIX ar .

Importante: use o comando man ( % home ) para ver como se usa un comando na súa computadora particular.