GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo obtener la lista completa y exacta de los sistemas de archivos montados en Linux?

La lista definitiva de sistemas de archivos montados está en /proc/mounts .

Si tiene algún tipo de contenedores en su sistema, /proc/mounts solo enumera los sistemas de archivos que están en su contenedor actual. Por ejemplo, en un chroot, /proc/mounts enumera solo los sistemas de archivos cuyo punto de montaje está dentro del chroot. (Hay formas de escapar del chroot, fíjate).

También hay una lista de sistemas de archivos montados en /etc/mtab . Esta lista es mantenida por el mount y umount comandos Eso significa que si no usa estos comandos (que es bastante raro), su acción (montar o desmontar) no se registrará. En la práctica, es principalmente en un chroot donde encontrará /etc/mtab archivos que difieren enormemente del estado del sistema. Además, los montajes realizados en el chroot se reflejarán en el /etc/mtab del chroot. pero no en el principal /etc/mtab . Acciones realizadas mientras /etc/mtab está en un sistema de archivos de solo lectura tampoco se registran allí.

La razón por la que a veces querrías consultar /etc/mtab en preferencia o además de /proc/mounts es que debido a que tiene acceso a la línea de comando de montaje, a veces puede presentar información de una manera que es más fácil de entender; por ejemplo, verá las opciones de montaje según lo solicitado (mientras que /proc/mounts enumera el mount y los valores predeterminados del kernel también), y los montajes de enlace aparecen como tales en /etc/mtab .


A partir de la versión 2.18 (julio de 2010) util-linux incluye una herramienta que le permite mostrar una lista de los sistemas de archivos montados actualmente:

findmnt

Puede cambiar de la vista de árbol predeterminada a la vista de lista con -l , defina columnas de salida con -o (similar a lsblk ), filtre los resultados según el tipo de sistema de archivos con -t etc...

findmnt -lo source,target,fstype,label,options,used -t ext4
SOURCE    TARGET      FSTYPE LABEL OPTIONS                           USED
/dev/sda1 /           ext4   ARCH  rw,noatime,discard,data=ordered  17.6G
/dev/sdb2 /media/DATA ext4   DATA  rw,noatime,discard,data=ordered    44M

Para más detalles lea el man página (y findmnt --help para obtener la lista de columnas disponibles)


Tal vez porque han pasado 5 años desde que se respondió esta pregunta, las cosas han cambiado. El cat /proc/mounts crea mucha información que no te interesa. Hoy, en mi humilde opinión, creo que esta es la solución definitiva.

df -h --output=source,target

cuando lee las páginas de manual, hay todo tipo de opciones que puede hacer, pero esto es lo que necesita. Por ejemplo, para limpiar aún más los resultados, puede excluir los tipos de archivo "tmpfs" con este comando:

df -hx tmpfs --output=source,target

df funciona en el nivel del sistema de archivos y no en el nivel del archivo.

Los comandos anteriores también incluirán montajes de red.

Para ver un poco más de información usa esto:

df -hT

NOTA ¡Con conexiones de red lentas, esto puede llevar varios minutos!

Si no tiene o no le importan las conexiones de red montadas (y tiene permisos de raíz), entonces esto es aún mejor:

sudo lsblk -f

Linux
  1. Comando grpck:elimine las entradas corruptas o duplicadas en los archivos /etc/group y /etc/gshadow.

  2. Linux - Cómo enumerar todos los usuarios

  3. ¿Cómo podemos obtener una lista de usuarios que no son del sistema en Linux?

  4. ¿Cómo puedo revertir un chmod en el directorio etc?

  5. Cómo configurar /etc/issues para mostrar la dirección IP de eth0

Cómo obtener el tamaño de un directorio en Linux

Cómo encontrar recursivamente y enumerar los archivos por fecha en Linux

Cómo enumerar los sistemas de archivos en Linux usando Lfs

La forma correcta de editar archivos /etc/passwd y /etc/group en Linux

Linux:¿cómo obtener la lista completa y exacta de los sistemas de archivos montados en Linux?

Comprender los archivos /proc/mounts, /etc/mtab y /proc/partitions