Question Comment accéder à un lecteur flash USB depuis le terminal?


Je n'ai accès qu'à la ligne de commande.
Je dois sauvegarder mes données (sur le dossier utilisateur) sur un stylo (USB DOK).

  • Comment puis-je monter un lecteur flash manuellement?
  • Quelle devrait être la commande de copie?

212
2018-04-29 00:26


origine




Réponses:


1. Trouvez le nom du lecteur

Vous aurez besoin de savoir comment le lecteur est appelé à le monter. Pour ce faire, effectuez l'une des opérations suivantes (classées par ordre de préférence):

lsblk
sudo blkid
sudo fdisk -l

Vous cherchez une partition qui devrait ressembler à: /dev/sdb1. Plus vous avez de disques, plus la lettre est susceptible de l'être. Quoi qu’il en soit, trouvez-le et rappelez-vous ce qu’il appelle.

2. Créez un point de montage (facultatif)

Cela doit être monté dans le système de fichiers quelque part. Vous pouvez généralement utiliser / mnt / si vous êtes paresseux et que rien d'autre n'est monté, mais sinon vous voudrez créer un nouveau répertoire:

sudo  mkdir /media/usb

3. Montez!

sudo mount /dev/sdb1 /media/usb

Lorsque vous avez terminé, lancez simplement:

sudo umount /media/usb

Cette réponse a presque 6 ans et, bien que l’essentiel de ce système fonctionne, des choses comme fdisk -l ne sont pas les options les plus conviviales. Il existe également de nouveaux mécanismes dans les piles supérieures pour le montage de dispositifs de manière saine et standard, qui ne sont pas toujours disponibles.

Donc, j'ai ajouté un peu de poli des autres réponses. Pendant que vous lisez cette note de bas de page et que vous le faites sur un système de bureau, il y a certainement des arguments pour en utilisant udisksctl, par réponse de wecac. Cela monte de la même façon que le bureau - créant votre propre /media/$USER/device répertoire - mais je pense qu'il y a toujours des arguments pour un point de montage statique, surtout lorsque vous ne voulez pas que le chemin change.

Les Udisks reposent également sur D-Bus, et peuvent donc ne pas être disponibles partout.


297
2018-04-29 00:43



Le principal inconvénient de cette méthode est qu'elle monte le périphérique en tant que root. Si l'appareil est formaté en FAT, l'utilisateur ne pourra pas y écrire. le point de montage / media / $ USER / device sera toujours le même - eMBee


Installer pmount. Monte des disques dans / media /

pmount /dev/sdb1
pumount /dev/sdb1

Aucun sudo nécessaire. Remplacez "sdb1" par votre chemin de périphérique spécifique. Pour plus d'informations, consultez la page de manuel:

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



Cela a fonctionné quand mount insisté pour monter mon lecteur en lecture seule. - Jonathan Landrum


En plus d'utiliser la norme mount commande (qui nécessite root), vous pouvez monter des lecteurs en utilisant udisks et dbus avec votre utilisateur standard.

Pour ce faire, il est utile (mais pas obligatoire) de connaître d’abord les points suivants:

  1. Quel est le dispositif (c'est-à-dire /dev/sdb1)
  2. quel système de fichiers il utilise.

Sachant cela, vous pouvez utiliser une commande simple pour monter un lecteur à partir de la ligne de commande.

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

Cet appel doit faire écho au chemin sur lequel il est monté si le montage réussit.

Pour démonter les lecteurs montés de cette manière, vous pouvez exécuter:

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

N.B. la <device> est simplement la fin du chemin vers elle. Donc, par exemple, si ce que vous voulez monter est à /dev/sdb2 alors vous mettriez sdb2 au lieu de <device>.


Si vous ne savez pas quel périphérique il est ou quel système de fichiers il utilise, ne craignez rien. Vous pouvez facilement imprimer toutes ces informations avec cette petite commande:

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) ).*|\}|.*\{)"

Ceci imprimera quelque chose comme ceci:

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';
    };
  };
};

Ceux qui ont IdUsage = 'filesystem' peut être monté en utilisant la commande ci-dessus.

Cela signifie que, par exemple, si je voulais monter le périphérique «USB DRIVE», je lancerais la commande

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

Ces commandes fonctionnent toutes en utilisant le dbus système de messagerie, de la même manière que Nautilus et d'autres gestionnaires de fichiers auto-montent des choses. Dans ces commandes, nous envoyons divers objets (c.-à-d. /org/freedesktop/... des messages leur demandant de monter et de démonter certains appareils. Ils peuvent ou peuvent ne pas le faire en fonction des autorisations qui leur ont été données. PolicyKit.

En utilisant des commandes similaires, vous pouvez contrôler presque tous les aspects de votre expérience dans Ubuntu et simuler la plupart des programmes et fonctions du système (par exemple, arrêt, changement de volume, etc.).


11
2017-08-29 15:42



La manière 2015 est gdbus introspect --system --dest org.freedesktop.UDisks2 --object-path /org/freedesktop/UDisks2/drives --recurse --only-properties - Nick Alexander


Utilisation udisksctl de package =udisks2 (à la fois sur Ubuntu et Debian). La procédure est:

  1. Recherchez l'ID du périphérique que vous souhaitez monter, en utilisant 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
    

    De sa taille, /dev/sdc1 semble être le lecteur USB que je veux monter.

  2. Utilisation udisksctl pour monter l'appareil. Notez que -b == --block-device (pour réduire la saisie) mais je préfère les options longues pour la documentation:

    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.
    

S'adressant à Hans Deragon commentaires ci-dessous: vous pouvez aussi dire udisksctl faire --no-user-interaction. Il ne tente pas d’authentifier l’utilisateur, ce qui revient généralement à "juste fonctionner":

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





C'est simple Lorsque je veux utiliser un lecteur USB dans le terminal, je le fais:

Créer un dossier dans /media avec:

mkdir /media/mountDrive 

Ce dossier sera utilisé pour le point de montage. Utilisez cette commande:

sudo mount /dev/sdd1 /media/mountDrive 

sdd1 est la première partition de mon USB. Ensuite, vous pouvez naviguer dans le dossier que vous avez déjà monté avec

cd /media/mountDrive

Si vous souhaitez répertorier les fichiers dans le lecteur, vous pouvez utiliser le ls commander.

Pour démonter le lecteur que vous pouvez utiliser

sudo umount /dev/sdd1

Notez que dans mon système, le lecteur USB est /dev/sdd1, mais dans votre système, cela peut être quelque chose de différent. Pour savoir ce que c'est utiliser le df commande pour voir tous les disques connectés à l'heure actuelle.


2
2017-08-29 14:08





Vous pouvez également monter automatiquement des périphériques USB sur Ubuntu Server à l'aide de USBmount.

Assurez-vous de lancer apt-get update / upgrade avant de commencer l'installation:

sudo apt-get update && sudo apt-get upgrade

Maintenant, installez USBmount à partir des référentiels:

sudo apt-get install usbmount

USBmount monte toutes les clés USB /media/usb* (usb0, usb1, usb2 ...)

Branchez maintenant un lecteur USB et attendez qu'il soit détecté et monté. Tant que le système d'exploitation hôte prend en charge le système de fichiers, il doit être monté.

Pour vérifier si le lecteur USB a été monté correctement, vous pouvez utiliser df -h pour voir tous les disques disponibles et leurs points de montage respectifs

Pour désinstaller un lecteur, vous pouvez utiliser umount.

sudo umount /media/usb0

2
2018-05-14 16:35