Argument List Too Long – mover, copiar ou excluir arquivos no Linux

Esta semana tive que fazer uma operação em dois servidores da empresa em que trabalho. Criar uma partição para substituir outra que está ficando pequena, e mover mais de 31 mil diretórios da antiga para nova.

Ao executar o comando cp ou mv, me deparei com o seguinte erro:

[usuario@localhost diretorio]$ mv * ../diretorio2
bash: /bin/mv: Argument list too long

Como próprio erro já diz, isso aconteceu porque eu tentei mover uma lista enorme de arquivos ou diretórios. Agora qual o limite máximo de arquivos ou diretórios para conseguir mover, copiar ou excluir de uma vez? Não sei… Mas encontrei uma solução, utilizando o xargs e o ls:

ls -1 source | xargs -i mv origem/{} destino/

Tem uma série de outras alternativas e combinações que podem ser trabalhadas nessas situações, como tentar filtrar por ordem alfabética, executando o comando de mover ou copiar de forma que ele atinja somente arquivos e diretórios que iniciam com uma determinada letra.

Caso você queira saber mais sobre o assunto, aqui vão os sites que me ajudaram:

- http://www.electrictoolbox.com/argument-list-too-long-linux/

- http://www.linuxjournal.com/article/6060

0 Respostas para “Argument List Too Long – mover, copiar ou excluir arquivos no Linux”



  1. Deixe um comentário

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Sair / Alterar )

Imagem do Twitter

You are commenting using your Twitter account. Sair / Alterar )

Foto do Facebook

You are commenting using your Facebook account. Sair / Alterar )

Connecting to %s




Twitter


Seguir

Obtenha todo post novo entregue na sua caixa de entrada.