it-swarm.com.de

Wie greife ich über das Terminal auf ein USB-Flash-Laufwerk zu?

Ich habe nur Zugriff auf die Befehlszeile.
Ich muss meine Daten (im Benutzerordner) auf einem Stift (USB DOK) sichern.

  • Wie kann ich ein Flash-Laufwerk manuell einbinden?
  • Was soll der Kopierbefehl sein?
246
MEM

1. Finden Sie heraus, wie das Laufwerk heißt

Sie müssen wissen, wie das Laufwerk heißt, um es zu mounten. Um dies zu tun, schalte eine der folgenden Möglichkeiten aus (in der Reihenfolge meiner Präferenz):

lsblk
Sudo blkid
Sudo fdisk -l

Sie suchen nach einer Partition, die ungefähr so ​​aussehen sollte: /dev/sdb1. Je mehr Festplatten Sie haben, desto höher ist wahrscheinlich der Buchstabe. Wie auch immer, finde es und erinnere dich, wie es heißt.

2. Erstellen Sie einen Einhängepunkt (optional)

Dies muss irgendwo im Dateisystem gemountet werden . Normalerweise können Sie/mnt/verwenden, wenn Sie faul sind und dort nichts anderes gemountet ist. Andernfalls möchten Sie ein neues Verzeichnis erstellen:

Sudo  mkdir /media/usb

3. Montieren!

Sudo mount /dev/sdb1 /media/usb

Wenn Sie fertig sind, feuern Sie einfach ab:

Sudo umount /media/usb

Diese Antwort ist fast 6 Jahre alt und obwohl der Kern davon noch funktioniert, sind Dinge wie fdisk -l nicht die benutzerfreundlichsten Optionen. Es gibt auch neue Mechanismen in höheren Stapeln, mit denen Geräte auf vernünftige und übliche Weise montiert werden können, die möglicherweise nicht immer verfügbar sind.

Also habe ich aus den anderen Antworten etwas Politur hinzugefügt. Während Sie diese Fußnote lesen und dies auf einem Desktop-System tun, gibt es definitiv Argumente für mit udisksctl, per wecacs Antwort . Dies wird auf die gleiche Weise gemountet, wie der Desktop es tut - er erstellt Ihr eigenes /media/$USER/device -Verzeichnis -, aber ich denke, es gibt immer noch Argumente für einen statischen Mountpoint, besonders wenn Sie nicht möchten, dass sich der Pfad ändert.

Udisks vertraut auch auf D-Bus, ist also möglicherweise nicht überall verfügbar.

344
Oli

Installieren Sie pmount. Bereitstellen von Datenträgern in/media /

pmount /dev/sdb1
pumount /dev/sdb1

Kein Sudo nötig. Ersetzen Sie "sdb1" durch Ihren spezifischen Gerätepfad. Weitere Informationen finden Sie in der Manpage:

pmount  ("policy mount") is a wrapper around the standard mount program
which permits normal users to mount removable devices without a  match-
ing /etc/fstab entry.

pmount is invoked like this:

pmount device [ label ]

This  will  mount  device  to a directory below /media if policy is met
(see below). If label is given, the mount point will  be  /media/label,
otherwise it will be /media/device.
43
Sepero

Zusätzlich zur Verwendung des Standardbefehls mount (für den root erforderlich ist) können Sie Laufwerke mit udisks und dbus mit Ihrem Standardbenutzer mounten.

Um dies zu tun, ist es nützlich (aber nicht erforderlich), zuerst ein paar Dinge über das Laufwerk zu wissen:

  1. Um welches Gerät handelt es sich (d. H. /dev/sdb1)
  2. welches Dateisystem wird verwendet?.

Wenn Sie diese kennen, können Sie mit einem einfachen Befehl ein Laufwerk über die Befehlszeile einbinden.

gdbus call --system --dest org.freedesktop.UDisks --object-path /org/freedesktop/UDisks/devices/<device> --method org.freedesktop.UDisks.Device.FilesystemMount "<filesystem>" []

dieser Aufruf sollte den Pfad wiedergeben, unter dem er bereitgestellt wird, wenn die Bereitstellung erfolgreich ist.

Um die Bereitstellung von Laufwerken aufzuheben, die auf diese Weise bereitgestellt wurden, können Sie Folgendes ausführen:

gdbus call --system --dest org.freedesktop.UDisks --object-path /org/freedesktop/UDisks/devices/<device> --method org.freedesktop.UDisks.Device.FilesystemUnmount []

N.B. Der <device> ist einfach das Ende des Pfades zu ihm. Wenn Sie beispielsweise /dev/sdb2 als Einhängepunkt festlegen möchten, setzen Sie sdb2 anstelle von <device>.


Wenn Sie nicht wissen, um welches Gerät es sich handelt oder welches Dateisystem es verwendet, haben Sie keine Angst. Mit diesem kleinen Befehl können Sie alle diese Informationen ganz einfach ausdrucken:

