Linux Commands · 4 min read · Dec 16, 2025
Como dividir um grande arquivo de archive em vários arquivos pequenos usando o comando Split no Linux
Embora uma das principais razões para criar arquivos de archive seja a facilidade de manuseio e transferência, às vezes o próprio arquivo compactado é tão grande que se torna um pesadelo transferi-lo pela rede, especialmente quando a velocidade da rede é lenta.
Então, o que deve ser feito em casos como esses? Existe uma solução para esse problema? Bem, sim - uma solução é dividir o arquivo compactado em partes menores, que podem ser facilmente transferidas pela rede. No destino, você pode juntá-las novamente para obter o archive original.
Se a solução parece interessante e você quer entender exatamente como isso pode ser feito no Linux, você ficará feliz em saber que discutiremos todos os detalhes importantes passo a passo neste tutorial.
Antes de prosseguirmos, observe que todas as instruções e comandos mencionados neste artigo foram testados no Ubuntu 14.04.
Como dividir grandes arquivos de archive
Existe uma utilidade de linha de comando - chamada Split - que ajuda você a dividir arquivos em pedaços. Ele vem instalado por padrão na maioria das distribuições Linux, então você não precisa realizar etapas extras para baixá-lo e instalá-lo. A seguir está a sintaxe deste comando:
split [OPÇÃO]... [ENTRADA [PREFIXO]]Aqui, ENTRADA representa o nome do arquivo que precisa ser dividido em partes menores, e PREFIXO é o texto que você deseja que seja prefixado ao nome dos arquivos de saída. OPÇÃO, no nosso caso, será -b para que possamos especificar o tamanho dos arquivos de saída.
Para entender o uso do Split através de um exemplo, você precisa primeiro ter um arquivo compactado que deseja dividir. Por exemplo, eu tinha o seguinte arquivo .zip de 60MB no meu caso:
Aqui está o comando Split em ação:
Então, como você pode ver, usando a opção -b, pedi ao comando Split para dividir o grande arquivo .zip em partes iguais de 20MB cada, fornecendo o nome completo do arquivo compactado, bem como o texto do prefixo.
Aqui está como verifiquei que o comando Split realmente fez o que foi solicitado:
Como é evidente a partir da saída na captura de tela acima, três arquivos com nomes incluindo o prefixo que forneci e pesando 20MB cada foram produzidos na saída.
Claro, além de arquivos .zip, você pode usar o método mencionado acima para dividir outros tipos de arquivos compactados também. Por exemplo, aqui está como usei o mesmo comando que discutimos antes para dividir um arquivo .tar.xz:
Como você deve ter entendido até agora, se você quiser dividir um arquivo em vários pedaços que devem ter tamanhos em MB, você precisa usar a letra M com o número que você fornece na linha de comando. E se - como no caso que acabamos de discutir - os arquivos devem ter tamanhos em KB, você deve usar a letra K.
Até agora, só usamos a opção -b oferecida pelo comando Split; isso porque ela faz o que queremos - dizer ao comando para dividir o arquivo de entrada com base no tamanho que segue essa opção na linha de comando. No entanto, dependendo do seu caso e necessidade, você pode querer usar algumas das outras opções que o comando Split fornece.
A seguir está a lista de opções juntamente com uma breve explicação do que elas fazem:
- -a, –suffix-length=N: gerar sufixos de comprimento N (padrão 2)
- –additional-suffix=SUFFIX: anexar um SUFIXO adicional aos nomes dos arquivos.
- -b, –bytes=SIZE: colocar SIZE bytes por arquivo de saída
- -C, –line-bytes=SIZE: colocar no máximo SIZE bytes de linhas por arquivo de saída
- -d, –numeric-suffixes[=FROM]: usar sufixos numéricos em vez de alfabéticos. FROM altera o valor inicial (padrão 0).
- -e, –elide-empty-files: não gerar arquivos de saída vazios com ‘-n’
- –filter=COMMAND: escrever no shell COMMAND; o nome do arquivo é $FILE
- -l, –lines=NUMBER: colocar NUMBER linhas por arquivo de saída
- -n, –number=CHUNKS: gerar CHUNKS arquivos de saída.
- -u, –unbuffered: copiar imediatamente a entrada para a saída com ‘-n r/…’
Até agora, discutimos apenas como dividir um grande arquivo de archive em várias partes menores. Não é preciso dizer que isso não tem utilidade até que você também saiba como juntá-las novamente para recuperar o arquivo compactado original. Então, aqui está como você pode fazer isso:
Não há uma utilidade de linha de comando especial para juntar os pedaços menores, já que o bom e velho comando Cat é capaz de lidar com essa tarefa. Por exemplo, aqui está como recuperei o arquivo Kaku-linux32.zip através do comando Cat:
Você pode extrair o archive recuperado e compará-lo com o original para verificar se nada mudou.
Conclusão
Se você é um usuário Linux, e seu trabalho diário envolve lidar com grandes arquivos compactados e compartilhá-los com outros pela rede, há boas chances de que você queira dividir um archive em alguns casos. Claro, a solução mencionada neste tutorial pode não ser a única disponível, mas com certeza é uma das mais simples e que consome menos esforço.
Caso você use uma abordagem diferente para dividir grandes arquivos de archive e depois juntá-los novamente, e queira compartilhar sua solução com outros, você pode fazê-lo nos comentários abaixo.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.