Fatmawati Achmad Zaenuri / Shutterstock.com
install
est une commande polyvalente de copie de fichiers sous Linux et macOS. Il est parfait pour les utilisateurs expérimentés à la recherche d’efficacité. Lisez cet article pour découvrir comment travailler plus intelligemment, pas plus dur.
Attendez – Ce n’est pas pour installer le logiciel?
le install
peut avoir le nom le plus trompeur de toutes les commandes Linux. Il n’installe en fait aucun logiciel. Si vous essayez d’installer un package logiciel à partir de la ligne de commande dans Ubuntu ou dans une autre distribution basée sur Debian, utilisez le apt-get
commander. Sur les autres distributions Linux, utilisez plutôt l’outil de gestion des packages de votre distribution Linux, par exemple dnf
sur Fedora ou zypper
sur openSUSE.
Alors, que fait l’installation?
En un mot install
combine des éléments du cp
(copie), chown
(changer de propriétaire), chmod
(changer de mode), mkdir
(créer un répertoire), et strip
(symboles de bande) commandes. Il vous permet d’utiliser les fonctions de tous ceux-ci en une seule action.
le install
la commande peut:
- Copiez des fichiers comme le
cp
commander. - Choisissez d’écraser les fichiers existants.
- Créez le répertoire cible s’il n’existe pas, comme
mkdir
. - Définissez les indicateurs d’autorisation utilisateur des fichiers, tout comme le
chmod
commander. - Définissez le propriétaire des fichiers, tout comme le
chown
commander. - Supprimez les bagages non essentiels des fichiers exécutables, tout comme le
strip
commander.
Malgré toutes ces fonctionnalités, le install
la commande n’en a pas trop de nombreuses options à combattre.
Quand l’utiliseriez-vous
le install
La commande ne sera probablement pas utilisée tous les jours. C’est utile, mais seulement pour certaines situations. Un scénario où install
prend tout son sens est le développement de logiciels. Disons que vous programmez un nouvel utilitaire. Vous devrez effectuer des tests en dehors de l’environnement de développement. Pour ce faire, vous devez copier les nouveaux fichiers programme dans un répertoire de test. Le répertoire de test doit peut-être être créé et vous devez définir les autorisations et la propriété appropriées pour les fichiers.
Le développement étant une activité itérative, vous pouvez finir par effectuer cette séquence d’actions de nombreuses fois. le install
la commande fait tout le travail lourd pour vous. Enfin, lorsque votre nouvel utilitaire est prêt à être déployé, vous pouvez utiliser install
pour le copier avec les autorisations appropriées vers son emplacement de travail final.
Un exemple
Un programmeur travaille sur un tel nouvel utilitaire, appelé ana
. Il se compose d’un fichier binaire exécutable et d’une base de données. Après le test, il doit être copié dans /usr/local/bin
pour le rendre disponible pour tous les utilisateurs du système Linux. Vous devrez remplacer les noms de fichiers et les chemins de répertoire dans notre exemple pour les fichiers et les chemins que vous utilisez sur votre ordinateur lorsque vous utilisez install
.
Jusqu’à ce qu’il soit prêt à être publié, il sera testé dans un répertoire appelé ~/test/ana
. Membres de geek
le groupe aura des autorisations de lecture et d’exécution. Les autres utilisateurs auront également des autorisations de lecture et d’exécution. le install
La commande utilise la même représentation numérique pour les autorisations que chmod
Est-ce que. Notre programmeur a décidé que les autorisations doivent être définies sur:
- Propriétaire: lecture, écriture et exécution.
- Groupe: lecture et exécution.
- Autres: Exécuter uniquement.
Comment utiliser le install
Commander
Le répertoire de travail de notre programmeur fictif est ~/work
. Il a écrit le programme, l’a compilé et produit un binaire appelé ana
. Il a déjà créé le fichier de base de données qui ana
marche avec, Words.db
. Les deux fichiers sont donc prêts à être testés. Jetons un coup d’œil à eux:
ls -l ana Words.db
le ana
L’utilitaire qu’il vient d’écrire crée des anagrammes à partir d’une phrase fournie sur la ligne de commande. Les tests de vérification sont assez simples.
Notre programmeur a invoqué ana
avec l’expression «biscuit» et tout semble bien. Il souhaite maintenant copier ces deux fichiers dans le ~/test/ana
pour voir si le nouvel utilitaire fonctionne correctement en dehors de l’environnement de développement. Il émet la commande suivante:
install -D -v ana Words.db -t ~/test/ana
Les options utilisées sur la ligne de commande étaient:
- ré: Créez des répertoires, y compris des répertoires parents, si nécessaire.
- v: Verbose, listez chaque répertoire au fur et à mesure de sa création et chaque copie de fichier au fur et à mesure de son exécution.
- t: Répertoire cible.
On peut voir ça install
crée le ~/test
répertoire, puis crée le ~/test/ana
annuaire. Les fichiers sont répertoriés un par un au fur et à mesure qu’ils sont copiés dans le répertoire cible.
Liste des fichiers dans ~/test/ana
confirme qu’ils ont été copiés correctement.
ls -l
L’étape suivante consiste à tester le ana
utilitaire en l’appelant dans le ~/test/ana
annuaire.
L’utilitaire fonctionne comme prévu, ce qui est excellent. Cependant, les autorisations ne sont pas correctes. L’exigence est de définir les membres du groupe geek
pour avoir des autorisations de lecture et d’exécution, et pour les autres utilisateurs de n’avoir que des autorisations d’exécution.
Nous pouvons résoudre ces deux problèmes tout simplement avec la commande suivante. Notez l’utilisation de sudo
pour exécuter la commande avec les autorisations root. le -o
et -g
et les options l’exigent. On nous demandera notre mot de passe lorsque nous émettrons la commande.
sudo install -b -S .bak -o dave -g geek -m 751 ana Words.db -t ~/test/ana
- le
-b
(sauvegarde) crée des sauvegardes des fichiers avant qu’ils ne soient écrasés. - le
-S
(suffixe) définit le suffixe des fichiers de sauvegarde. Si vous ne fournissez pas de suffixe, un~
(tilde) est utilisé. Nous demandonsinstall
pour utiliser un suffixe de.bak
. - Nous définissons le propriétaire du fichier comme étant
dave
en utilisant le-o
(propriétaire) option. - le
-g
L’option (group) requiert le nom d’un groupe. Cela devient le groupe propriétaire des fichiers. Le groupe que nous allons utiliser s’appellegeek
. - le
-m
(mode) définit les modes de fichier pour les fichiers, en utilisant la normechmod
syntaxe numérique.
Nous n’avons plus besoin d’utiliser le -D
(créer des répertoires), car nous savons que le répertoire de test existe déjà. Nous avons également omis le -v
(verbeux) option. Liste des fichiers dans notre ~/test/ana
Le répertoire nous montre les détails du fichier:
ls -l
Cela confirme que toutes nos exigences ont été satisfaites.
- Les fichiers ont été copiés dans le répertoire de test.
- Les autorisations ont été définies correctement.
dave
est le propriétaire des fichiers.- le
geek
group est le groupe propriétaire des deux fichiers. - Des copies de sauvegarde ont été faites de chaque fichier, appelé ana.bak et Words.db.bak.
Tout cela a été réalisé grâce à l’utilisation d’une seule commande. Soigné.
Notre programmeur apporte quelques modifications finales à l’utilitaire et se recompile. Les fichiers modifiés doivent être copiés sur le ~/test/ana
répertoire du ~/work
annuaire. Nous pouvons le faire en utilisant le -C
(comparer) option. Si le fichier source et le fichier cible sont identiques, le fichier source n’est pas copié.
sudo install -C -b -S .bak -o dave -g geek -m 751 ana Words.db -t ~/test/ana
La liste des fichiers dans le répertoire cible nous montre que la taille de fichier du ana
le fichier a changé. C’est plus grand que le ana.bak
déposer. L’horodatage sur ana
a également changé. Ces modifications sont dues au fait que la nouvelle version du fichier a été copiée ici.
ls -l
La taille du fichier et l’horodatage du Words.db
le fichier n’a pas changé. Aucune modification n’a été apportée au Words.db
fichier, il n’a donc pas été copié. Sur un projet avec de nombreux fichiers, le -C
L’option (comparer) peut économiser beaucoup de temps et réduire le taux de désabonnement du disque dur, en ne copiant que les fichiers qui ont été modifiés.
Le programmeur a de nouveau testé que le ana
le service public continue de fonctionner.
Il est temps d’utiliser install
pour copier les fichiers sur le /usr/local/bin
annuaire. Cela rendra le nouvel utilitaire disponible pour tous les utilisateurs de cet ordinateur Linux. Nous savons que /usr/local/bin
existe, nous n’avons donc pas besoin de créer ce répertoire. Nous pouvons utiliser une version modifiée de notre dernière commande.
Nous avons changé le répertoire cible pour qu’il soit /usr/local/bin
. Nous avons supprimé le -C
(comparer) car il n’y a pas encore de copies de ces fichiers dans le répertoire cible, donc il n’y a rien à comparer. De même, il n’y a rien à sauvegarder, nous pouvons donc supprimer le -b
(sauvegarde) et l’option -S
(suffixe) option.
sudo install -o dave -g geek -m 751 ana Words.db -t /usr/local/bin
Nous pouvons lister que les fichiers sont arrivés /usr/local/bin
:
ls -l
Et comme test final, changeons de répertoire en notre répertoire personnel et voyons si nous pouvons invoquer notre nouvel utilitaire à partir de là.
Notez que nous n’avons pas eu besoin de préface ana
commande avec ./
ce qui signifie qu’il court de /usr/local/bin
. Mission accomplie.
Nous avons mentionné que l’installation peut supprimer les tables de symboles redondantes et autres bagages du fichier binaire, pour le réduire en taille. Faisons ça maintenant. Notez que la commande ci-dessous n’inclut pas Words.db. En effet, Words.db est un fichier de base de données et non un exécutable binaire. Pour copier et réduire le fichier binaire ana
nous pouvons utiliser la commande suivante. Nous avons ajouté l’option -s (réduction) avec un «s» minuscule. Nous avons rajouté l’option -b (sauvegarde) et l’option -S (suffixe), avec un «S» majuscule.
sudo install -s -b -S .bak -o dave -g geek -m 751 ana -t /usr/local/bin
Liste des fichiers dans /usr/local/bin
nous permet de comparer la taille du ana
fichier avec sa version de sauvegarde. le ana
Le fichier a été réduit à près de 60% de sa taille précédente.
ls -l /usr/local/bin
En résumé
Le le install
La commande s’adresse à une jolie utilisation de niche. Pour de nombreuses personnes, il ne sera pas utilisé jour après jour, ou peut-être d’un mois à l’autre. Malgré cela, le install
La commande est un bon outil à connaître et à avoir dans votre arsenal d’astuces. Pour les occasions où vous en avez besoin, il récompense votre courbe d’apprentissage avec des gains d’efficacité, de simplicité et simplement moins de frappes.