Bref : Dans ce guide facile à suivre, nous aborderons quelques exemples pratiques de la commande cp. Après avoir suivi ce guide, les utilisateurs pourront facilement copier des fichiers et des répertoires sous Linux à l’aide de l’interface de ligne de commande.

En tant qu’utilisateurs de Linux, nous interagissons de temps en temps avec les fichiers et les répertoires. Une opération courante que les utilisateurs effectuent consiste à copier des fichiers et des répertoires. Certes, nous pouvons utiliser un gestionnaire de fichiers graphique pour effectuer l’opération de copie. Cependant, la plupart des utilisateurs de Linux préfèrent utiliser le CP commande en raison de sa simplicité et de sa richesse fonctionnelle.

Dans ce guide convivial pour les débutants, nous découvrirons les CP commande. Comme son nom l’indique, le commande cp est utilisé pour copier des fichiers et des répertoires à un chemin donné.

Tout au long de ce guide, nous comprendrons l’utilisation du commande cp à l’aide d’exemples concrets utilisables au quotidien.

Alors, commençons.

Publicité

Syntaxe de la commande cp

La syntaxe de la CP La commande est identique aux autres commandes Linux. À un niveau élevé, il est divisé en deux parties – options et arguments:

$ cp [OPTIONS] <SOURCE> <DEST>
$ cp [OPTIONS] <SOURCE-1> <SOURCE-2> ... <DIRECTORY>

Dans la syntaxe ci-dessus, les crochets ([]) représentent les arguments facultatifs tandis que les crochets angulaires (<>) représentent les arguments obligatoires.

1. Comment copier un fichier sous Linux

L’une des utilisations de base de la CP La commande consiste à copier un fichier dans un répertoire courant. La plupart du temps, les utilisateurs effectuent cette opération pour effectuer une sauvegarde de la configuration importante.

Par exemple, nous créons souvent une copie de sauvegarde du fichier /etc/ssh/sshd_config avant de mettre à jour la configuration SSH.

Pour comprendre l’utilisation, créons un fichier simple :

$ touch file-1.txt

Créez ensuite une copie du fichier à l’aide de la commande suivante :

$ cp file-1.txt file-2.txt
Copier Le Fichier Sous Linux
Copier Le Fichier Sous Linux

2. Afficher la progression de la commande de copie

Dans l’exemple précédent, nous avons utilisé la commande ls pour vérifier si l’opération de copie de fichier a réussi ou non. Cependant, cela n’a pas de sens d’utiliser une commande de plus juste pour vérifier le résultat des commandes précédentes.

Dans de tels cas, nous pouvons activer le mode verbeux en utilisant le -v option, qui fournit des diagnostics pour chaque fichier traité.

Faisons une copie du fichier-1.txt fichier à l’aide de la commande suivante :

$ cp -v file-1.txt file-3.txt
Afficher La Sortie De Copie
Afficher La Sortie De Copie

Dans la sortie ci-dessus, la flèche représente le fichier en cours de copie. L’argument de gauche est le fichier source tandis que l’argument de droite est le fichier de destination.

3. Comment copier plusieurs fichiers dans le répertoire

Jusqu’à présent, nous avons travaillé avec un seul fichier et le répertoire de travail actuel uniquement. Cependant, dans l’environnement de production réel, nous devons travailler avec un grand nombre de fichiers. L’un des cas d’utilisation courants dans de tels environnements consiste à copier plusieurs fichiers dans un seul répertoire.

Évidemment, nous pouvons exécuter la commande cp plusieurs fois pour y parvenir, mais ce ne sera pas le moyen le plus efficace. Pour effectuer une telle opération efficacement, nous pouvons utiliser une syntaxe alternative de la commande cp.

Donc, d’abord, créez un nouveau répertoire avec le nom répertoire-1:

$ mkdir dir-1

Maintenant, copions les trois fichiers dans le répertoire-1 répertoire à l’aide de la seule commande :

$ cp -v file-1.txt file-2.txt file-3.txt dir-1
Copier Plusieurs Fichiers Sous Linux
Copier Plusieurs Fichiers Sous Linux

La sortie ci-dessus montre que tous les fichiers ont été copiés dans le répertoire-1 annuaire. De plus, il est important de noter que, pour utiliser cette syntaxe alternative, le répertoire doit déjà être présent et doit être le dernier argument de la commande.

4. Comment éviter d’écraser le fichier

Par défaut, le CP La commande remplace le fichier de destination, ce qui signifie qu’elle écrasera le fichier s’il existe à la destination avec le même nom. Cependant, nous pouvons désactiver ce comportement par défaut en utilisant le -n option.

Pour comprendre cela, essayons d’écraser le fichier existant :

$ cp -n -v file-1.txt file-2.txt

Dans cet exemple, nous avons utilisé le -v possibilité d’illustrer que le fichier-2.txt le fichier n’a pas été écrasé.

5. Comment écraser le fichier avec confirmation

Dans l’exemple précédent, nous avons vu comment éviter l’écrasement du fichier de destination. Cependant, nous voulons parfois écraser la destination du fichier de manière plus sûre.

