1 votes

Accéder aux dispositifs à partir du terminal

J'ai une clé USB que je ne veux pas monter. Au lieu de cela, je veux juste l'utiliser pour transférer des fichiers entre mes ordinateurs.

Existe-t-il un moyen d'accéder à mon lecteur flash depuis le terminal via le répertoire Devices ? Ou la seule façon d'accéder à un lecteur flash à partir du terminal est de le monter d'abord, puis d'accéder au point de montage ?

3voto

Kaz Wolfe Points 32777

Vous ne pouvez accéder à aucune forme de support de stockage sans monter le disque au préalable. Cependant, vous pouvez effectuer l'ensemble de ce processus depuis votre terminal.

Tout d'abord, vous avez besoin de l'ID de la partition ( /dev/sdXY ). Vous pouvez utiliser le lsblk pour le trouver. Une fois que vous avez cet identifiant, vous pouvez exécuter sudo mount /dev/sdXY /mnt . Le système de fichiers de votre lecteur flash sera désormais disponible à l'adresse suivante /mnt et peut être utilisé depuis le terminal.

Dispositifs en /dev sont connus sous le nom de périphériques de bloc, et sont des représentations brutes des systèmes de fichiers contenus dans ces périphériques (le cas échéant). Bien que vous puissiez lire et écrire directement à partir de ces périphériques, c'est souvent une mauvaise idée car vous ignorez une couche importante d'abstraction et de protection du système de fichiers.

Dans la plupart des cas, la seule fois où vous lisez/écrivez sur les périphériques de blocs bruts est pour le clonage ou l'enregistrement de données. sehr les opérations de bas niveau des dispositifs. Le système de fichiers fournit une énorme couche d'abstraction, de vérification des erreurs et de sécurité des fichiers.


Note : La section située sous ce bloc de texte est destinée à des fins éducatives uniquement. N'essayez pas de le faire sur un système/disque auquel vous tenez, car les résultats pourraient très facilement être catastrophiques. Je ne prends aucune responsabilité pour ce que vous faites si vous suivez ce que je dis ci-dessous.

Vous avez été prévenus.

Ceci étant dit, et si vous ne vous souciez pas du contenu de votre clé USB, il est théoriquement possible de lire et d'écrire des données sur la clé USB en utilisant des opérations de bloc brut.

Dans sa forme la plus simple, vous écrivez un fichier (disons files.zip ) sur le lecteur flash en utilisant cette commande :

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

Cela copiera le fichier zip sur le bloc brut de votre lecteur flash, mais corrompra aussi (probablement) toute partition ou données connexes actuellement sur le lecteur. Elle enregistrera également le nombre de "blocs" écrits sur le disque -- prenez-en note. Pour cet exemple, je vais dire que 1234 blocs ont été copiés.

Lorsque vous voulez lire le fichier de la clé USB sur un autre ordinateur, vous pouvez le faire avec la commande inverse :

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

Cela va extraire les données de bloc brutes du lecteur (contenant un fichier ZIP) pour les 1234 premiers blocs, et les écrire dans le fichier files.zip sur votre ordinateur dans le répertoire courant. Notez également que ce fichier ZIP peut ne pas être réellement lisible en raison de données corrompues/ordures à la fin du fichier ou similaires. Veillez à le noter si nécessaire. Vous pouvez utiliser le head pour réduire le fichier ZIP si nécessaire.

Lorsque vous aurez terminé, vous devrez probablement formater le lecteur flash, le repartitionner, etc., ce qui rendra cette solution très peu pratique pour les opérations importantes. Utilisez simplement le système de fichiers.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X