Comment copier un répertoire/dossier sous Linux via la ligne de commande !
Il existe différentes commandes dans les systèmes d’exploitation Linux pour copier un dossier. La commande cp vous aide à le faire. Pour organiser les fichiers sur votre serveur, vous aurez besoin de faire des copies. Avec la commande cp, vous pouvez copier un répertoire et un sous-répertoire entier avec son contenu et tout ce qui se trouve en dessous. cp et rsync sont l’une des commandes les plus populaires pour copier des fichiers et un répertoire.
Dans ce tutoriel, nous allons expliquer comment copier le dossier dans le système d’exploitation Linux.
Syntaxe de base de la commande cp
La commande cp est utilisée pour copier des fichiers ou des répertoires dans Linux. Elle crée une copie exacte d’un fichier sur un disque avec un nom différent.
La syntaxe de base de la commande cp est présentée ci-dessous :
cp Source Destination
cp Source-1 Source-2 Source-3 Destination
Vous devriez voir toutes les options disponibles avec la commande cp en exécutant la commande suivante :
cp --help
Vous devriez voir l’écran suivant :
Copier des répertoires avec la commande cp
Si vous voulez copier un répertoire, y compris tous ses fichiers et sous-répertoires, utilisez l’option -R ou -r avec la commande cp.
Par exemple, copiez le répertoire /etc dans le répertoire /opt avec la commande suivante :
cp -R /etc /opt/
La commande ci-dessus créera un répertoire de destination et copiera tous les fichiers et sous-répertoires de manière récursive dans le répertoire /opt.
Si le répertoire de destination existe déjà et que vous voulez copier uniquement les fichiers et sous-répertoires mais pas les répertoires cibles, exécutez la commande cp avec l’option -T comme indiqué ci-dessous :
cp -RT /etc /opt/
Si vous voulez préserver les attributs spécifiés tels que, la propriété, les horodatages, le contexte et les liens, exécutez la commande cp avec l’option -a comme indiqué ci-dessous :
cp -aR /etc /opt/
Si vous voulez afficher la sortie pendant le processus de copie, utilisez l’option -v avec la commande cp :
cp -avR /etc /opt/
Vous devriez voir la sortie comme indiqué ci-dessous:
Si vous voulez copier uniquement le contenu du répertoire /etc vers /opt, vous devrez spécifier le caractère générique étoile comme indiqué ci-dessous :
cp -avR /etc/* /opt/
Si vous voulez copier plusieurs répertoires comme, /etc et /var vers le répertoire /opt exécutez la commande suivante :
cp -avR /etc /var /opt/
Note : Pour copier des répertoires, vous devez avoir les droits de lecture sur le répertoire source et les droits d’écriture sur le répertoire de destination.
Copier des répertoires avec la commande rsync
rsync est un outil avancé de copie de fichiers qui vous permet de copier un répertoire à travers local l’emplacement distant.
La syntaxe de base de la commande rsync est indiquée ci-dessous:
rsync SOURCE DESTINATION
Vous pouvez voir toutes les options disponibles avec la commande rsync comme indiqué ci-dessous:
rsync --help
Vous devriez voir l’écran suivant :
Pour copier le répertoire /etc vers /opt, exécutez la commande suivante:
rsync -a /etc /opt
Dans la commande ci-dessus, l’option -a copiera un répertoire avec toutes ses permissions et autres informations, y compris la copie récursive. Si le répertoire de destination existe, rsync l’écrasera.
Si vous voulez copier uniquement le contenu du répertoire /etc, alors mettez une barre oblique de fin / à la fin de /etc:
rsync -a /etc/ /opt
Vous pouvez utiliser rsync avec l’option -v pour afficher la sortie verbeuse comme indiqué ci-dessous:
rsync -av /etc /opt
Vous devriez voir l’écran suivant :
Si vous voulez afficher la progression pendant le processus de copie, exécutez la rsync avec l’option -P comme indiqué ci-dessous:
rsync -avP /etc /opt
Vous pouvez également utiliser l’option -z avec la commande rsync pour compresser les données du fichier pendant le transfert :
rsync -avz /etc /opt
Si vous voulez exclure un répertoire spécifique de la source, exécutez la commande suivante :
rsync -a --exclude 'directoryname' /opt/
Pour exclure plusieurs répertoires, exécutez la commande suivante :
rsync -a --exclude {'directory1', 'directory2', 'directory3'} /opt/
Si vous voulez copier plusieurs répertoires dans /opt, exécutez la commande suivante :
rsync -a /etc /usr /opt/
Conclusion
Dans le tutoriel ci-dessus, nous avons appris à copier un répertoire avec la commande cp et rsync. Pour plus d’informations, vous pouvez consulter la documentation officielle de Rsync à l’adresse Rsync Doc.