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.
Une alternative est rsync
rsync -r source/ destination
Les avantages de rsync sont :
Après la synchronisation initiale, il ne copiera ensuite que les fichiers qui ont été modifiés.
Vous pouvez l'utiliser sur un réseau, ce qui est pratique pour les fichiers dans $HOME, en particulier les fichiers de configuration.
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.