1140 votes

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

Je suis en train d'essayer de copier le contenu d'un dossier vers un autre dossier dans un répertoire différent en utilisant le terminal.

Est-ce que quelqu'un pourrait me fournir un exemple de la syntaxe de la ligne de commande nécessaire pour y parvenir ?

4voto

Luca Matteis Points 19338

J'aime cette commande

rsync -av --progress ~/code/project-source/. ~/code/project-destination --exclude .git --exclude node_modules

Certaines des options couramment utilisées dans la commande rsync sont répertoriées ci-dessous :

  • -v, –verbose : sortie détaillée
  • -q, –quiet : supprime la sortie des messages
  • -a, –archive : archive les fichiers et répertoires lors de la synchronisation ( -an équivaut aux options suivantes -rlptgoD)
  • -r, –recursive : synchronise les fichiers et répertoires de manière récursive
  • -b, –backup : effectue une sauvegarde pendant la synchronisation
  • -u, –update : ne copie pas les fichiers de la source vers la destination si les fichiers de destination sont plus récents
  • -l, –links : copie les liens symboliques en tant que liens symboliques lors de la synchronisation
  • -n, –dry-run : effectue un essai sans synchronisation
  • -e, –rsh=COMMAND : mentionne le shell distant à utiliser dans rsync
  • -z, –compress : compresse les données des fichiers pendant le transfert
  • -h, –human-readable : affiche les chiffres de sortie dans un format lisible par l'homme
  • –progress : affiche la progression de la synchronisation pendant le transfert

3voto

vimal krishna Points 239

Si vous avez deux dossiers : (avec autorisation d'écriture)

drwxr-xr-x 4 vimal vimal  4096 Sep  9 12:17 .
drwxr-xr-x 3 root  root   4096 Aug 18 14:35 ..
drwxrwxrwx 6 vimal vimal  4096 Sep  9 12:15 DONNÉES
drwxrwxrwx 7 vimal vimal  4096 Sep  9 12:15 PORTAIL

Si vous êtes à l'intérieur du dossier appelé PORTAIL où vous souhaitez copier tout le contenu d'un autre dossier appelé DONNÉES au même niveau alors vous ferez

vimal@vimal-D3H:/var/www/html/PORTAIL$ cp -a ../DONNÉES/. .

Vous devez remarquer 2 points. Le dernier point signifie copier ici dans le dossier actuel

et

un /DONNÉES/. indiquant que tous les CONTENUS à l'intérieur du dossier DONNÉES doivent être copiés, et non pas le dossier DONNÉES lui-même.

Si vous retirez ce "." final de /DONNÉES/

alors tout le dossier DONNÉES sera copié à l'intérieur de PORTAIL (d'où vous copiez).

1voto

Kai - Kazuya Ito Points 111

Cela copie tout le contenu du folder1 vers un folder2 existant :

cp -r folder1/* folder2

0 votes

Ce n'est pas une bonne réponse, car le joker astérisque ne correspond qu'aux caractères alphanumériques. Ainsi, cette réponse ne correspondrait qu'aux fichiers commençant par un alphanumérique, donc les fichiers cachés (commençant par .) seraient exclus.

0 votes

Il est préférable d'utiliser cp -T dossier1 dossier2 il peut aussi être avisé d'ajouter -n ou -b

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X