0 votos

La forma recomendada de copiar el contenido de un directorio en otro

Para copiar el contenido de un directorio en otro, puedo utilizar lo siguiente:

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

Sin embargo, parece que el uso de la barra al final del directorio fuente cuando se utiliza cp y mv comandos es algo desanimado .

Sin barra final en el directorio fuente

Usted no debe poner una barra al final del directorio fuente:

El punto es relevante para cp - sino también a mv donde es mucho más importante .

Citaré la advertencia del manual - nótese que no se encuentra en la página man, sino en la página info info coreutils 'mv invocation' :

Advertencia : Evite especificar un nombre de fuente con una barra al final, cuando pueda ser un enlace simbólico a un directorio. De lo contrario, 'mv' puede hacer algo muy sorprendente, ya que su comportamiento depende de la llamada al sistema subyacente. En un sistema con un kernel moderno basado en Linux, falla con falla con 'errno=ENOTDIR'. Sin embargo, en otros sistemas (al menos FreeBSD 6.1 y Solaris 10) no renombra silenciosamente el symlink sino sino el directorio referenciado por el enlace simbólico.

¿Es realmente así? Y si la respuesta es "sí", ¿cuál es la forma recomendada de copiar el contenido de un directorio?

0voto

rdbreak Puntos 11

Puede que no esté entendiendo bien el objetivo de la pregunta, pero ¿no se podría utilizar globbing?

Por ejemplo: cp -Rip source_dir/* ../destination_dir

En * después de la barra oblicua final copiaría la estructura del directorio de forma recursiva sin copiar el directorio en sí.

 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

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X