CMDécouverte install pour copier des fichiers et définir leurs attributs !
La commande install est un outil Linux méconnu qui combine cp, chmod, chown et mkdir en une seule commande, idéale pour les scripts d’installation et les Makefiles.

SYNTHÈSE STRUCTURÉE
Origine et disponibilité
install fait partie du paquet coreutils, présent par défaut sur toutes les distributions Linux. L’intervenant précise : « C’est une commande qui est disponible dans toutes les distributions Linux puisqu’elle fait partie du paquet Core utiles installé par défaut partout. » Elle n’a rien à voir avec l’installation de paquets (apt, dnf, pacman), malgré son nom trompeur.
Attention aux alias
Ne créez pas d’alias install pour vos gestionnaires de paquets. Adrien met en garde : « Ne faites pas un alias qui s’appelle install pour faire un raccourci vers la commande DNF install, apt install ou éventuellement un Pac-Man grand S sur les H Linux parce que c’est une vraie commande qui existe et si vous faites un alias, elle risque d’interférer pour votre utilisateur en cours avec la réelle commande install. »
Syntaxe de base et permissions par défaut
La commande s’utilise comme cp : install source destination. Par défaut, elle applique les permissions 755 (rwxr-xr-x) au fichier copié, quel que soit le fichier source. L’intervenant illustre : « Vous voyez que install applique des permissions par défaut qui est RWX RX RX, hein. Donc tout le monde peut lire et exécuter ce fichier et seul le propriétaire peut écrire. »
Option -m pour définir les permissions
Avec l’option -m (mode), on spécifie les permissions exactes, évitant un chmod supplémentaire. Exemple : install -m 444 coucou.txt install/ copie le fichier avec les permissions 444 (lecture seule pour tous). L’intervenant résume : « On va pouvoir faire le CP, faire le CH mode. Et ces deux commandes là en fait sont résumées en une seule. C’est cette fameuse commande install. »
Renommage à la copie
Comme cp, install permet de renommer le fichier de destination. Il suffit de spécifier un nom différent dans le chemin de destination : install -m 644 coucou.txt install/test.txt.
Copie multiple de fichiers
On peut copier plusieurs fichiers d’un coup en les listant avant la destination : install fichier1 fichier2 dossier/. Tous les fichiers reçoivent les permissions par défaut (ou celles spécifiées par -m).
Création d’arborescences avec -d
L’option -d (directory) crée des dossiers, à la manière de mkdir -p. Exemple : install -d install/dossier1/dossier2/dossier3 crée toute l’arborescence en une seule commande. On peut combiner avec -m pour définir les permissions du dossier : install -d -m 777 mon_dossier.
Cas d’usage avancé : installation d’un script système
L’exemple final montre comment installer un script coucou.sh dans /usr/local/bin avec les bonnes permissions et propriétaire :
sudo install -m 755 -o root -g root coucou.sh /usr/local/bin/coucou
Cette commande unique remplace quatre opérations : cp, chmod 755, chown root, chgrp root. L’intervenant souligne : « C’est l’équivalent de toutes ces commandes là. En fait, c’est l’équivalent d’un CP de coucou.sh SH en USR local le calvin cooku plus de la commande CH mode 755 de ça plus de la commande ch route de ce fichier là plus le résultat de la commande C Hgrp route. »
CONCEPTS CLÉS
- coreutils : Paquet de base contenant les commandes essentielles GNU (cp, mv, rm, install, etc.), présent sur tous les systèmes Linux.
- Permissions 755 : rwxr-xr-x – le propriétaire a tous les droits, le groupe et les autres peuvent lire et exécuter. C’est le réglage par défaut de
install. - Option
-oet-g: Permettent de définir respectivement le propriétaire (owner) et le groupe (group) du fichier de destination, évitant unchownséparé.
CONCLUSION
La commande install est un outil puissant et sous-estimé qui simplifie considérablement les scripts d’installation en combinant copie, permissions et changement de propriétaire en une seule opération atomique. Son utilisation dans les Makefiles, les spec RPM et les scripts d’automatisation permet d’écrire du code plus propre, plus lisible et moins sujet aux erreurs que l’enchaînement manuel de cp, chmod et chown.