GNU/Linux >> Tutoriels Linux >  >> Linux

En quoi install -c est différent de cp

Une différence significative est que cp tronque le fichier de destination et commence à copier les données de la source dans le fichier de destination.

install, d'autre part, supprime d'abord le fichier de destination.

Ceci est important car si le fichier de destination est déjà utilisé, de mauvaises choses pourraient arriver à quiconque utilise ce fichier au cas où vous cp un nouveau fichier dessus. par exemple. l'écrasement d'un exécutable en cours d'exécution peut échouer. Tronquer un fichier de données dans lequel un processus existant est occupé à lire/écrire pourrait provoquer un comportement assez étrange. Si vous supprimez d'abord le fichier de destination, comme le fait l'installation, les choses continuent comme d'habitude - le fichier supprimé n'est pas réellement supprimé tant que tous les processus n'ont pas fermé ce fichier.


Techniquement, la différence entre install -c et cp est-ce install définit les permissions du fichier cible sur rwxr-xr-x . cp préserve les autorisations du fichier source moins le umask. Ces comportements par défaut sont utiles dans différentes situations. Évidemment, avec toutes les options que cp et install offre aujourd'hui, les fonctionnalités ont convergé.

De nos jours, install est couramment utilisé dans les makefiles, cp partout ailleurs. Cette distinction est parfois utile car certains systèmes d'exploitation ou systèmes d'installation permettent de s'accrocher au install programme pour enregistrer les packages installés. Les systèmes de gestion de paquets modernes rendent ce type de service obsolète, mais certaines personnes l'utilisent encore. De plus, la possibilité de définir les autorisations du fichier cible du même coup est très pratique.


Le install l'utilitaire, à sa base, est un cp fantaisiste . Mais en tant qu'outil d'installation spécifique, il contient quelques fonctionnalités qui cp n'a pas. Mon /usr/bin/install de GNU coreutils non seulement copie, mais peut également modifier les permissions/propriété en tant que drapeaux arg (sauvegardant chgrp , chown , chmod invocations) une option pour supprimer les informations de débogage (enregistrement d'un strip invocation) et aussi du mojo pour les contextes SELinux.

Il fournit simplement des actions de commodité utiles pour les installations de logiciels. Aucun ne change la vie, tous sont utiles et rendent vos scripts plus propres.


Linux
  1. Comment installer Fail2Ban sur CentOS 7

  2. Comment Cater un fichier depuis Awk ?

  3. Comment lire une variable à partir d'un fichier ?

  4. Comment installer Ubuntu à partir d'un fichier Iso ?

  5. en quoi cp -f est-il différent de cp --remove-destination ?

Comment installer Skype dans Fedora 24

Comment installer CouchPotato sur Ubuntu

Comment installer un logiciel à partir de la source sous Linux

Comment installer VirtualBox dans différentes distributions Linux

Comment supprimer les caractères (^M) d'un fichier sous Linux

Comment installer Monitorix sur Ubuntu 16.04