GNU/Linux >> Tutoriels Linux >  >> Linux

Comment copier un répertoire en ligne de commande Linux [Astuce du débutant]

Si vous débutez avec la ligne de commande Linux, vous avez probablement cette question en tête :comment copier un répertoire et les fichiers qu'il contient dans un autre répertoire en ligne de commande Linux ?

Voici comment copier un répertoire sous Linux :

cp -r source_directory destination_directory

Vous savez probablement déjà que vous pouvez utiliser la commande cp pour copier des fichiers sous Linux. Savez-vous que vous pouvez utiliser la même commande cp pour copier un dossier en ligne de commande Linux ?

Ha ! Vous avez déjà essayé cela et peut-être avez-vous cette erreur :

cp: -r not specified; omitting directory 'test_dir'

Laissez-moi vous montrer une chose ou deux sur la copie de répertoire sous Linux.

Copier le répertoire dans la ligne de commande Linux

Vous pouvez certainement utiliser la même commande cp mais avec l'option récursive -r pour copier un dossier avec son contenu dans un autre dossier. L'erreur mentionnée ci-dessus indique également que vous avez manqué l'option -r.

Tout ce que vous avez à faire est d'utiliser la commande de cette manière :

cp -r source_directory destination_directory

Et maintenant, si vous utilisez la commande ls sur le répertoire de destination, il devrait contenir tout le répertoire source.

L'option -r autorise l'option récursive. Cela signifie que tout le contenu du répertoire, y compris ses propres sous-répertoires, tout ce qui se trouve dans le répertoire sera copié vers la destination.

Quelques choses à noter sur la copie de répertoire sous Linux

Voici quelques points à noter et des conseils sur la copie de dossiers.

Le répertoire de destination n'existe pas ? Il sera créé

Si le répertoire de destination n'existe pas (mais le chemin existe), il sera créé jusqu'à un niveau (expliqué dans la section suivante). Cependant, il copiera désormais le contenu du répertoire source, et non le répertoire source lui-même.

Par exemple, si vous faites ceci :

cp -r source_directory non_existing_directory

Le non_existing_directory sera créé avec le contenu du source_directory mais il n'aura pas le source_directory à l'intérieur. Seuls les fichiers de source_directory seront copiés. Ce serait comme si non_existing_directory serait une réplique de source_directory.

[email protected]:~$ ls
test_dir
[email protected]:~$ cp -r test_dir new_dir
[email protected]:~$ tree
 .
 ├── new_dir
 │   ├── c.xyz
 │   ├── myzip1.zip
 │   └── myzip2.zip
 └── test_dir
     ├── c.xyz
     ├── myzip1.zip
     └── myzip2.zip
 2 directories, 6 files

Impossible de créer un répertoire imbriqué lors de la copie

Vous ne pouvez pas utiliser la commande ci-dessus pour créer une structure de répertoire imbriquée.

Par exemple, si vous essayez d'utiliser cp -r source_dir dir1/dir2/dir3 mais que dir2 et dir3 n'existent pas, la structure de répertoires imbriquée ne sera pas créée et la commande échouera.

Conserver les attributs du fichier d'origine

Un dernier conseil pour faire court. Si vous utilisez l'option -a avec l'option -r, les informations sur le fichier d'origine telles que les autorisations de fichier, les horodatages de fichier, etc. seront conservées. Il archivera le répertoire dans le nouvel emplacement au lieu de le créer à nouveau.

C'est tout

Cette quantité d'informations devrait vous suffire pour savoir comment copier un répertoire sous Linux. Si vous avez des questions ou des suggestions, n'hésitez pas à laisser un commentaire.


Linux
  1. Comment supprimer des fichiers et des répertoires dans la ligne de commande Linux [Tutoriel du débutant]

  2. Comment redémarrer Linux en utilisant la ligne de commande

  3. Commande Linux cp

  4. linux :comment exécuter une commande dans un répertoire donné

  5. À l'aide de la commande cp dans le shell Linux, comment copier un répertoire entier dans un autre répertoire ?

Comment déplacer un répertoire sous Linux

Supprimer le répertoire sous Linux - Comment supprimer un dossier de la ligne de commande

Comment mettre à jour Ubuntu Linux [Astuce du débutant]

Comment copier un répertoire sous Linux

Comment compter les fichiers dans le répertoire sous Linux

Comment trouver une adresse IP dans la ligne de commande Linux