Comprendre la commande Linux: Ar

Les GNOUar programme crée, modifie et extrait des éléments des archives de fichiers. Un archiver est un fichier unique contenant une collection d'autres des dossiers dans une structure qui permet de récupérer les fichiers individuels d'origine (appelés membres des archives).

Aperçu

Linux ar commande

Le contenu, le mode (autorisations), l'horodatage, le propriétaire et le groupe des fichiers d'origine sont conservés dans l'archive et peuvent être restaurés lors de l'extraction.

GNOU ar peut conserver des archives dont les membres ont des noms de n'importe quelle longueur; cependant, selon la façon dont ar est configuré sur votre système, une limite de longueur de nom de membre peut être imposée pour la compatibilité avec les formats d'archive maintenus avec d'autres outils. S'il existe, la limite est souvent de 15 caractères.

Ar est considéré comme un utilitaire binaire car les archives de ce type sont le plus souvent utilisées comme bibliothèques contenant des sous-programmes couramment nécessaires.

Ar crée un index vers les symboles définis dans les modules d'objets déplaçables dans l'archive lorsque vous spécifiez le modificateur s. Une fois créé, cet index est mis à jour dans l'archive chaque fois que ar modifie son contenu (sauf pour le q opération de mise à jour). Une archive avec un tel index accélère la liaison avec la bibliothèque et permet aux routines de la bibliothèque de s'appeler sans tenir compte de leur placement dans l'archive.

Vous pouvez utiliser nm -s ou nm --print-armap pour lister cette table d'index. Si une archive n'a pas la table, une autre forme de ar appelé ranlib ajoute juste la table.

GNOU ar est conçu pour être compatible avec deux installations différentes. Contrôlez son activité à l'aide d'options de ligne de commande, comme les différentes variétés de ar au Systèmes Unix; ou, si vous spécifiez le seul commander-option de ligne -M, vous pouvez le contrôler avec un script fourni à partir d'une entrée standard.

Synopsis

La commande prend la forme générale suivante:

ar [-X32_64] [-]p[mod [relpos] [count]] archive [membre...] 

Options

GNOU ar vous permet de mélanger le code d'opération p et les drapeaux modificateurs mode dans n'importe quel ordre, dans le premier argument de la ligne de commande.

Si vous le souhaitez, vous pouvez commencer le premier argument de la ligne de commande par un tiret.

Les p keyletter spécifie quelle opération exécuter; il peut s'agir de l'un des éléments suivants, mais vous ne devez en spécifier qu'un:

  • : Effacer modules de l'archive. Spécifiez les noms des modules à supprimer comme membre; l'archive est intacte si vous ne spécifiez aucun fichier à supprimer. Si vous spécifiez le v modificateur, ar répertorie chaque module au fur et à mesure qu'il est supprimé.
  • m: Utilisez cette opération pour mouvement membres dans une archive. L'ordre des membres dans une archive peut faire une différence dans la façon dont les programmes sont liés à l'aide de la bibliothèque, si un symbole est défini dans plus d'un membre. Si aucun modificateur n'est utilisé avec m, tous les membres que vous nommez dans le membre les arguments sont déplacés vers le finir des archives; vous pouvez utiliser le une, b, ou je modificateurs pour les déplacer vers un endroit spécifié à la place.
  • p: Imprimer les membres spécifiés de l'archive, dans le fichier de sortie standard. Si la v modificateur est spécifié, affiche le nom du membre avant de copier son contenu sur la sortie standard. Si vous spécifiez non membre arguments, tous les fichiers de l'archive sont imprimés.
  • q: Ajout rapide; Historiquement, ajoutez les fichiers membre jusqu'à la fin de archiver, sans vérifier le remplacement. Les modificateurs une, b, et je faire ne pas affecter cette opération; les nouveaux membres sont toujours placés à la fin de l'archive. Le modificateur v fait du ar liste chaque fichier tel qu'il est ajouté. Le but de cette opération étant la vitesse, l'index de la table des symboles de l'archive n'est pas mis à jour, même s'il existait déjà; vous pouvez utiliser ar s ou ranlib explicitement pour mettre à jour l'index de la table des symboles. Cependant, trop de systèmes différents supposent que l'ajout rapide reconstruit l'index, donc GNU ar implémente "q" comme synonyme de "r".
  • r: Insérez les fichiers membre dans archiver (avec remplacement). Cette opération diffère de q en ce que tous les membres existants précédemment sont supprimés si leurs noms correspondent à ceux ajoutés. Si l'un des fichiers nommés dans membre n'existe pas, ar affiche un message d'erreur et laisse intact tous les membres existants de l'archive correspondant à ce nom. Par défaut, les nouveaux membres sont ajoutés à la fin du fichier mais vous pouvez utiliser l'un des modificateurs une, b, ou je pour demander un placement par rapport à un membre existant. Le modificateur v utilisé avec cette opération provoque une ligne de sortie pour chaque fichier inséré, avec l'une des lettres une ou r pour indiquer si le fichier a été ajouté (aucun ancien membre supprimé) ou remplacé.
  • t: afficher un table lister le contenu de archiver, ou ceux des fichiers répertoriés dans membre qui sont présents dans l'archive. Normalement, seul le nom du membre est affiché; si vous souhaitez également voir les modes (autorisations), l'horodatage, le propriétaire, le groupe et la taille, vous pouvez le demander en spécifiant également le v modificateur. Si vous ne spécifiez pas de membre, tous les fichiers de l'archive sont répertoriés. S'il y a plus d'un fichier avec le même nom (par exemple, fie) dans une archive (disons b.a), ar t b.a fie répertorie uniquement la première instance; pour les voir tous, vous devez demander une liste complète - dans notre exemple, ar t b.a.
  • X: Extrait membres (nommés membre) des archives. Utilisez le v modificateur avec cette opération pour demander que ar liste chaque nom au fur et à mesure qu'il l'extrait. Si vous ne spécifiez pas de membre, tous les fichiers de l'archive sont extraits.

