Como copiar arquivos recursivamente no linux (no terminal) – Elias Praciano
Categories
Tutoriais Ubuntu

Como copiar arquivos recursivamente no linux (no terminal)

Você provavelmente veio parar aqui por que usou um comando semelhante a este:
cp -r /origem/*.mp3 /destino/
e não funcionou.
Há várias formas de fazer isto, com arquivos de qualquer extensão (*.mp3, *.jpg, *.txt etc.). Como você já sabe, cp -r não é uma delas.

Como copiar arquivos recursivamente com os comandos find e cpio

Estes comandos dão conta do recado. O primeiro encontra os arquivos do tipo desejado, recursivamente. O outro faz a cópia, mantendo a estrutura de diretórios.
Adapte a linha de comando, que segue, para que ela atenda às suas necessidades.
$ find /caminho/de/origem/ -name ‘*.mp3’ | cpio -pdm /caminho/de/destino/

LEIA MAIS

Veja o que as opções ‘-pdm’ fazem:

  • -p habilita a operação de cópia recursiva
  • -d cria a estrutura de diretórios no destino, de acordo com a original
  • -m preserva as datas de modificação dos arquivos

By Elias Praciano

Autor de tecnologia (livre, de preferência), apaixonado por programação e astronomia.
Fã de séries, como "Rick and Morty" e "BoJack Horseman".
Me siga no Twitter e vamos trocar ideias!

3 replies on “Como copiar arquivos recursivamente no linux (no terminal)”

Bom dia, Elias,

Primeiramente, parabéns pelo blog, MUITO BOM!!!!!

Elias, estou quebrando um pouco a cabeça para fazer um script que faça a cópia de arquivos .txt criados a cada 10min e pelo que vi acredito que eu possa usar seus comandos…só estou preocupado como poderei fazer isso copiando apenas os arquivos mais recentes e não os já copiados, o amigo poderia me orientar quanto a isso?

Super abraço e parabéns!

André

Eu estou procurando exatamente o contrário mas eu não acho um jeito pra isso.

Preciso que o find busque uma estrutura de pastas comuns no servidor, o que muda é o nome de usuário: Exemplo: /usuario1/pasta100

Então quero que todos os caminhos que encontrarem o diretório pasta100 (*/pasta100) recebam uma cópia de um arquivo especifico que está em outro local do mesmo servidor com o comando cp. Isso é possível?

Estou pesquisando pacas mas só encontro o contrário.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.