O comando cp altera a estrutura do arquivo?

1

Eu sou relativamente novo no Linux e na distribuição Debian então por favor não me bata tão mal. Meu pensamento é que quando você usa o comando cp para copiar arquivos de uma unidade para outra, isso não altera a estrutura do arquivo de nenhuma maneira. Isso é verdade? Eu sei que a opção preservar manterá as permissões, registro de data e hora, etc. mas o processo cp altera a estrutura de arquivos interna ou tem a capacidade de corromper arquivos de alguma forma? Agradecemos antecipadamente.

    
por Jeremy Gardner 09.12.2016 / 15:21

4 respostas

1

Sim, cp pode alterar a estrutura no sistema de arquivos, mas geralmente isso não deve ser percebido pelos programas, portanto, os arquivos nunca devem ser corrompidos. Isto acontece com arquivos esparsos: arquivos com um buraco dentro, então para não ocupar muito espaço, o sistema de arquivos não salva o conteúdo da parte buraco . / p>

cp tem o parâmetro --sparse :

By default, sparse SOURCE files are detected by a crude heuristic and the corresponding DEST file is made sparse as well. That is the behavior selected by --sparse=auto. Specify --sparse=always to create a sparse DEST file when‐ ever the SOURCE file contains a long enough sequence of zero bytes. Use --sparse=never to inhibit creation of sparse files.

Nota: se o disco rígido de destino estiver danificado, cp poderá criar arquivos corrompidos, mas nunca de propósito.

    
por 09.12.2016 / 15:27
0

Não. Se houver um problema com a conexão a uma das unidades, existe a possibilidade de ocorrer corrupção durante a cópia, mas o comando cp em si não causaria danos. Você mencionou permissões e timestamps; esses não são armazenados no próprio arquivo, mas sim nos metadados. O comando cp pode (e geralmente faz) alterar os metadados.

    
por 09.12.2016 / 15:26
0

cp nunca intencionalmente corromperá arquivos, mas é claro que é possível que algo dê errado. Para uso geral, você não terá um problema com cp para copiar arquivos.

Se você deseja ter certeza da integridade de um arquivo copiado, verifique o hash do arquivo após copiá-lo ou use uma ferramenta com essa funcionalidade integrada (como rsync --checksum ).

    
por 09.12.2016 / 15:35
0

“Estrutura do arquivo” não é um conceito preciso. Mas para um significado sensato da expressão, cp não “preserva” nem “muda” a estrutura do arquivo, ele copia ele. A cópia será idêntica ao original da maneira que cp sabe preservar. No mínimo, isso significa o mesmo conteúdo de arquivo e alguns metadados idênticos (permissões, nomes de arquivos e tipos em uma cópia recursiva, a maioria dos outros metadados, como timestamps com -p , etc.). A maioria das implementações de cp não reproduz a estrutura interna de arquivos compactados, como arquivos esparsos. E cp não preservará o layout do arquivo (a maneira como os blocos que compõem o arquivo são organizados no disco) - isso não seria possível dentro do mesmo sistema de arquivos e não faria sentido em sistemas de arquivos distintos. Isso não “corrompe” os dados, pois o conteúdo do arquivo é preservado: você obtém os mesmos dados, mas possivelmente armazena de forma diferente.

    
por 11.12.2016 / 01:18

Tags