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

211

J'ai uniquement accès à 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?
posée MEM 29.04.2011 - 02:26
la source

6 réponses

296

1. Trouvez ce que le lecteur s'appelle

Vous devez 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 recherchez 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 le cœur de la solution fonctionne toujours, 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 d'appareils de manière saine et standard, qui ne sont pas toujours disponibles.

J'ai donc ajouté des détails aux 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 existe certainement des arguments pour utiliser udisksctl , par wecac répondre . Cela fonctionne de la même manière que le bureau - en créant votre propre répertoire /media/$USER/device - mais je pense qu'il y a toujours des arguments pour un point de montage statique, surtout si vous ne voulez pas que le chemin change.

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

    
réponse donnée Oli 29.04.2011 - 02:43
la source
39

Installez pmount . Monte des disques dans / media /

pmount /dev/sdb1
pumount /dev/sdb1

Pas besoin de sudo. 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.
    
réponse donnée Sepero 06.11.2013 - 02:39
la source
11

Outre l’utilisation de la commande standard mount (qui requiert 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 périphérique (c.-à-d. /dev/sdb1 )
  2. quel système de fichiers il utilise.

Connaissant ces informations, 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. le <device> est simplement la fin du chemin. Ainsi, par exemple, si ce que vous voulez monter est à /dev/sdb2 , vous mettrez sdb2 à la place de <device> .

Si vous ne savez pas quel périphérique il est ou quel système de fichiers il utilise, ne craignez pas. 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 va imprimer 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' peuvent être montés 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 avec le système de messagerie dbus , de la même manière que Nautilus et les autres gestionnaires de fichiers montent automatiquement les choses. Dans ces commandes, nous envoyons divers objets (à savoir les messages /org/freedesktop/... leur demandant de monter et de démonter certains périphériques. Ils peuvent ou non le faire en fonction des autorisations qui leur ont été données dans 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 (arrêt, changement de volume, etc.).

    
réponse donnée Alex L. 29.08.2012 - 17:42
la source
10

Utilisez udisksctl du package = udisks2 (dans Ubuntu et Debian). La procédure est la suivante:

  1. Recherchez l'ID du périphérique de bloc que vous souhaitez monter, en utilisant lsblk :

    [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
    

    De sa taille, /dev/sdc1 semble être la clé USB que je veux monter.

  2. Utilisez udisksctl pour monter le périphérique. Notez que -b == --block-device (pour réduire la saisie) mais que je préfère les options longues pour la documentation:

    [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.
    

Commenter les commentaire ci-dessous de Hans Deragon : vous pouvez également indiquer à udisksctl de faire --no-user-interaction . Il ne tente pas d’authentifier l’utilisateur, qui "travaille normalement":

[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.
    
réponse donnée wecac 28.12.2016 - 16:34
la source
2

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

Créez 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 périphérique 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 du lecteur, vous pouvez utiliser la commande ls .

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, il peut être différent. Pour savoir ce que c'est, utilisez la commande df pour voir tous les disques connectés à l'heure actuelle.

    
réponse donnée Deivid Vale 29.08.2012 - 16:08
la source
2

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 tous les lecteurs USB dans /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 afficher tous les lecteurs disponibles et leurs points de montage respectifs.

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

sudo umount /media/usb0
    
réponse donnée Sandro 14.05.2016 - 18:35
la source

Lire d'autres questions sur les étiquettes