(6 odpovědí)
Uzavřeno před 3 lety.
Jak zkontrolovat, zda je určitý adresář připojen k počítači se systémem Linux.
Například existuje složka s názvem test, chci zkontrolovat, zda je připojena nebo ne.
Přijatá odpověď:
Pokud chcete zkontrolovat, že se jedná o bod připojení systému souborů, je to mountpoint
příkaz (na většině systémů založených na Linuxu) je určen pro:
if mountpoint -q -- "$dir"; then
printf '%sn' "$dir is a mount point"
fi
Dělá to kontrolou, zda .
a ..
mají stejné číslo zařízení (st_dev
v stat()
výsledek). Pokud tedy nemáte mountpoint
příkaz, můžete udělat:
perl -le '$dir = shift; exit(1) unless
(@a = stat "$dir/." and @b = stat "$dir/.." and
($a[0] != $b[0] || $a[1] == $b[1]))' "$dir"
Jako mountpoint
, vrátí hodnotu true pro /
i když /
není přípojný bod (jako když je v chroot
vězení), nebo false
pro přípojný bod spojení připojení stejného systému souborů v sobě.
Na rozdíl od mountpoint
, u symbolických odkazů zkontroluje, zda je cílem symbolického odkazu přípojný bod.