Plusieurs modificateurs peuvent immédiatement suivre le p keyletter, pour spécifier des variations sur le comportement d'une opération:

  • une: Ajouter de nouveaux fichiers après un membre existant de l'archive. Si vous utilisez le modificateur une, le nom d'un membre existant de l'archive doit être présent comme relpos argument, devant le archiver spécification.
  • b: Ajouter de nouveaux fichiers avant un membre existant de l'archive. Si vous utilisez le modificateur b, le nom d'un membre existant de l'archive doit être présent comme relpos argument, devant le archiver spécification (identique à je).
  • c: Créer les archives. L'archive spécifiée est toujours créée si elle n'existait pas, lorsque vous demandez une mise à jour. Mais un avertissement est émis à moins que vous ne spécifiiez à l'avance que vous prévoyez de le créer, en utilisant ce modificateur.
  • F: Tronquer les noms dans l'archive. GNOU ar autorisera normalement les noms de fichiers de n'importe quelle longueur, l'obligeant à créer des archives qui ne sont pas compatibles avec le ar programme sur certains systèmes. Si la compatibilité est un problème, le F le modificateur peut être utilisé pour tronquer les noms de fichiers lors de leur mise dans l'archive.
  • je: Insérer de nouveaux fichiers avant un membre existant de l'archive. Si vous utilisez le modificateur je, le nom d'un membre existant de l'archive doit être présent comme relpos argument, devant le archiver spécification (identique à b).
  • je: Ce modificateur est accepté mais pas utilisé.
  • N: utilise le compter paramètre. Ceci est utilisé s'il y a plusieurs entrées dans l'archive avec le même nom. Extraire ou supprimer une instance compter du prénom de l'archive.
  • o: préserver le original dates des membres lors de leur extraction. Si vous ne spécifiez pas ce modificateur, les fichiers extraits de l'archive sont horodatés avec l'heure d'extraction.
  • P: utilisez le chemin d'accès complet lors de la correspondance des noms dans l'archive. GNOU ar ne peut pas créer une archive avec un nom de chemin complet, mais d'autres créateurs d'archives peuvent le faire. Cette option provoquera GNU ar pour faire correspondre les noms de fichiers à l'aide d'un nom de chemin complet, ce qui peut être pratique lors de l'extraction d'un seul fichier à partir d'une archive créée par un autre outil.
  • s: Écrire un index de fichier objet dans l'archive, ou mettre à jour un fichier existant, même si aucune autre modification n'est apportée à l'archive. Vous pouvez utiliser ce drapeau modificateur soit avec n'importe quelle opération, soit seul. Fonctionnement ar s sur une archive équivaut à exécuter ranlib dessus.
  • S: Ne pas générer de table de mnémoniques d'archive. Ce paramètre peut accélérer la création d'une grande bibliothèque en plusieurs étapes. L'archive résultante ne peut pas être utilisée avec l'éditeur de liens. Afin de construire une table des symboles, vous devez omettre le S modificateur sur la dernière exécution de ar, ou vous devez exécuter ranlib sur les archives.
  • vous: Normalement, arr... insère tous les fichiers répertoriés dans l'archive. Si vous souhaitez insérer seul ceux des fichiers que vous répertoriez qui sont plus récents que les membres existants du même nom, utilisez ce modificateur. Les vous le modificateur n'est autorisé que pour l'opération r (remplacer). En particulier, la combinaison qu n'est pas autorisé, car la vérification des horodatages perdrait tout avantage de vitesse de l'opération q.
  • v: Ce modificateur demande le verbeux version d'une opération. De nombreuses opérations s'affichent Information additionnelle, tels que les noms de fichiers traités, lorsque le modificateur v est annexé.
  • V: Ce modificateur affiche le numéro de version de ar.

Utilisez le homme commande (% homme) pour voir comment une commande est utilisée sur votre ordinateur particulier.

Autres formes d'archivage

Linux prend en charge de nombreuses méthodes différentes pour l'archivage des fichiers. Par exemple, les fichiers ZIP sont multiplateformes. Même si ar est utile pour les archives locales rapides, envisagez des formats alternatifs si vous envisagez de partager l'archive avec quelqu'un utilisant Windows.

Comment compresser des fichiers à l'aide de la ligne de commande Linux