(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.