¿Hay una manera fácil de copiar recursivamente todos los archivos ocultos en un directorio a otro directorio? Me gustaría hacer una copia de seguridad de todos los archivos de configuración en un directorio de inicio, no los archivos normales. Lo intenté:
cp -R .* directory
pero reconoce .
y ..
copia recursivamente todos los archivos no ocultos también. ¿Hay alguna manera de hacer que cp ignore .
y ..
?
-r
y-R
?Respuestas:
Mi favorito para mover directorios en general ha sido:
que bloquea el directorio actual para stdout luego lo canaliza a una subshell que primero los cd al directorio de destino antes de descomprimir stdin. Simple, directo, extensible: considere lo que sucede cuando reemplaza el () con un ssh a otra máquina. O para responder a su pregunta, puede hacer:
fuente
cd /dest/dir && tar xvf -
. El&&
le impedirá blatting sobre el directorio de origen si tiene un error tipográfico en el destino. 2) Solo necesita elv
indicador tar en uno de los comandos tar (o ninguno).(cd /src/dir && tar cf - .) | tar xvf -
Casi siempre, esto se puede resolver solo con:
Es bastante inusual tener un archivo oculto que no comienza con uno de esos personajes.
Hay otras coincidencias de patrones disponibles (
.??*
,.[^.]*
) - ver los comentariosfuente
Podrías usar
rsync
.que copiará el contenido del directorio actual (incluidos los archivos de puntos, pero no incluidos
..
)fuente
.git
directorios. La adición de -C hace esto y lo que el comando se convierte en:rsync -aC ./ /some/other/directory/
Te imploro, paso de desarrollo del forro liso en la
cp
línea de comandos - el desarrollo del forro tiene todo tipo de ejem . Casos de esquina "interesantes" (recursividad no deseados causados por y .., espacios, cosas no imprimible, enlaces duros, enlaces simbólicos, y etc.) Use en sufind
lugar (viene en elfindutils
paquete, en caso de que no lo tenga instalado, lo que sería extraño, todas las distribuciones lo instalan por defecto):Explicación paso a paso:
Entonces, en inglés simple, esta
find
línea de comando dice esto:fuente
Siempre he usado. ?? * para encontrar archivos ocultos sin obtener "." y "..". Sin embargo, podría faltar ".a" o algo así, pero nunca tengo uno de esos.
fuente
Respuestas mucho mejores aquí; /superuser/61611/how-to-copy-with-cp-to-include-hidden-files-and-hidden-directories-and-their-con
Describe, por ejemplo, el uso de shopt para una solución nativa de bash
fuente