GNU/Linux >> Tutoriales Linux >  >> Linux

¿Comando para ver dónde está montado un disco?

¿Existe un comando simple que tome el nodo del dispositivo de un disco como entrada y me diga dónde (y si) está montado ese disco? ¿Es posible obtener el punto de montaje por sí mismo, para poder pasarlo a otro comando?

Estoy trabajando en un sistema en vivo Debian Squeeze con una instalación mínima (puedo instalar paquetes adicionales si es necesario).

Respuesta aceptada:

Bajo Linux, puede obtener información del punto de montaje directamente desde el kernel en /proc/mounts . El mount programa registra información similar en /etc/mtab . Las rutas y opciones pueden ser diferentes, como /etc/mtab representa lo que mount pasado al núcleo mientras que /proc/mounts muestra los datos como se ve dentro del kernel. /proc/mounts siempre está actualizado mientras que /etc/mtab podría no serlo si /etc era de solo lectura en algún momento que no esperaban los scripts de arranque. El formato es similar a /etc/fstab .

En ambos archivos, el primer campo separado por espacios en blanco contiene la ruta del dispositivo y el segundo campo contiene el punto de montaje.

awk -v needle="$device_path" '$1==needle {print $2}' /proc/mounts

o si no tienes awk:

grep "^$device_path " /proc/mounts | cut -d ' ' -f 2

Hay una serie de casos extremos en los que es posible que no obtenga lo que espera. Si el dispositivo se montó a través de una ruta diferente en /dev que designa el mismo dispositivo, no lo notará de esta manera. En /proc/mounts , los montajes de unión son indistinguibles del original. Puede haber más de una coincidencia si un punto de montaje sombrea a otro (esto es inusual).

En /proc/self o /proc/$pid , hay un mounts por proceso archivo que imita el archivo global. La información de montaje puede variar entre procesos, por ejemplo debido a chroot . Hay un archivo adicional llamado mountinfo que tiene un formato diferente e incluye más información, en particular los números mayor y menor del dispositivo. De la documentación:

36 35 98:0 /mnt1 /mnt2 rw,noatime master:1 - ext3 /dev/root rw,errors=continue
(1)(2)(3)   (4)   (5)      (6)      (7)   (8) (9)   (10)         (11)

(1) mount ID:  unique identifier of the mount (may be reused after umount)
(2) parent ID:  ID of parent (or of self for the top of the mount tree)
(3) major:minor:  value of st_dev for files on filesystem
(4) root:  root of the mount within the filesystem
(5) mount point:  mount point relative to the process's root
(6) mount options:  per mount options
(7) optional fields:  zero or more fields of the form "tag[:value]"
(8) separator:  marks the end of the optional fields
(9) filesystem type:  name of filesystem of the form "type[.subtype]"
(10) mount source:  filesystem specific information or "none"
(11) super options:  per super block options

Entonces, si está buscando un dispositivo por número, puede hacerlo así:

awk -v dev="$major:minor" '$3==dev {print $5}'
awk -v dev="$(stat -L -c %t:%T /dev/block/something)" '$3==dev {print $5}'

Linux
  1. Cómo montar y desmontar sistemas de archivos/particiones en Linux (ejemplos de comandos de montaje/desmontaje)

  2. Cómo mover /tmp en un disco separado como un punto de montaje separado (en línea)

  3. Ejemplos de comandos de montaje en Linux

  4. ¿Dónde está el comando de gemas en RHEL6?

  5. ¿Dónde se deben montar los discos permanentes adicionales?

Comando Df en Linux (Comprobar espacio en disco)

Cómo montar un disco NTFS en Linux

¿El punto del comando externo `cd`?

Comando Linux df para verificar el espacio en disco

montaje:comando no encontrado

Linux du command sin atravesar sistemas de archivos montados