gdbus introspect --system --dest org.freedesktop.UDisks --object-path /org/freedesktop/UDisks/devices --recurse --only-properties | grep -E "(readonly .+ (IdLabel|IdType|Device(IsMounted|IsDrive|File) ).*|\}|.*\{)"

Dies wird ungefähr so ​​aussehen:

node /org/freedesktop/UDisks/devices {
  node /org/freedesktop/UDisks/devices/sda {
    interface org.freedesktop.UDisks.Device {
        readonly s IdLabel = '';
        readonly s IdType = '';
        readonly s IdUsage = '';
        readonly b DeviceIsMounted = false;
        readonly s DeviceFile = '/dev/sda';
    };
  };
  node /org/freedesktop/UDisks/devices/sda1 {
    interface org.freedesktop.UDisks.Device {
        readonly s IdLabel = 'SYSTEM';
        readonly s IdType = 'ntfs';
        readonly s IdUsage = 'filesystem';
        readonly b DeviceIsMounted = false;
        readonly s DeviceFile = '/dev/sda1';
    };
  };
  node /org/freedesktop/UDisks/devices/sda2 {
    interface org.freedesktop.UDisks.Device {
        readonly s IdLabel = 'Windows7';
        readonly s IdType = 'ntfs';
        readonly s IdUsage = 'filesystem';
        readonly b DeviceIsMounted = true;
        readonly s DeviceFile = '/dev/sda2';
    };
  };
  node /org/freedesktop/UDisks/devices/sda3 {
    interface org.freedesktop.UDisks.Device {
        readonly s IdLabel = 'Recovery';
        readonly s IdType = 'ntfs';
        readonly s IdUsage = 'filesystem';
        readonly b DeviceIsMounted = false;
        readonly s DeviceFile = '/dev/sda3';
    };
  };
  node /org/freedesktop/UDisks/devices/sda4 {
    interface org.freedesktop.UDisks.Device {
        readonly s IdLabel = '';
        readonly s IdType = '';
        readonly s IdUsage = '';
        readonly b DeviceIsMounted = false;
        readonly s DeviceFile = '/dev/sda4';
    };
  };
  node /org/freedesktop/UDisks/devices/sda5 {
    interface org.freedesktop.UDisks.Device {
        readonly s IdLabel = '';
        readonly s IdType = 'ext4';
        readonly s IdUsage = 'filesystem';
        readonly b DeviceIsMounted = true;
        readonly s DeviceFile = '/dev/sda5';
    };
  };
  node /org/freedesktop/UDisks/devices/sda6 {
    interface org.freedesktop.UDisks.Device {
        readonly s IdLabel = '';
        readonly s IdType = 'swap';
        readonly s IdUsage = 'other';
        readonly b DeviceIsMounted = false;
        readonly s DeviceFile = '/dev/sda6';
    };
  };
  node /org/freedesktop/UDisks/devices/sda7 {
    interface org.freedesktop.UDisks.Device {
        readonly s IdLabel = '';
        readonly s IdType = 'ext4';
        readonly s IdUsage = 'filesystem';
        readonly b DeviceIsMounted = true;
        readonly s DeviceFile = '/dev/sda7';
    };
  };
  node /org/freedesktop/UDisks/devices/sdb {
    interface org.freedesktop.UDisks.Device {
        readonly s IdLabel = '';
        readonly s IdType = '';
        readonly s IdUsage = '';
        readonly b DeviceIsMounted = false;
        readonly s DeviceFile = '/dev/sdb';
    };
  };
  node /org/freedesktop/UDisks/devices/sdb1 {
    interface org.freedesktop.UDisks.Device {
        readonly s IdLabel = 'USB DRIVE';
        readonly s IdType = 'vfat';
        readonly s IdUsage = 'filesystem';
        readonly b DeviceIsMounted = false;
        readonly s DeviceFile = '/dev/sdb1';
    };
  };
  node /org/freedesktop/UDisks/devices/sr0 {
    interface org.freedesktop.UDisks.Device {
        readonly s IdLabel = '';
        readonly s IdType = '';
        readonly s IdUsage = '';
        readonly b DeviceIsMounted = false;
        readonly s DeviceFile = '/dev/sr0';
    };
  };
};

Diejenigen, die IdUsage = 'filesystem' haben, können mit dem obigen Befehl gemountet werden.

Dies bedeutet, dass, wenn ich zum Beispiel das Gerät 'USB DRIVE' mounten wollte, ich den Befehl ausführen würde

gdbus call --system --dest org.freedesktop.UDisks --object-path /org/freedesktop/UDisks/devices/sdb1 --method org.freedesktop.UDisks.Device.FilesystemMount "vfat" []

