Так. Ви можете бачити показ лише цікавих точок монтажу / фільтрування нецікавих типів або лістинг-каталоги під цим, /
що не знаходяться під тією ж точкою встановлення для деяких прикладів використання, але нижче також є короткий пробіг. Команда, про яку ви запитуєте, - це findmnt
(хоча lsblk
може і служити) :
lsblk -f /dev/sda[12]
NAME FSTYPE LABEL UUID MOUNTPOINT
sda1 vfat ESP F0B7-5DAE /esp
sda2 btrfs sys 94749918-bde1-46e6-b77c-b66e0368ecdb /
Тепер, як бачите, /dev/sda1
встановлений на /esp
. Цікаво, чи він встановлений і в іншому місці?
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
Ага. Розумію. --bind
Над папкою також встановлена підпапка . Добре...
sudo umount /boot /esp
findmnt /dev/sda1
Нічого. Якого біса?
echo "$?"
1
О, так, це добре. Гммм ...
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.
О так, це дійсно приємно.
for d in /dev/sd*
do findmnt -noSOURCE,TARGET "$d"
done
/dev/sda2[/arch_root] /
Тепер давайте повернемо sda1 туди, де він належить, і спробуємо це знову ...
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] /
Але де я знайшов цю магічну команду?
man mount | sed -e:n -e'/findmnt/!d;N;/\n$/q;bn'
Для більш надійного та настроюваного використання виводу findmnt
(8) , особливо у ваших сценаріях. Зверніть увагу, що символи керування у назві точки кріплення замінюються на ?
.
udisks
симпосилання (in / dev / disk / by-label / ...). Але я можу вирішити проблему з вузлом пристрою, використовуючиreadlink -f
. Мені подобається/proc/mounts
ідея, я думаю, що це може бути трохи надійніше, ніж/etc/mtab
.