O comando 'cp' só pode ser usado no dispositivo de bloco?

1

De acordo com minha última pergunta Acho que não podemos usar 'cp' para copiar o arquivo para o dispositivo de fita ou dispositivo como '/dev/lp0'.Mas eu ainda não entendo o porquê.

Para tornar esta questão simples o suficiente, apenas me diga se o comando 'cp' só pode ser usado em dispositivos de bloco?

    
por cain abel 21.11.2014 / 06:55

2 respostas

1

Existem dispositivos de bloco e dispositivos de caracteres (e outros). Em relação a um dispositivo de caractere, um fluxo de caracteres está indo ou vindo. Por exemplo, um teclado ou uma unidade de fita. Em relação aos dispositivos de bloco, você pode procurar para frente e para trás, portanto crie uma tabela de alocação de arquivos e gerencie arquivos. Por exemplo, um disco.

cp é usado para dispositivos de bloco (montados): cria uma entrada na tabela do sistema de arquivos que a contém onde o arquivo é armazenado - então o arquivo é armazenado neste local. Buscando para a frente (e talvez para trás) incluído. Você não pode fazer isso com um dispositivo de fita (assim como você não pode com um teclado). É por isso que você usa cat com uma unidade de fita e cp com um disco.

    
por 21.11.2014 / 07:03
2

Uma maneira de pensar nisso é pensar nessas coisas como tipos de dispositivos diferentes. 'cp', só sabe copiar arquivos de e para um número limitado de tipos de dispositivos. O dispositivo mais comumente usado para armazenar arquivos é a unidade de disco. 'cp' sabe como copiar arquivos para e da unidade de disco, bem como um conjunto limitado de outros dispositivos, como / dev / tty.

Escrever e ler dados de e para uma fita ou CD ou impressora ou através da rede para outro computador requer conhecimento especial sobre como esses dispositivos funcionam.

É perfeitamente possível que o 'cp' possa ter sido aprimorado toda vez que um novo tipo de dispositivo for adicionado, mas isso significaria que haveria muitas opções de comando diferentes que funcionariam às vezes, em alguns computadores, e não em outros.

O design do UNIX era que um comando deveria fazer uma coisa e fazê-lo bem. Para 'cp', uma coisa é fazer uma cópia de um arquivo em disco para um arquivo em disco.

    
por 21.11.2014 / 07:43

Tags