Diese Befehle arbeiten alle mit dem Nachrichtensystem dbus, genauso wie Nautilus und andere Dateimanager Dinge automatisch einhängen. In diesen Befehlen senden wir verschiedene Objekte (d. H. /org/freedesktop/... Nachrichten, in denen sie aufgefordert werden, bestimmte Geräte bereitzustellen oder deren Bereitstellung aufzuheben. Dies hängt von den Berechtigungen ab, die in PolicyKit angegeben wurden.

Mit ähnlichen Befehlen kann man fast jeden Aspekt seiner Erfahrung in Ubuntu steuern und die meisten Systemprogramme und -funktionen simulieren (d. H. Herunterfahren, Lautstärkeänderung usw.).

12
Alex L.

Verwenden Sie udisksctl from package = udisks2 (in Ubuntu und Debian). Vorgehensweise ist:

  1. Suchen Sie mit lsblk die ID des Blockgeräts, das Sie mounten möchten:

    [email protected]:~$ lsblk
    NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    sda      8:0    0   1.8T  0 disk
    ├─sda1   8:1    0  19.1M  0 part /boot/efi
    ├─sda2   8:2    0   1.8T  0 part
    └─sda3   8:3    0    16G  0 part [SWAP]
    sdb      8:16   0 931.5G  0 disk
    ├─sdb1   8:17   0    37M  0 part
    ├─sdb2   8:18   0  15.9G  0 part [SWAP]
    └─sdb3   8:19   0 915.7G  0 part /
    sdc      8:32   1  14.4G  0 disk
    └─sdc1   8:33   1  14.4G  0 part
    sdd      8:48   0   1.8T  0 disk
    └─sdd1   8:49   0   1.8T  0 part
    

    Aufgrund seiner Größe scheint /dev/sdc1 das USB-Laufwerk zu sein, das ich mounten möchte.

  2. Verwenden Sie udisksctl, um das Gerät bereitzustellen. Beachten Sie, dass -b == --block-device (um die Eingabe zu reduzieren), aber ich bevorzuge lange Optionen für die Dokumentation:

    [email protected]:~$ udisksctl mount --block-device /dev/sdc1
    ==== AUTHENTICATING FOR org.freedesktop.udisks2.filesystem-mount ===
    Authentication is required to mount Kingston DT microDuo 3C (/dev/sdc1)
    Multiple identities can be used for authentication:
     1.  XXXXX,,, (user)
     2.  ,,, (YYYYY)
    Choose identity to authenticate as (1-2): 1
    Password:
    ==== AUTHENTICATION COMPLETE ===
    Mounted /dev/sdc1 at /media/user/USBDRIVELABEL.
    

Ansprechen von Hans Deragons Kommentar unten : Sie können auch udisksctl anweisen, --no-user-interaction zu tun. Es wird nicht versucht, den Benutzer zu authentifizieren, was normalerweise "nur funktioniert":

[email protected]:~$ udisksctl mount --block-device /dev/sdc1 --no-user-interaction
# possibly some complaining here about I/O charset or need to run `fsck`
Mounted /dev/sdc1 at /media/user/USBDRIVELABEL.
12
wecac

Sie können USB-Geräte mit Hilfe von USBmount auch automatisch auf Ubuntu Server mounten.

Stellen Sie sicher, dass Sie apt-get update/upgrade ausführen, bevor Sie mit der Installation beginnen:

Sudo apt-get update && Sudo apt-get upgrade

Installieren Sie nun USBmount aus den Repositories:

Sudo apt-get install usbmount

USBmount hängt alle USB-Laufwerke in /media/usb* ein (usb0, usb1, usb2 ...)

Schließen Sie nun ein USB-Laufwerk an und warten Sie, bis es erkannt und gemountet wurde. Solange das Host-Betriebssystem das Dateisystem unterstützt, sollte es bereitgestellt werden.

Um zu überprüfen, ob das USB-Laufwerk ordnungsgemäß bereitgestellt wurde, können Sie mit df -h alle verfügbaren Laufwerke und ihre jeweiligen Bereitstellungspunkte anzeigen

Um ein Laufwerk abzuhängen, können Sie umount verwenden.

Sudo umount /media/usb0
4
Sandro

Das ist einfach. Wenn ich ein USB-Laufwerk im Terminal verwenden möchte, gehe ich folgendermaßen vor:

Erstellen Sie einen Ordner in /media mit:

mkdir /media/mountDrive 

Dieser Ordner wird für den Einhängepunkt verwendet. Verwenden Sie diesen Befehl:

Sudo mount /dev/sdd1 /media/mountDrive 

sdd1 ist die erste Partition meines USB. Dann können Sie zu dem Ordner navigieren, mit dem Sie bereits gemountet haben

cd /media/mountDrive

Wenn Sie die Dateien im Laufwerk auflisten möchten, können Sie den Befehl ls verwenden.

Zum Abmelden des Laufwerks können Sie verwenden

Sudo umount /dev/sdd1

Beachten Sie, dass in meinem System das USB-Laufwerk /dev/sdd1 ist, aber in Ihrem System kann es etwas anderes sein. Um herauszufinden, was es ist, verwenden Sie den Befehl df, um alle derzeit verbundenen Festplatten anzuzeigen.

3
David Vale