Sì. Puoi vedere Mostrare solo punti di mount interessanti / Filtrare tipi non interessanti o Elenchi di directory /
che non sono sotto lo stesso mountpoint per un uso di esempio, ma c'è anche una breve carrellata di seguito. Il comando di cui stai chiedendo è findmnt
(anche se lsblk
potrebbe anche servire) :
lsblk -f /dev/sda[12]
NAME FSTYPE LABEL UUID MOUNTPOINT
sda1 vfat ESP F0B7-5DAE /esp
sda2 btrfs sys 94749918-bde1-46e6-b77c-b66e0368ecdb /
Ora, come puoi vedere, /dev/sda1
è montato /esp
. Mi chiedo se è montato anche altrove?
findmnt /dev/sda1
TARGET SOURCE FSTYPE OPTIONS
/esp /dev/sda1 vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro
/boot /dev/sda1[/EFI/arch_root] vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro
Aha. Vedo. Una sottocartella è anche --bind
montata sopra l'avvio. Ok...
sudo umount /boot /esp
findmnt /dev/sda1
Niente. Che diavolo?
echo "$?"
1
Ohhh ... Beh, è carino. Hmmm ...
for d in 1 2
do findmnt "/dev/sda$d" >/dev/null
printf "/dev/sda$d%.$((6>>!$?))s%s\n"\
" isn't" " currently mounted."
done
/dev/sda1 isn't currently mounted.
/dev/sda2 is currently mounted.
Oh sì, è davvero carino.
for d in /dev/sd*
do findmnt -noSOURCE,TARGET "$d"
done
/dev/sda2[/arch_root] /
Ora rimettiamo sda1 al suo posto e riproviamo ...
sudo mount -a
for d in /dev/sd*
do findmnt -noSOURCE,TARGET "$d"
done
/dev/sda1 /esp
/dev/sda1[/EFI/arch_root] /boot
/dev/sda2[/arch_root] /
Ma dove ho trovato questo comando magico?
man mount | sed -e:n -e'/findmnt/!d;N;/\n$/q;bn'
Per un output più robusto e personalizzabile, utilizzare findmnt
(8) , specialmente negli script. Si noti che i caratteri di controllo nel nome mountpoint vengono sostituiti con ?
.
udisks
link simbolico (in / dev / disk / by-label / ...). Ma posso risolvere con un nodo del dispositivo usandoreadlink -f
. Mi piace l'/proc/mounts
idea, penso che potrebbe essere un po 'più affidabile di/etc/mtab
.