terça-feira, 31 de maio de 2011

Dividindo arquivos no Linux

Outra dica rápida. Para dividirmos arquivos no Linux podemos empacotá-los utilizando o tar e colocando alguns parâmetros para gerar vários arquivos. Ou então podemos utilizar o tar para empacotar e o split para separar.

A vantagem do tar é que você já empacota e divide os arquivos ao mesmo tempo. Vamos supor que queremos dividir o arquivo exemplo.iso usando tar.


tar -cvf exemplo-empacotado.iso.tar -M -L 650000 exemplo.iso

Nesse caso o comando tar dividirá o arquivo exemplo.iso em diversos outros arquivos, cada um com 650MB, porém ficará pedindo o nome de cada novo arquivo assim que o anterior completar 650MB:

Prepare volume #2 for exemplo-empacotado.iso.tar and hit return:

Então digite para gerar o próximo arquivo:

n exemplo-empacotado.iso.tar2

E assim sucessivamente.

O comando irá gerar vários arquivos, cada um com 650MB e com a seguinte nomenclatura:
exemplo-empacotado.iso.tar
exemplo-empacotado.iso.tar2


Para juntar e desempacotar os arquivos:
tar -x -M -f exemplo-empacotado.iso.tar -f exemplo-empacotado.iso.tar2 exemplo.iso

O split é bom se você já tem um arquivo empacotado ou quer dividir apenas um arquivo. Ele também não pergunta o nome do próximo arquivo:

split -d -b 650M exemplo.iso exemplo-splitado.iso

O comando irá gerar vários arquivos, cada um com 650MB e com a seguinte nomenclatura:
exemplo-splitado.iso00
exemplo-splitado.iso01

Para juntar os arquivos:
cat exemplo-splitado.iso01 >> exemplo-splitado.iso00