¿Cómo montar un dispositivo USB desde la Terminal?

Como todo en GNU/Linux es un fichero, necesitamos una ubicación en el sistema de ficheros para nuestro dispositivo USB. Normalmente se suelen crear en /media, /mnt o en un directorio similiar diseñado para tal propósito. En el sistema operativo que yo utilizo (Trisquel), se utiliza la carpeta /media. La ubicación para mi USB la creo con esta instrucción: sudo mkdir /media/usb.

Una vez creado el punto de montaje, necesitamos decirle al sistema operativo el dispositivo que queremos montar. Con la instrucción lsblk podemos listar los dispositivos disponibles. Ahora solo nos queda montar con la instrucción mount el que queramos en el directorio que hemos creado: sudo mount /dev/sdc1 /media/usb (en mi caso). Cuando esté desmontado el dispositivo USB, el directorio donde lo hemos montado quedará vacío. Puedes borrar el directorio creado con la instrucción sudo rmdir /media/usb.

La carpeta oculta .Trash en dispositivos USB

Si trabajas con un dispositivo USB y usas GNU/Linux, quizás te hayas topado alguna vez con una carpeta oculta llamada .Trash-1000, .Trash-1001 o con algún nombre similar. Dentro de este directorio encontrarás un subdirectorio llamado files y otro llamado info. En la siguiente imagen puedes ver el contenido de la carpeta .Trash-1002 en mi dispositivo USB.

carpeta .Trash USB
carpeta .Trash USB

¿Qué es lo que contienen esas carpetas y por qué existen? Cuando borras algo de tu dispositivo USB usando el ratón o pulsando la tecla Suprimir, no lo estás borrando definitivamente: simplemente se guarda en la carpeta que te he mostrado anteriormente. De esta forma, puedes estar tranquilo de que, aunque borres algo importante, podrás recuperarlo si te arrepientes de tu decisión. La carpeta files contiene los archivos, y la carpeta info, la ruta que tenían los archivos en el USB antes de ser «borrados» y su fecha de eliminación.

Para eliminar definitivamente archivos dentro de la carpeta .Trash-????, debes eliminar el archivo que está dentro de la carpeta files y el de la carpeta info. Dentro de la carpeta files, el nombre del archivo es el mismo que cuando se eliminó y dentro de la carpeta info, se le ha añadido la extensión .trashinfo.

Puedes usar la instrucción rm para borrar los archivos de forma definitiva. Recomiendo usar rm -i archivos, si vas a borrar muchos archivos y quieres asegurarte de que no borras alguno que no deberías. También puedes borrar la carpeta .Trash-1002 (o como se llame en tu caso) con todo su contenido ejecutando la instrucción rm -r .Trash-1002 (cambia el nombre de la carpeta si es distinto al tuyo) sobre la raíz del dispositivo USB. También puedes pulsar Shift y Suprimir al mismo tiempo seleccionado el archivo que deseas eliminar (no sé si esto funcionará en cualquier distribución). Tranquilo, la carpeta se volverá a crear cuando borres cualquier otra cosa. Si quieres borrar solo un archivo, este script te servirá para eliminar los archivos de los subdirectorios de la carpeta .Trash-????, debes ejecutarlo ubicado en la raíz del dispositivo USB:

#!/bin/bash

echo "A continuación se muestra una lista con los archivos de la papelera del USB."
ls .Trash-1002/files
echo -en "Introduce el nombre del archivo que quieres borrar.\n>>> "
read file
#Si es un directorio, también borra todo su contenido.
rm -r ".Trash-1002/files/$file" ".Trash-1002/info/$file.trashinfo" && echo "Eliminación realizada con éxito."

Si tu carpeta .Trash-???? no tiene el mismo nombre que la mía debes cambiarlo en todo el script. A continuación, muestro una imagen con un ejemplo práctico:

Ejecución del script que borra el contenido de la papelera de un dispositivo USB.
Ejecución del script que borra el contenido de la papelera de un dispositivo USB.