Comment copier des fichiers et des répertoires à l'aide d'un terminal Linux

Suraj Joshi 30 janvier 2023
  1. Copier des fichiers à l’aide de la commande cp
  2. Copier des fichiers dans un répertoire en utilisant la commande cp
  3. Copie de plusieurs fichiers
  4. Copier des répertoires à l’aide de la commande cp
  5. Copier des fichiers et des répertoires en utilisant la commande rsync
Comment copier des fichiers et des répertoires à l'aide d'un terminal Linux

Nous pouvons copier des fichiers et des répertoires avec les commandes cp et rsync en utilisant le Terminal Linux. La commande cp est généralement utilisée pour copier des fichiers tandis que la commande rsync est généralement utilisée pour copier des répertoires.

Copier des fichiers à l’aide de la commande cp

Nous utilisons la commande cp dans les systèmes d’exploitation Linux et Unix pour copier des fichiers et des répertoires.

Pour copier le contenu du fichier abc.txt dans un autre fichier backup.txt, nous utilisons la commande suivante:

cp abc.txt backup.txt

Elle copie le contenu du fichier abc.txt dans le fichier backup.txt. Ici, les deux fichiers doivent se trouver dans le répertoire de travail courant.

Si le fichier de destination existe déjà, le contenu du fichier de destination sera écrasé.

Nous pouvons ajouter le drapeau -i à la commande cp pour obtenir une demande de confirmation avant la copie.

cp -i abc.txt backup.txt

Production:

cp: overwrite 'backup.txt'?

Si nous souhaitons copier le fichier, nous appuyons sur la touche Y et sur Enter.

Pour obtenir des informations ou une idée de ce qui est fait en utilisant la commande cp, nous pouvons utiliser le drapeau -v avec la commande cp.

cp -v abc.txt backup.txt

Production:

'abc.txt' -> 'backup.txt'

Il montre que le contenu de abc.txt est copié sur backup.txt.

Copier des fichiers dans un répertoire en utilisant la commande cp

Pour copier un fichier dans un répertoire, nous utilisons la commande cp. Le premier argument de la commande cp sera le nom du fichier à copier, et le second argument sera le chemin absolu ou relatif du répertoire dans lequel le fichier doit être copié.

cp abc.txt ./test

Elle copie le fichier abc.txt dans le répertoire de travail courant dans le dossier du répertoire de travail courant test.

Pour copier le fichier dans le répertoire particulier avec un nom différent de celui du fichier parent, on peut spécifier le nom du fichier comme:

cp abc.txt ./test/test.txt

Il copie le fichier abc.txt dans le dossier test avec le nom test.txt.

Copie de plusieurs fichiers

Nous pouvons copier plusieurs fichiers et répertoires dans un répertoire particulier en utilisant la commande cp en spécifiant tous les fichiers et répertoires sources suivis du répertoire de destination à la fin.

cp abc.txt backup.txt test backup

Cela permet de copier les fichiers abc.txt et backup.txt et le dossier test dans le dossier backup.

La commande cp permet également la correspondance de motifs.

cp *.txt backup

Cela copie tous les fichiers avec l’extension .txt dans le répertoire de travail actuel dans le dossier backup.

Copier des répertoires à l’aide de la commande cp

Nous utilisons le drapeau -r ou -R avec la commande cp pour copier le répertoire et ses sous-répertoires et fichiers dans le répertoire de destination.

cp -r pp Project

Il copie l’intégralité du répertoire pp et ses sous-répertoires et fichiers dans le répertoire de destination Project.

Dans cet exemple, il y aura un répertoire pp à l’intérieur du répertoire Projet.

Cependant, si nous souhaitons seulement copier les fichiers et les sous-répertoires, nous utilisons le drapeau -T avec le drapeau -R.

cp -RT pp Project

Il copie les sous-répertoires et les fichiers du répertoire pp dans le répertoire de destination Projet.

Copier des fichiers et des répertoires en utilisant la commande rsync

Rsync est un utilitaire en ligne de commande pour synchroniser des fichiers et des répertoires entre deux hôtes. Si les chemins source et destination représentent tous deux le localhost, la commande rsync se comporte comme une commande de copie.

rsync -a abc.txt backup.txt

Elle copie le contenu de abc.txt dans backup.txt.

Ici, le drapeau -a permet de préserver les liens symboliques, les heures de modification, le groupe, la propriété et les autorisations pendant la copie.

De même, on peut copier un répertoire dans un autre répertoire.

rsync -a /abc /backup-abc

Il copie le contenu du répertoire abc dans le répertoire de destination backup-abc.

Ici, si nous omettons la barre oblique /, alors le répertoire source sera copié dans le répertoire de destination.

Auteur: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

Article connexe - Linux Files and Directories