Zugriff auf Geräte vom Terminal aus

Zugriff auf Geräte vom Terminal aus

Ich habe einen USB-Stick, den ich nicht mounten möchte. Stattdessen möchte ich ihn nur zum Übertragen von Dateien zwischen meinen Computern verwenden.

Gibt es eine Möglichkeit, dass ich vom Terminal aus über das Verzeichnis „Geräte“ auf mein Flash-Laufwerk zugreifen kann? Oder besteht die einzige Möglichkeit, vom Terminal aus auf ein Flash-Laufwerk zuzugreifen, darin, es zuerst zu mounten und dann auf den Mount-Punkt zuzugreifen?

Antwort1

Sie können auf keine Speichermedien zugreifen, ohne das Laufwerk vorher zu mounten. Sie können den gesamten Vorgang jedoch von Ihrem Terminal aus durchführen.

Zuerst benötigen Sie die Partitions-ID ( /dev/sdXY). Sie können den lsblkBefehl verwenden, um diese zu finden. Sobald Sie diese ID haben, können Sie ausführen sudo mount /dev/sdXY /mnt. Das Dateisystem Ihres Flash-Laufwerks ist nun unter verfügbar /mntund kann vom Terminal aus verwendet werden.

Geräte in /devwerden als Blockgeräte bezeichnet und sind Rohdarstellungen der in diesen Geräten enthaltenen Dateisysteme (sofern zutreffend). Obwohl Sie diese Geräte direkt lesen und von ihnen schreiben können, ist dies oft keine gute Idee, da Sie dabei eine große Ebene der Dateisystemabstraktion und des Dateisystemschutzes ignorieren.

In den meisten Anwendungsfällen werden Sie nur dann von den Raw-Block-Geräten lesen/auf diese schreiben, wenn Sie klonen odersehrGeräteoperationen auf niedriger Ebene. Das Dateisystem bietet eine riesige Ebene für Abstraktion, Fehlerprüfung und Dateisicherheit.


Notiz:Der Abschnitt unter diesem Textblock dient nur zu Bildungszwecken. Bitte versuchen Sie dies nicht auf einem System/Laufwerk, das Ihnen wichtig ist, da die Ergebnisse sehr leicht katastrophal sein könnten. Ich übernehme keine Verantwortung für das, was Sie tun, wenn Sie irgendetwas von dem befolgen, was ich unten sage.

Du wurdest gewarnt.

Wenn Ihnen dieser Hinweis egal ist und Sie sich nicht um den Inhalt Ihres Flash-Laufwerks kümmern, ist es theoretisch möglich, mithilfe von Raw-Block-Operationen Daten vom/auf das Flash-Laufwerk zu lesen und zu schreiben.

Am einfachsten schreiben Sie beispielsweise eine Datei files.zipmit dem folgenden Befehl auf den USB-Stick:

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

Dadurch wird die Zip-Datei in den Rohblock Ihres Flash-Laufwerks kopiert, aber (wahrscheinlich) werden auch alle Partitionen oder zugehörigen Daten, die sich derzeit auf dem Laufwerk befinden, beschädigt. Außerdem wird aufgezeichnet, wie viele „Blöcke“ auf das Laufwerk geschrieben wurden – notieren Sie sich dies. Für dieses Beispiel gehe ich davon aus, dass 1234 Blöcke kopiert wurden.

Wenn Sie die Datei vom USB-Stick auf einen anderen Computer einlesen möchten, können Sie dies mit dem umgekehrten Befehl tun:

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

Dadurch werden die Rohblockdaten für die ersten 1234 Blöcke vom Laufwerk (das eine ZIP-Datei enthält) abgerufen und auf files.zipIhrem Computer in das aktuelle Verzeichnis geschrieben. Beachten Sie auch, dass diese ZIP-Datei möglicherweise aufgrund beschädigter/unbrauchbarer Daten am Ende der Datei oder ähnlichem nicht lesbar ist. Notieren Sie dies bei Bedarf. Sie können den headBefehl verwenden, um die ZIP-Datei bei Bedarf zu kürzen.

Wenn Sie fertig sind, müssen Sie wahrscheinlich den USB-Stick formatieren, neu partitionieren usw., was bei großen Vorgängen sehr unpraktisch ist. Verwenden Sie einfach das Dateisystem.

verwandte Informationen