¿Qué significa "cp: omitir directorio"?

362

He emitido el siguiente comando:

sudo cp ~/Transfers/ZendFramework-1.11.4-minimal/library/Zend/* ~/public_html/cmsk.dev/library/

Cuando hago esto, comienzo a recibir los siguientes mensajes:

cp: omitting directory 'Tag' 
cp: omitting directory 'Test' 
cp: omitting directory 'Text' 
cp: omitting directory 'TimeSync' 
cp: omitting directory 'Tool' 
cp: omitting directory 'Translate' 
cp: omitting directory 'Uri' 
cp: omitting directory 'Validate' 

y así sucesivamente ...

¿Por qué recibo estos mensajes?

    
pregunta MEM 18.04.2011 - 17:11

6 respuestas

473

De forma predeterminada, cp copia solo los archivos directos en, y no los subdirectorios en el directorio. El mensaje cp: omitting directory 'directory' le advierte que el directorio mencionado no se copia.

Para hacerlo, especifique la opción -r (o --recursive ):

sudo cp -r ~/Transfers/ZendFramework-1.11.4-minimal/library/Zend/* ~/public_html/cmsk.dev/library/

La página de manual (comando: man cp ) contiene una descripción general de las opciones disponibles.

    
respondido por el Lekensteyn 18.04.2011 - 17:15
34

El mensaje significa que cp no ha copiado los directorios enumerados. Este es el comportamiento predeterminado para cp : solo los archivos se copian normalmente, independientemente de si los está especificando explícitamente o utilizando * . Si quiere copiar directorios, use el modificador -r que significa "recursivo".

    
respondido por el Roger Light 18.04.2011 - 17:15
14

Un par de cosas aquí que deben verificarse:

  1. No use sudo . No lo necesita, ya tiene los permisos para escribir cosas en su propio directorio de inicio.

  2. Puede ver fácilmente los archivos y directorios ocultos en el administrador de archivos gráficos seleccionando Ver / Mostrar archivos ocultos en el menú. O presionando Ctrl - H .

  3. Necesita utilizar la opción -R en el comando cp para copiar un directorio y sus contenidos.

  4. / home no es su directorio de inicio. / home / nombre de usuario es. Probablemente estés intentando copiar desde el lugar equivocado.

  5. El shell distingue entre mayúsculas y minúsculas, por lo que ~ / descargas y ~ / Descargas son dos cosas diferentes.

respondido por el Nikunj K. 04.10.2013 - 09:02
2

Cuando está copiando un directorio como:

cp dir1 copy_of_dir1

Usted solo y exactamente está copiando el dir1 y no los archivos dentro de él, por lo que al final terminará con una nueva estructura de directorio mientras la estructura no existe.

En otras palabras, después de haber sido copiado, dirá que mi contenido es file1 , file2 , etc; Sin embargo, estos archivos no se han copiado y, por lo tanto, no existen en él.

Entonces, para solucionar este problema que puede aparecer cp de forma predeterminada, no se copian los directorios y se saltan a menos que se especifique la opción -r , que también copia todos los archivos recursivamente.

    
respondido por el Ravexina 03.07.2017 - 09:47
1

La razón por la que dice omitting directory es porque cp y todas las utilidades de copia, que yo sepa, crean una lista de archivos y subdirectorios para copiar antes de comenzar a copiar los archivos. Cuando faltan las opciones --recursive , los subdirectorios se saltan de esta lista. Como tal, omitir se refiere a la eliminación de la lista de copias, no de sus medios de origen. Creo que esto aborda el significado del mensaje.

    
respondido por el endrias 24.07.2017 - 10:32
-1

Supongamos que tiene dos directorios 'Etiqueta' y amp; 'Prueba'

Si desea copiar el directorio 'Etiqueta' al 'Directorio de prueba' use el comando

$ : cp -r Tag Test (case sensitive)

En su mayoría, el problema se resolverá con el código anterior si no es así, y aparecerá el mensaje siguiente como

cp: omitting directory 'Tag' 
cp: omitting directory 'Test'

luego agregue algunos archivos en el directorio 'Etiqueta' y luego cópielos en 'Prueba'. En realidad, tengo el mismo problema, pero resuelto como lo que dije en segundo lugar.

    
respondido por el jainmiah shaik 03.07.2017 - 09:14

Lea otras preguntas en las etiquetas