Moving files under Unix

English version below.

Em um sistema Unix, para copiar muitos arquivos de um diretório para outro (por exemplo, copiar todos os arquivos de uma partição inteira), o comando cp pode não ser o mais indicado: ele pode ter alguns problemas tratando arquivos incomuns, como por exemplo pipes e dispositivos. Nestes casos, o comando tar pode ser mais indicado.

Por exemplo, para copiar todo o conteúdo do diretório /usr e subdiretórios para /mnt :
cd /usr
tar cfp - ./* |(cd /mnt; tar xvfp -)

O parâmetro p garante que as permissões de arquivo serão copiadas e restauradas. Usar – como nome do arquivo faz com que o tar leia/escreva na entrada/saída padrão ao invés de um arquivo normal. Por fim, chamar o segundo comando dentro de () faz com que este seja executado dentro de um ‘subshell’, recebendo em sua entrada padrão a saída do comando anterior, repassada via pipe.

Retirado do artigo Move an Entire File System on a Live Unix System – OSNews.com


In a Unix system, to copy a large amount of files from one directory to another (say, copying all files in a partition), the cp command may not be the best option: it may have some problems handling uncommon files, like pipes and devices. In this case, the tar command can be a better option.

For example, to copy all files from /usr and subdirectories to /mnt :
cd /usr
tar cfp - ./* |(cd /mnt; tar xvfp -)

The parameter p tells tar to preserve the file permissions. Using – as the file name makes tar to read from standard input or write to standard output, instead of a normal file. And since the second command is being called inside (), it is being runned in a \’subshell\’, receiving in its standard input the output from the previous command, sent to it via pipe.

Taken from the article Move an Entire File System on a Live Unix System – OSNews.com

Anúncios

Deixe um comentário

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

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s