296 votes

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

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

  • Comment monter manuellement une clé USB ?
  • Quelle doit être la commande de copie ?

430voto

Mufaka Points 54

1. Trouvez le nom du lecteur

Vous devez savoir comment s'appelle le lecteur pour le monter. Pour ce faire, lancez l'une des commandes suivantes (classées par ordre de préférence) :

lsblk
sudo blkid
sudo fdisk -l

Vous recherchez une partition qui devrait ressembler à quelque chose comme : /dev/sdb1 . Plus vous avez de disques, plus cette lettre est susceptible d'être élevée. Quoi qu'il en soit, trouvez-le et rappelez-vous comment il s'appelle.

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

Il 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'y est monté, mais sinon vous devrez créer un nouveau répertoire :

sudo  mkdir /media/usb

3. Montez !

sudo mount /dev/sdb1 /media/usb

Quand tu as fini, tu peux te retirer :

sudo umount /media/usb

Cette réponse date d'il y a presque 6 ans et, bien que l'essentiel fonctionne toujours, des éléments tels que fdisk -l ne sont pas les options les plus conviviales. Il existe également de nouveaux mécanismes dans les piles supérieures permettant de monter des appareils de manière saine et standard, ce qui n'est pas toujours possible.

J'ai donc ajouté un peu de polissage à partir des autres réponses. Pendant que vous lisez cette note de bas de page et que vous faites cela sur un système de bureau, il y a certainement des arguments en faveur de en utilisant udisksctl , selon la réponse de wecac . Ce montage s'effectue de la même manière que le bureau - en créant vos propres /media/$USER/device répertoire- mais je pense qu'il y a encore des arguments pour un point de montage statique, surtout quand on ne veut pas que le chemin change.

Les Udisks reposent également sur le D-Bus, et ne sont donc pas forcément disponibles partout.

52voto

Sepero Points 4341

pmount / pumount

Installer pmount . Monte les disques dans /media/

pmount /dev/sdb1
pumount /dev/sdb1

Non sudo nécessaire.

Remplacez "sdb1" par le chemin de votre périphérique spécifique. Pour plus d'informations, consultez le page d'accueil :

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.

18voto

wecac Points 291

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

  1. Trouvez l'ID du périphérique de bloc que vous voulez 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. Utilice udisksctl pour monter le dispositif. 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 commentaire ci-dessous : vous pouvez aussi dire udisksctl à faire --no-user-interaction . Il ne tente pas d'authentifier l'utilisateur, ce qui, en général, "fonctionne tout simplement" :

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.

12voto

Alex L. Points 3118

En plus de l'utilisation de la norme mount (qui nécessite l'accès à l'utilisateur root), vous pouvez monter les lecteurs en utilisant la commande udisks y dbus avec votre utilisateur standard.

Pour ce faire, il est utile (mais pas obligatoire) de connaître d'abord quelques éléments sur le lecteur :

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

En 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 devrait renvoyer le chemin où il est monté si le montage réussit.

Pour démonter les disques montés de cette façon, 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. le <device> est simplement la fin du chemin qui y mène. Ainsi, par exemple, si ce que vous voulez monter se trouve à l'adresse suivante /dev/sdb2 alors vous mettez sdb2 à la place de <device> .


Si vous ne savez pas de quel périphérique il s'agit ou quel système de fichiers il utilise, n'ayez crainte. 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) ).*|\}|.*\{)"

Cela donnera 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 veux monter le périphérique 'USB DRIVE', il faut exécuter la commande suivante

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 l'option dbus système de messagerie, de la même manière que Nautilus et d'autres gestionnaires de fichiers montent automatiquement les choses. Dans ces commandes, nous envoyons différents objets (c'est-à-dire /org/freedesktop/... des messages leur demandant de monter et démonter certains périphériques. Ils peuvent ou non le faire en fonction des permissions qui leur ont été accordées dans la base de données de l'entreprise. PolicyKit .

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

6voto

Sandro Points 71

Vous pouvez également monter automatiquement les périphériques USB sur le serveur Ubuntu à l'aide de USBmount.

Assurez-vous d'exécuter apt-get update/upgrade avant de commencer l'installation :

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

Maintenant, installez USBmount à partir des dépôts :

sudo apt-get install usbmount

USBmount monte tous les lecteurs USB dans /media/usb* (usb0, usb1, usb2 ...)

Maintenant, branchez une clé USB et attendez qu'elle soit détectée et montée. Tant que le système d'exploitation hôte prend en charge le système de fichiers, il devrait être monté.

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

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

sudo umount /media/usb0

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