He emitido el siguiente comando:
sudo cp ~/Transfers/ZendFramework-1.11.4-minimal/library/Zend/* ~/public_html/cmsk.dev/library/
Cuando hago esto, empiezo 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í...
¿Por qué recibo estos mensajes?
*
es expandido por Bash, no porcp
. Pruébelo usted mismo poniendoecho
delante de su comando. Cuando se expande, coincide todo con un precedente...library/Zend/
(los archivos y directorios que contiene).omitting directory 'directory'
no significa que esté eliminando ese directorio.chmod a+rx ~/
después de que intenté copiarlocp /home/2110/* /home/2111/
, produce un error que indica que el permiso fue denegado. donde estaba equivocado lamento comentar porque no puedo hacer preguntas duplicadas. espero respuesta rápida :)/home/2110
son propiedad del usuario 2110 mientras que los archivos en/home/2111
son propiedad de 2111. Para configurar el propietario, use algo comosudo chown -R 2111 /home/2111
.El mensaje significa que
cp
no ha copiado los directorios enumerados. Este es el comportamiento predeterminado paracp
: solo los archivos se copian normalmente, independientemente de si los está especificando explícitamente o utilizando*
. Si desea copiar directorios, use el-r
interruptor que significa "recursivo".fuente
Un par de cosas aquí que deben verificarse:
No utilice
sudo
. No lo necesita, ya tiene los permisos para escribir cosas en su propio directorio personal.Puede ver fácilmente archivos y directorios ocultos en el administrador de archivos gráficos seleccionando Ver / Mostrar archivos ocultos en el menú. O presionando Ctrl- H.
Debe usar la
-R
opción en elcp
comando para copiar un directorio y su contenido./ home no es tu directorio de inicio. / home / nombre de usuario es. Entonces probablemente estés intentando copiar desde un lugar equivocado.
El shell distingue entre mayúsculas y minúsculas, por lo que ~ / downloads y ~ / Downloads son dos cosas diferentes.
fuente
Cuando está copiando un directorio como:
Solo está copiando exactamente y en
dir1
sí mismo y no los archivos dentro de él, por lo que al final terminará con una nueva estructura de directorio mientras la estructura no exista.En otras palabras, después de que haya sido copiado que va a decir que mis contenidos 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 surgir
cp
por defecto, no copie los directorios y los omita a menos que especifique la-r
opción que también copia todos los archivos de forma recursiva.fuente
La razón por la que dice
omitting directory
es porquecp
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--recursive
faltan las opciones, los subdirectorios se eliminan de esta lista. Como tal, la omisión se refiere a la eliminación de la lista de copias, no de los medios de origen. Creo que esto aborda el significado del mensaje.fuente
El comando cp se usa para copiar archivos y directorios, no los directorios anidados, si desea copiar directorios anidados, puede agregar -r después de eso, donde -r significa recursivo.
Sintaxis que puede seguir (ejecutándose como root):
o
fuente
Supongamos que tiene dos directorios 'Etiqueta' y 'Prueba'
Si desea copiar el directorio 'Tag' al directorio 'Test' use el comando
En su mayoría, el problema se resolverá con el código anterior si no, y obtendrá el siguiente mensaje como
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.
fuente