0 votes

La méthode recommandée pour copier le contenu d'un répertoire dans un autre est la suivante

Pour copier le contenu d'un répertoire dans un autre, je peux utiliser ce qui suit :

cp -Rip source-dir/ ../destination-dir/

Cependant, il semble que l'utilisation de la barre oblique à la fin du répertoire source lors de l'utilisation de cp et mv Les commandes sont quelque peu découragé .

Pas de barre oblique dans le répertoire source

Vous ne doit pas mettre une barre oblique à la fin du répertoire source :

Ce point est pertinent pour cp - mais aussi à mv où il est beaucoup plus plus important .

Je citerai l'avertissement du manuel - notez qu'il ne se trouve pas dans la page man, mais dans la page info info coreutils 'mv invocation' :

Avertissement : Évitez de spécifier un nom de source avec une barre oblique à la fin, lorsqu'il s'agit d'un lien symbolique vers un répertoire. Sinon, 'mv' peut faire quelque chose de très surprenant, puisque son comportement dépend de l'appel système sous-jacent rename sous-jacent. Sur un système doté d'un noyau moderne basé sur Linux, il échoue avec 'errno=ENOTDIR'. Cependant, sur d'autres systèmes (au moins FreeBSD 6.1 et Solaris 10), il renomme silencieusement non pas le lien symbolique mais le répertoire référencé par le lien symbolique.

Est-ce vraiment le cas ? Et si la réponse est "oui", quelle est la méthode recommandée pour copier le contenu d'un répertoire ?

1voto

rdbreak Points 11

Je n'ai peut-être pas compris le sens de la question, mais ne pourriez-vous pas simplement utiliser le globbing ?

Par exemple : cp -Rip source_dir/* ../destination_dir

Les * après la barre oblique de fin copierait la structure du répertoire de manière récursive sans copier le répertoire lui-même.

 lt *_dir

destination_dir:

source_dir:

       testdir/
         test_1_1.txt
         test_1_2.txt
         test_1_3.txt
       test_1.txt
       test_2.txt
       test_3.txt

    Found 7 items in total.

    Folders         : 1
    Recognized files    : 6
    Unrecognized files  : 0

 cp -Rip source_dir/* destination_dir
 lt *_dir

destination_dir:

       testdir/
         test_1_1.txt
         test_1_2.txt
         test_1_3.txt
       test_1.txt
       test_2.txt
       test_3.txt

source_dir:

       testdir/
         test_1_1.txt
         test_1_2.txt
         test_1_3.txt
       test_1.txt
       test_2.txt
       test_3.txt

    Found 14 items in total.

    Folders         : 2
    Recognized files    : 12
    Unrecognized files  : 0

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X