(6 risposte)
Chiuso 3 anni fa.
Come verificare che una particolare directory sia montata sulla macchina Linux.
Ad esempio esiste una cartella denominata test, voglio verificare se è montata o meno.
Risposta accettata:
Se vuoi controllare che sia il punto di montaggio di un file system, questo è il mountpoint comando (sulla maggior parte dei sistemi basati su Linux) è per:
if mountpoint -q -- "$dir"; then
printf '%sn' "$dir is a mount point"
fi
Lo fa controllando se . e .. hanno lo stesso numero di dispositivo (st_dev in stat() risultato). Quindi, se non hai il mountpoint comando, potresti fare:
perl -le '$dir = shift; exit(1) unless
(@a = stat "$dir/." and @b = stat "$dir/.." and
($a[0] != $b[0] || $a[1] == $b[1]))' "$dir"
Come mountpoint , restituirà true per / anche se / non è un punto di montaggio (come quando in un chroot jail), o false per un punto di montaggio di un bind montare lo stesso file system al suo interno.
Contrariamente a mountpoint , per i collegamenti simbolici, verificherà se la destinazione del collegamento simbolico è un punto di montaggio.