GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo copiar archivos y subdirectorios ocultos (comenzando con un punto) en Linux?

Siempre que solo esté buscando archivos y carpetas ocultos en el nivel A y no quiera, por ejemplo

A/b/.hidden

para ser copiado, deberías poder usar esto:

cp -r A/.[^.]* B

Básicamente significa copiar cualquier cosa que comience con un . y luego cualquier carácter que no sea un . Eso filtra . y ..

Editar:se eliminó la -p del comando cp ya que el autor de la pregunta no ha indicado que quiere conservar las propiedades, las fechas, etc.


El problema con A/.* es que existe el directorio . en A que también coincide con el patrón.

Puede activar patrones globales extendidos y usar lo siguiente:

shopt -s extglob
cp -r A/.!(?(.)) B    

Coincide con archivos cuyo nombre comienza con un punto y cuyo segundo carácter no es ni un punto ni nada ( ?(.) coincide con nada o un punto, !(...) lo niega, es decir, !(?(.)) coincide con todo lo demás que nada o un punto).


Para casos como este recomendaría usar find en lugar de cp así:

find A/ -type f -maxdepth 1 -name '.*' -exec cp -p {} B/ \;

La sintaxis básica se descompone así:

  • find A/ -type f :find elementos en el directorio A/ cuyo tipo es un archivo (en lugar de un directorio)…
  • -maxdepth 1 -name '.*' :A esto por un maxdepth de 1 directorios y cuyo name comienza con . .
  • -exec cp -p {} B/ \; :Y una vez que se encuentran estos archivos, exec el cp comando con un -p marca para conservar las fechas/horas de la fuente ({} ) al destino de B/ .

Me gusta usar maxdepth para agregar una capa de control para no copiar accidentalmente un sistema de archivos completo. Pero siéntete libre de eliminar eso.


Linux
  1. Cómo transferir archivos en Linux con SCP y Rsync

  2. ¿Cómo copiar archivos en Linux y Unix? Ejemplos de comandos de 10 cp

  3. Cómo copiar/mover archivos y directorios en Linux con los comandos “cp” y “mv”

  4. ¿Cómo copio una carpeta con archivos a otra carpeta en Unix/Linux?

  5. ¿Cómo chmod y chown archivos ocultos en Linux?

Cómo cambiar el nombre de archivos y directorios en Linux

Cómo comprimir archivos y directorios en Linux

Cómo copiar archivos y directorios en Linux

Cómo copiar una gran cantidad de archivos en Linux

Cómo copiar archivos y directorios en la terminal de Linux

Cómo mostrar archivos ocultos en Linux