Comment copier le contenu d'un dossier vers un autre dossier dans un répertoire différent en utilisant le terminal ?

J'essaie de copier le contenu d'un dossier vers un autre dossier dans un répertoire différent en utilisant le terminal.

Quelqu'un pourrait-il me donner un exemple de la syntaxe de ligne de commande nécessaire pour y parvenir ?

Vous pouvez copier le contenu d'un dossier /source vers un autre dossier existant /dest avec la commande

cp -a /source/. /dest/

L'option -a est une option récursive améliorée, qui préserve tous les attributs des fichiers, ainsi que les liens symboliques.

Le . à la fin du chemin source est une syntaxe cp spécifique qui permet de copier tous les fichiers et dossiers, y compris les fichiers cachés.

Commentaires (16)

Une alternative est rsync

rsync -r source/ destination

Les avantages de rsync sont :

  1. Après la synchronisation initiale, il ne copiera ensuite que les fichiers qui ont été modifiés.

  2. Vous pouvez l'utiliser sur un réseau, ce qui est pratique pour les fichiers dans $HOME, en particulier les fichiers de configuration.

Commentaires (10)

Disons que vous avez un dossier appelé dossier1 dans votre ~, à l'intérieur de dossier1 il y a 1 fichier appelé file1 et 2 dossiers appelés sub1 et sub2 chacun avec d'autres fichiers et dossiers à l'intérieur.

Pour copier tout le contenu de ~/dossier1 vers ~/nouveau_dossier1, vous devez utiliser

cp -r ~/folder1/. ~/new_folder1

Le nouveau_dossier1 contiendra alors tous les fichiers et dossiers du dossier1.

cp est la commande pour copier en utilisant un terminal, -r le fait récursivement (donc, répertoire courant + autres répertoires à l'intérieur de courant) ~/folder1 est le dossier d'origine, ~/new_folder1 est le dossier de destination pour les fichiers/dossiers à l'intérieur de l'origine.

Commentaires (7)