GNU/Linux >> Tutoriels Linux >  >> Linux

Commande pour voir où un disque est monté ?

Existe-t-il une commande simple qui prend le nœud de périphérique d'un disque en entrée et me dit où (et si) ce disque est monté ? Est-il possible d'obtenir le point de montage par lui-même, afin que je puisse le passer à une autre commande ?

Je travaille sur un système live Debian Squeeze avec une installation minimale (je peux installer des packages supplémentaires si nécessaire).

Réponse acceptée :

Sous Linux, vous pouvez obtenir des informations sur les points de montage directement depuis le noyau dans /proc/mounts . Le mount le programme enregistre des informations similaires dans /etc/mtab . Les chemins et les options peuvent être différents, comme /etc/mtab représente ce que mount passé au noyau alors que /proc/mounts montre les données telles qu'elles sont vues à l'intérieur du noyau. /proc/mounts est toujours à jour alors que /etc/mtab peut-être pas si /etc était en lecture seule à un moment donné, ce qui n'était pas prévu par les scripts de démarrage. Le format est similaire à /etc/fstab .

Dans les deux fichiers, le premier champ séparé par des espaces contient le chemin du périphérique et le second champ contient le point de montage.

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

ou si vous n'avez pas awk :

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

Il existe un certain nombre de cas extrêmes où vous pourriez ne pas obtenir ce que vous attendez. Si le périphérique a été monté via un chemin différent dans /dev qui désigne le même appareil, vous ne le remarquerez pas de cette façon. Dans /proc/mounts , les supports de liaison sont indiscernables de l'original. Il peut y avoir plus d'une correspondance si un point de montage en masque un autre (c'est inhabituel).

Dans /proc/self ou /proc/$pid , il existe un mounts par processus fichier qui imite le fichier global. Les informations de montage peuvent varier entre les processus, par exemple en raison de chroot . Il existe un fichier supplémentaire appelé mountinfo qui a un format différent et comprend plus d'informations, en particulier les numéros majeur et mineur de l'appareil. À partir de la documentation :

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

Donc, si vous recherchez un appareil par numéro, vous pouvez le faire comme ceci :

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. Comment monter et démonter un système de fichiers/partition sous Linux (exemples de commandes Mount/Umount)

  2. mount Exemples de commandes sous Linux

  3. Comment déplacer /var sur un disque séparé en tant que point de montage séparé (en ligne)

  4. Exemples de commandes hdiutil sur Mac

  5. Commande Linux du sans traverser les systèmes de fichiers montés

Commande Df sous Linux (vérifier l'espace disque)

Comment monter un disque NTFS sous Linux

Commande Linux df pour vérifier l'espace disque

Accéder à un point de montage caché

Vérifier le point de montage du volume logique (ligne de commande)

Effacement d'un ordinateur portable Linux