Dans de tels cas, nous pouvons utiliser le -i option de la commande pour rendre l’opération de copie interactive. Cette option affiche le message d’avertissement et attend la confirmation de l’utilisateur avant d’écraser le fichier.

Pour illustrer cela, essayons d’écraser le fichier existant :

$ cp -i file-1.txt file-2.txt

cp: overwrite 'file-2.txt'?

Comme nous pouvons le voir, la commande est en attente de confirmation. Tout comme les autres commandes Linux, nous pouvons utiliser 'y' continuer ou 'n' pour interrompre l’opération.

Ce comportement non interactif par défaut du CP la commande n’est pas très sûre. Il est possible que l’utilisateur écrase par erreur une configuration importante. Par conséquent, certaines distributions Linux appliquent le comportement interactif par défaut à l’aide de la commande alias :

$ alias cp='cp -i'

6. Écraser le fichier uniquement si la source est plus récente

Dans l’exemple précédent, nous avons vu comment utiliser le mode interactif. Cependant, parfois, un utilisateur peut écraser le fichier le plus récent par inadvertance.

Pour éviter de tels cas sujets aux erreurs, nous pouvons utiliser le -u option, qui tente l’opération de copie uniquement si la source est plus récente que la destination ou si le fichier n’est pas présent à la destination.

Tout d’abord, mettez à jour l’horodatage du fichier source :

$ touch -t 10101010 file-1.txt
$ ls -l file-1.txt

Dans l’exemple ci-dessus, nous avons utilisé le -t option de la commande touch pour définir l’horodatage du fichier sur 10 octobre 2010.

Ensuite, mettons à jour l’horodatage du fichier de destination à l’heure actuelle :

$ touch file-2.txt

Maintenant, essayons d’effectuer une opération de copie en utilisant le -u option:

$ cp -u -v file-1.txt file-2.txt

Ici, nous pouvons voir que l’opération de copie n’a pas été tentée car le fichier de destination est plus récent que la source.

Enfin, échangeons les arguments source et destination et effectuons l’opération de copie :

$ cp -u -v file-2.txt file-1.txt

Dans la sortie ci-dessus, nous pouvons observer que l’opération de copie réussit car le fichier source est plus récent que la destination.

Remplacer Le Fichier Uniquement Si La Source Est Plus Récente
Remplacer Le Fichier Uniquement Si La Source Est Plus Récente

7. Comment sauvegarder un fichier avant de l’écraser

Nous pouvons instruire le CP commande pour effectuer une sauvegarde du fichier de destination avant de l’écraser. Pour y parvenir, nous pouvons utiliser le --backup option, qui effectue des sauvegardes automatisées.

$ cp --backup=numbered -v file-1.txt file-2.txt

Dans cet exemple, nous avons utilisé la politique de sauvegarde numérotée. Cette politique utilise des nombres incrémentiels dans les noms de fichiers de sauvegarde.

Pour comprendre cela, exécutons la même commande plusieurs fois et observons le résultat :

$ cp --backup=numbered -v file-1.txt file-2.txt
$ cp --backup=numbered -v file-1.txt file-2.txt
$ cp --backup=numbered -v file-1.txt file-2.txt
Sauvegarder Le Fichier Avant De L'Écraser
Sauvegarder Le Fichier Avant De L&Rsquo;Écraser

8. Comment forcer la copie pour écraser le fichier

Dans les quelques exemples précédents, nous avons vu comment écraser le fichier de manière plus sûre. Cependant, dans de rares cas, l’exigence est d’écraser le fichier. Cependant, rien ne garantit que l’opération réussira à chaque fois.

Par exemple, l’opération de copie échouera si le fichier de destination ne dispose pas des autorisations d’écriture. Illustrons cela par un exemple.

Tout d’abord, modifiez les autorisations du fichier de destination :

$ chmod 444 file-2.txt
$ ls -l file-2.txt

Maintenant, essayons d’écraser le fichier-2.txt dossier:

$ cp file-1.txt file-2.txt

Dans la sortie ci-dessus, nous pouvons voir que la commande a échoué avec l’erreur d’autorisation refusée.

Pour contourner cette limitation, on peut utiliser le -f option, qui supprime les fichiers de destination et tente l’opération de copie si le fichier de destination ne peut pas être ouvert.

Maintenant, utilisons le -f option pour écraser le fichier avec force :

$ cp -f -v file-1.txt file-2.txt
Forcer La Copie Pour Écraser Le Fichier
Forcer La Copie Pour Écraser Le Fichier

9. Comment supprimer le fichier de destination avant la copie

Dans l’exemple précédent, nous avons vu comment supprimer le fichier de destination en cas d’erreur lors de son fonctionnement. Cependant, il est parfois nécessaire de supprimer d’abord le fichier de destination, puis d’effectuer l’opération de copie.

Pour répondre à une telle exigence, nous pouvons utiliser le --remove-destination option.

$ cp --remove-destination -v file-1.txt file-2.txt
Supprimer Le Fichier De Destination Avant La Copie
Supprimer Le Fichier De Destination Avant La Copie

