Estoy tratando de copiar archivos y subcarpetas de la carpeta A sin la A en sí. Por ejemplo, una carpeta contiene el siguiente:
| file1.txt
| file2.txt
| subfolder1
Ejecutar el siguiente comando me da un resultado incorrecto:
sudo cp -r /home/username/A/ /usr/lib/B/
El resultado es
/usr/lib/B/A/...copied files...
en lugar de..
/usr/lib/B/...copied files...
¿Cómo puedo llegar al esperado sin la carpeta de origen?
bash
command-line
cp
pushandpop
fuente
fuente

A/*tiene sentido, pero hay situaciones en las que no funciona.shoptEsbashespecífico. Conzsh, uso*(D). conksh93,FIGNORE='@(.|..)'.cp -tes específico de GNU. Elfinduno no funcionará correctamente, ya que copiará ambosA/y su contenido (incluidas las subdirecciones) varias veces.-maxdepth 1(-mindepthy-maxdepthser extensiones GNU ahora también es compatible con algunos otros. Portablementefind .../. ! -name . -prune -exec ....)find .../.Causa un error aquí.Si está en un sistema GNU, de
man cp:Esto le permite escribir
cp -rT /home/username/A/ /usr/lib/B/para hacer exactamente lo correcto.fuente
cp. Pero eso es cierto que-Tno funcionará con un no GNUcp.Indique
cpque copie el contenido del directorio y no el directorio en sí:fuente
shopt -s dotglobesto funcione si hay algún archivo de puntos/home/username/A/.