Cómo acceder a una unidad flash USB desde el terminal?

Solo tengo acceso a la línea de comandos.
Necesito hacer una copia de seguridad de mis datos (en la carpeta de usuario) en un lápiz (USB DOK).

  • ¿Cómo puedo montar una unidad flash manualmente?
  • ¿Cuál debería ser el comando de copia?

1. Encuentra cómo se llama la unidad

Necesitarás saber cómo se llama la unidad para montarla. Para hacer eso, dispare uno de los siguientes (clasificados en orden de preferencia):

lsblksudo blkidsudo fdisk -l

Está buscando una partición que debería verse algo como: /dev/sdb1. Cuantos más discos tenga, mayor será la letra que probablemente sea. De todos modos, encuéntralo y recuerda cómo se llama.

2. Crear un punto de montaje (opcional)

Esto debe montarse en el sistema de archivos en algún lugar. Por lo general, puede usar /mnt / si es vago y no hay nada más montado allí, pero de lo contrario querrá crear un nuevo directorio:

sudo  mkdir /media/usb

3. Mount!

sudo mount /dev/sdb1 /media/usb

Cuando hayas terminado, solo dispara:

sudo umount /media/usb

Esta respuesta tiene casi 6 años y, aunque su núcleo aún funciona, cosas como fdisk -l no son las opciones más fáciles de usar. También hay nuevos mecanismos en pilas más altas para montar dispositivos de una manera sensata y estándar que puede que no siempre estén disponibles.

Así que he añadido un poco de pulido de las otras respuestas. Mientras lee esta nota a pie de página y lo hace en un sistema de escritorio, definitivamente hay argumentos a favor utilizar udisksctl, según la respuesta de wecac. Esto se monta de la misma manera que lo hace el escritorio: creando el suyo propio /media/$USER/device directorio - pero creo que todavía hay argumentos para un punto de montaje estático, especialmente cuando no desea que cambie la ruta.

Udisks también se basa en D-Bus, por lo que es posible que no esté disponible en todas partes.

pmount / pumount

Instalar pmount. Monta discos en /media/

pmount /dev/sdb1pumount /dev/sdb1

No sudo necesario.

Reemplace "sdb1" con la ruta de su dispositivo específico. Para obtener más información, consulte el manual:

pmount  ("policy mount") is a wrapper around the standard mount programwhich 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.

Utilizar udisksctl del paquete=udisks2 (tanto en Ubuntu como en Debian). El procedimiento es:

  1. Encontrar el ID del dispositivo de bloque que desea montar, utilizando lsblk:

    user@machine:~$ lsblkNAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTsda      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 partsdd      8:48   0   1.8T  0 disk└─sdd1   8:49   0   1.8T  0 part

    Por su tamaño, /dev/sdc1 parece ser la unidad USB que quiero montar.

  2. Utilizar udisksctl para montar el dispositivo. Tenga en cuenta que -b == --block-device (para reducir la tipificación) pero prefiero opciones largas para la documentación:

    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): 1Password:==== AUTHENTICATION COMPLETE ===Mounted /dev/sdc1 at /media/user/USBDRIVELABEL.

Dirigiéndose a Hans Deragon comente a continuación: también se puede decir udisksctl hacer --no-user-interaction. No intenta autenticar al usuario, lo que generalmente "simplemente funciona":

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.

Además de utilizar el estándar mount comando (que requiere root) puede montar unidades usando udisks y dbus con su usuario estándar.

Para hacer esto, es útil (pero no obligatorio) saber algunas cosas sobre la unidad primero:

  1. Qué dispositivo es (p. ej. /dev/sdb1)
  2. qué sistema de archivos utiliza.

Sabiendo esto, puede usar un comando simple para montar una unidad desde la línea de comandos.

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

esta llamada debe hacer eco de la ruta en la que se monta si el montaje se realiza correctamente.

Para desmontar las unidades montadas de esta manera, puede ejecutar:

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

N.B. el <device> es simplemente el final del camino hacia él. Entonces, por ejemplo, si lo que desea montar está en /dev/sdb2 entonces pondrías sdb2 en lugar de <device>.


Si no sabe qué dispositivo es o qué sistema de archivos utiliza, no tema. Puede imprimir fácilmente toda esa información con este pequeño comando:

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

Esto imprimirá algo como esto:

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

Los que tienen IdUsage = 'filesystem' se puede montar usando el comando anterior.

Esto significa que, por ejemplo, si quisiera montar el dispositivo 'UNIDAD USB' ejecutaría el comando

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

Todos estos comandos funcionan con el dbus sistema de mensajería, de la misma manera que Nautilus y otros administradores de archivos montan automáticamente cosas. En estos comandos estamos enviando varios objetos (es decir, /org/freedesktop/... mensajes pidiéndoles que monten y desmonten ciertos dispositivos. Pueden o no hacer esto dependiendo de los permisos que se le hayan otorgado PolicyKit.

Usando comandos similares, uno puede controlar casi todos los aspectos de la experiencia en Ubuntu y simular la mayoría de los programas y funciones del sistema (es decir, apagado, cambio de volumen, etc.).

También puede montar automáticamente dispositivos USB en Ubuntu Server con la ayuda de USBmount.

Asegúrese de ejecutar apt-get update / upgrade antes de iniciar la instalación:

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

Ahora instale USBmount desde los repositorios:

sudo apt-get install usbmount

USBmount monta todas las unidades USB en /media/usb* (usb0, usb1, usb2 ...)

Ahora conecte una unidad USB y espere a que se detecte y monte. Siempre que el sistema operativo host admita el sistema de archivos, debe montarse.

Para verificar si la unidad USB se montó correctamente, puede usar df -h para ver todas las unidades disponibles y sus respectivos puntos de montaje

Para desmontar una unidad, puede usar umount.

sudo umount /media/usb0

Es simple. Cuando quiero usar una unidad USB en la terminal, hago esto:

Crear una carpeta en /media con:

mkdir /media/mountDrive 

Esta carpeta se utilizará para el punto de montaje. Utilice este comando:

sudo mount /dev/sdd1 /media/mountDrive 

sdd1 es la primera partición de mi USB. Luego puede navegar a la carpeta con la que ya montó

cd /media/mountDrive

Si desea enumerar los archivos en Drive, puede usar el ls comando.

Para desmontar la unidad, puede usar

sudo umount /dev/sdd1

Tenga en cuenta que en mi sistema la unidad USB es /dev/sdd1 pero en su sistema puede ser algo diferente. Para averiguar qué es, use el df comando para ver todos los discos conectados en el momento actual.

No agregaré sobre cómo montar la unidad. Sin embargo, dado que el autor de la pregunta también preguntó cuál es el mejor comando para usar para copiar los datos, responderé que, por lo que puedo decir, no fue respondido.

Recomendaría primero crear una carpeta en la unidad (incluso si está vacía) para hacer una copia de seguridad de sus cosas para proporcionar organización. Algo en la línea de mkdir <mountpath>/mybackup debería hacerlo.

En segundo lugar, usaría rsync para copiar todo. Hacer algo en la línea de rsync -r ~/* <mountpoint>/mybackup. También puede utilizar cp -r sin embargo, si lo desea, he descubierto que hacerlo no hace todo lo que esperaría todo el tiempo.