Acesse dispositivos do terminal

Acesse dispositivos do terminal

Eu tenho uma unidade flash que não quero montada. Em vez disso, quero apenas usá-lo para transferir arquivos entre meus computadores.

Existe uma maneira de acessar minha unidade flash a partir do terminal através do diretório Dispositivos? Ou a única maneira de acessar uma unidade flash a partir do terminal é montá-la primeiro e depois acessar o ponto de montagem?

Responder1

Você não pode acessar nenhuma forma de mídia de armazenamento sem primeiro montar a unidade. No entanto, você pode fazer todo esse processo no seu terminal.

Primeiro, você precisa do ID da partição ( /dev/sdXY). Você pode usar o lsblkcomando para encontrar isso. Depois de ter esse ID, você pode executar o sudo mount /dev/sdXY /mnt. O sistema de arquivos da sua unidade flash agora estará disponível em /mnte poderá ser usado no terminal.

Os dispositivos /devsão conhecidos como dispositivos de bloco e são representações brutas dos sistemas de arquivos contidos nesses dispositivos (quando aplicável). Embora você possa ler e escrever diretamente nesses dispositivos, muitas vezes é uma má ideia porque você está ignorando uma enorme camada de abstração e proteção do sistema de arquivos.

Para a maioria dos casos de uso, o único momento em que você leria/gravaria nos dispositivos de bloco brutos seria para clonar oumuitooperações de dispositivos de baixo nível. O sistema de arquivos fornece uma enorme camada de abstração, verificação de erros e segurança de arquivos.


Observação:A seção abaixo deste bloco de texto destina-se apenas a fins educacionais. Por favor, não tente fazer isso em nenhum sistema/unidade de seu interesse, pois os resultados podem facilmente ser catastróficos. Não assumo nenhuma responsabilidade pelo que você faz se seguir qualquer coisa que eu diga abaixo.

Você foi avisado.

Dito esse aviso, e se você não se importa com o conteúdo da sua unidade flash, é teoricamente possível ler e gravar dados de/para a unidade flash usando operações de bloco bruto.

Na sua forma mais simples, você escreveria um arquivo (digamos files.zip) na unidade flash usando este comando:

dd if=files.zip of=/dev/sdd bs=1024

Isso copiará o arquivo zip para o bloco bruto da sua unidade flash, mas também (provavelmente) corromperá qualquer partição ou dados relacionados atualmente na unidade. Ele também registrará quantos "blocos" foram gravados na unidade - anote isso. Para este exemplo, direi que 1.234 blocos foram copiados.

Quando quiser ler o arquivo da unidade flash em outro computador, você pode fazer isso com o comando inverso:

dd if=/dev/sdd of=files.zip count=1234 bs=1024

Isso extrairá os dados brutos do bloco da unidade (contendo um arquivo ZIP) para os primeiros 1234 blocos e os gravará no files.zipseu computador no diretório atual. Observe também que este arquivo ZIP pode não ser realmente legível devido a dados corrompidos/lixo no final do arquivo ou algo semelhante. Certifique-se de anotar isso, se necessário. Você pode usar o headcomando para cortar o arquivo ZIP, se necessário.

Quando terminar, você provavelmente precisará formatar a unidade flash e particioná-la novamente, tornando isso muito inviável para operações grandes. Basta usar o sistema de arquivos.

informação relacionada