(6 réponses)
Fermé il y a 3 ans.
Comment vérifier qu'un répertoire particulier est monté sur la machine Linux.
Par exemple, il existe un dossier nommé test, je veux vérifier s'il est monté ou non.
Réponse acceptée :
Si vous voulez vérifier qu'il s'agit du point de montage d'un système de fichiers, c'est ce que le mountpoint
commande (sur la plupart des systèmes basés sur Linux) est pour :
if mountpoint -q -- "$dir"; then
printf '%sn' "$dir is a mount point"
fi
Il le fait en vérifiant si .
et ..
ont le même numéro d'appareil (st_dev
dans stat()
résultat). Donc, si vous n'avez pas le mountpoint
commande, vous pourriez faire :
perl -le '$dir = shift; exit(1) unless
(@a = stat "$dir/." and @b = stat "$dir/.." and
($a[0] != $b[0] || $a[1] == $b[1]))' "$dir"
Comme mountpoint
, il retournera vrai pour /
même si /
n'est pas un point de montage (comme dans un chroot
prison), ou false
pour un point de montage d'un bind montage du même système de fichiers en lui-même.
Contrairement à mountpoint
, pour les liens symboliques, il vérifiera si la cible du lien symbolique est un point de montage.