Dans la sortie ci-dessus, nous pouvons voir que la commande cp supprime d’abord le fichier de destination, puis effectue l’opération de copie.

10. Comment créer un fichier de lien physique au lieu de le copier

Nous pouvons créer un lien physique au lieu de créer une nouvelle copie du fichier source. Cette option joue un rôle important en cas de pénurie d’espace disque.

Alors, utilisons le -l possibilité de créer un lien dur :

$ cp -l -v file-1.txt file-4.txt

Maintenant, vérifions les numéros d’inode des deux fichiers pour vérifier les liens physiques :

$ ls -i1 file-1.txt file-4.txt
Créer Un Fichier De Lien Physique Au Lieu De Le Copier
Créer Un Fichier De Lien Physique Au Lieu De Le Copier

Dans la sortie ci-dessus, les nombres de la première colonne représentent les numéros d’inode.

11. Comment créer un fichier Soft Link au lieu de le copier

De la même manière, nous pouvons créer un lien symbolique au lieu de créer une nouvelle copie en utilisant le -s comme indiqué ci-dessous :

$ cp -s -v file-1.txt file-5.txt

Vérifions maintenant que le lien symbolique a bien été créé :

$ ls -l file-5.txt
Créer Un Lien Symbolique Au Lieu De Copier
Créer Un Lien Symbolique Au Lieu De Copier

Dans la sortie ci-dessus, les dernières colonnes représentent la relation de lien symbolique.

12. Comment conserver les attributs du fichier lors de la copie

Il existe différents attributs associés au fichier, tels que son heure d’accès, son heure de modification, ses autorisations, etc. Par défaut, ces attributs ne sont pas conservés lors de la copie du fichier. Pour remplacer ce comportement par défaut, nous pouvons utiliser le -p option.

Pour comprendre cela, commencez par mettre à jour l’horodatage du fichier-1.txt:

$ touch -t 10101010 file-1.txt

Créons maintenant une copie de ce fichier en préservant tous ses attributs :

$ cp -p -v file-1.txt file-6.txt

Enfin, vérifiez l’horodatage du fichier-6.txt dossier:

$ ls -l file-6.txt
Conserver Les Attributs Du Fichier Lors De La Copie
Conserver Les Attributs Du Fichier Lors De La Copie

Preserve File Attributes While Copying 1

13. Comment effectuer une opération de copie de manière récursive

Jusqu’à présent, nous avons vu comment copier un seul fichier. Cependant, nous devons souvent copier tous les fichiers et sous-répertoires du répertoire particulier.

Dans de tels cas, nous pouvons utiliser le mode récursif soit en utilisant le -r ou alors -R option.

Créons donc un répertoire et ajoutons-y quelques fichiers et sous-répertoires :

$ mkdir -p dir-1/dir-2
$ touch dir-1/file-1.txt dir-1/dir-2/file-2.txt

Ensuite, vérifiez que la structure du répertoire a été créée correctement :

$ tree dir-1

Maintenant, copions le répertoire dir-1 de manière récursive à l’aide de la commande suivante :

$ cp -r -v dir-1 dir-3

Enfin, vérifiez que tous les fichiers et sous-répertoires ont bien été copiés :

$ tree dir-3
Copier Récursivement Des Fichiers
Copier Récursivement Des Fichiers

14. Comment copier plusieurs répertoires

Semblable aux fichiers, nous pouvons copier plusieurs répertoires de manière récursive à l’aide d’une seule commande. Cependant, pour y parvenir, le répertoire de destination doit déjà être présent et il doit être le dernier argument de la commande. Comprenons cela avec un exemple.

Tout d’abord, créez un répertoire un nouveau répertoire :

$ mkdir dir-4

Maintenant, copions le répertoire-1 et rép-3 répertoires dans le dir-4 répertoire à l’aide de la commande ci-dessous :

$ cp -r -v dir-1 dir-3 dir-4

De la même manière, nous pouvons utiliser le -t option de la commande pour obtenir le même résultat. Cette option nous permet de spécifier le répertoire de destination. Nous pouvons donc également l’utiliser comme premier argument :

$ cp -t dir-4 -r -v dir-1 dir-3
Copier Plusieurs Répertoires
Copier Plusieurs Répertoires

Dans cet article, nous avons expliqué comment copier des fichiers et des répertoires à l’aide de commande cp. Les débutants peuvent se référer à ces exemples dans la vie de tous les jours tout en travaillant avec des systèmes Linux.

Connaissez-vous un autre meilleur exemple de la commande cp sous Linux ? Faites-nous part de vos opinions dans les commentaires ci-dessous.

Rate this post
Publicité
Article précédentHanako-kun, lié aux toilettes, annonce le « redémarrage du projet d’anime »
Article suivantGemini, Genesis et DCG présentent le plan de relance BTC et ETH
Avatar
Violette Laurent est une blogueuse tech nantaise diplômée en communication de masse et douée pour l'écriture. Elle est la rédactrice en chef de fr.techtribune.net. Les sujets de prédilection de Violette sont la technologie et la cryptographie. Elle est également une grande fan d'Anime et de Manga.

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici