Frage Wie kann ich vom Terminal aus auf ein USB-Flash-Laufwerk zugreifen?


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

  • Wie kann ich ein Flash-Laufwerk manuell installieren?
  • Was sollte der Kopierbefehl sein?

212
2018-04-29 00:26


Ursprung




Antworten:


1. Finden Sie, wie das Laufwerk aufgerufen wird

Sie müssen wissen, wie das Laufwerk heißt, um es zu mounten. Um das zu tun, feuere eines der folgenden ab (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 Platten Sie haben, desto höher ist der Buchstabe. Wie auch immer, finde es und erinnere dich daran, wie es heißt.

2. Erstellen Sie einen Bereitstellungspunkt (optional)

Dies muss in das Dateisystem eingebunden werden irgendwo. Sie können normalerweise / mnt / verwenden, wenn Sie faul sind und nichts anderes dort gemountet ist, aber ansonsten sollten Sie ein neues Verzeichnis erstellen:

sudo  mkdir /media/usb

3. Montieren!

sudo mount /dev/sdb1 /media/usb

Wenn du fertig bist, feuere einfach ab:

sudo umount /media/usb

Diese Antwort ist fast 6 Jahre alt und während der Kern davon noch funktioniert, Dinge wie fdisk -l sind nicht die benutzerfreundlichsten Optionen. Es gibt auch neue Mechanismen in höheren Stapeln, um Vorrichtungen auf vernünftige und standardmäßige Weise zu montieren, die nicht immer verfügbar sind.

Also habe ich etwas Politur von den anderen Antworten hinzugefügt. Während Sie diese Fußnote lesen, und Sie tun dies auf einem Desktop-System, gibt es definitiv Argumente für verwenden udisksctl, nach wecacs Antwort. Diese Mounts werden auf die gleiche Weise erstellt wie der Desktop /media/$USER/device Verzeichnis - aber ich denke, es gibt immer noch Argumente für einen statischen Mountpoint, besonders wenn Sie nicht wollen, dass der Pfad sich ändert.

Udisks verlässt sich auch auf D-Bus und ist daher möglicherweise nicht überall verfügbar.


297
2018-04-29 00:43



Der Hauptnachteil dieser Methode besteht darin, dass das Gerät als Root eingehängt wird. Wenn das Gerät FAT-formatiert ist, kann der Benutzer nicht darauf schreiben. Der Mount-Punkt / media / $ USER / device ist ebenfalls immer derselbe - eMBee


Installieren pmount. Mounts Festplatten in / Medien /

pmount /dev/sdb1
pumount /dev/sdb1

Kein Sudo benötigt. Ersetzen Sie "sdb1" durch Ihren spezifischen Gerätepfad. Weitere Informationen finden Sie auf der Hilfeseite:

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.

40
2017-11-06 01:39



Das hat wann funktioniert mount bestand darauf, mein Laufwerk schreibgeschützt zu montieren. - Jonathan Landrum


Zusätzlich zur Verwendung des Standards mount Befehl (der root erfordert) können Sie Laufwerke mit verwenden udisks und dbus mit Ihrem Standardbenutzer.

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

  1. Welches Gerät ist es (d.h. /dev/sdb1)
  2. Welches Dateisystem benutzt es?

Wenn Sie diese Kenntnisse kennen, können Sie einen einfachen Befehl verwenden, um ein Laufwerk von der Befehlszeile aus zu mounten.

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, an dem es bei erfolgreichem Mount angehängt wird.

Um auf diese Weise eingehängte Laufwerke zu deaktivieren, 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. das <device> ist einfach das Ende des Weges dazu. Also zum Beispiel ob das was du mounten willst ist /dev/sdb2 dann würdest du setzen sdb2 anstelle von <device>.


Wenn Sie nicht wissen, welches Gerät es ist oder welches Dateisystem es verwendet, fürchten Sie sich nicht. Mit diesem kleinen Befehl können Sie alle Informationen 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 etwa 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 haben IdUsage = 'filesystem' kann unter Verwendung des obigen Befehls montiert werden.

Das heißt, wenn ich zB das Gerät 'USB DRIVE' mounten wollte, würde ich den Befehl ausführen

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

Diese Befehle funktionieren alle mit dem dbus Messaging-System, die gleiche Art und Weise Nautilus und andere Dateimanager mounten Dinge automatisch. In diesen Befehlen senden wir verschiedene Objekte (d. H. /org/freedesktop/... Nachrichten, in denen sie aufgefordert werden, bestimmte Geräte zu mounten und unmounten. Sie können dies tun oder auch nicht, abhängig von den Berechtigungen, denen man gegeben hat PolicyKit.

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


11
2017-08-29 15:42



Der Weg von 2015 ist gdbus introspect --system --dest org.freedesktop.UDisks2 --object-path /org/freedesktop/UDisks2/drives --recurse --only-properties - Nick Alexander


Benutzen udisksctl aus Paket =udisks2 (in Ubuntu und Debian). Verfahren ist:

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

    user@machine:~$ 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
    

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

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

    user@machine:~$ 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.
    

An Hans Deragons Adresse kommentiere unten: Du kannst es auch sagen udisksctl machen --no-user-interaction. Es versucht nicht, den Benutzer zu authentifizieren, der normalerweise "nur funktioniert":

user@machine:~$ 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.

10
2017-12-28 15:34





Das ist einfach. Wenn ich ein USB-Laufwerk im Terminal verwenden möchte, mache ich Folgendes:

Erstellen Sie einen Ordner in /media mit:

mkdir /media/mountDrive 

Dieser Ordner wird für den Bereitstellungspunkt 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, in dem Sie bereits angemeldet sind

cd /media/mountDrive

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

So können Sie das Laufwerk trennen, das Sie verwenden können

sudo umount /dev/sdd1

Beachten Sie, dass das USB-Laufwerk in meinem System ist /dev/sdd1, aber in deinem System kann es etwas anderes sein. Um herauszufinden, was es ist, benutze die df Befehl, um alle derzeit verbundenen Festplatten zu sehen.


2
2017-08-29 14:08





Sie können USB-Geräte auch automatisch mit Hilfe von USBmount 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 jetzt USBmount aus den Repositories:

sudo apt-get install usbmount

USBmount bringt alle USB-Laufwerke in /media/usb* (usb0, usb1, usb2 ...)

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

Um zu überprüfen, ob das USB-Laufwerk korrekt installiert wurde, können Sie es verwenden df -h um alle verfügbaren Laufwerke und ihre jeweiligen Bereitstellungspunkte anzuzeigen

Um ein Laufwerk zu entfernen, können Sie umount verwenden.

sudo umount /media/usb0

2
2018-05-14 16:35