Vâng. Bạn có thể thấy Chỉ hiển thị các Điểm thú vị / Lọc các loại không thú vị hoặc Các thư mục liệt kê trong /
đó không thuộc cùng một Mountpoint cho một số cách sử dụng ví dụ, nhưng cũng có một tóm tắt ngắn gọn bên dưới. Lệnh bạn đang hỏi là findmnt
(mặc dù lsblk
cũng có thể phục vụ) :
lsblk -f /dev/sda[12]
NAME FSTYPE LABEL UUID MOUNTPOINT
sda1 vfat ESP F0B7-5DAE /esp
sda2 btrfs sys 94749918-bde1-46e6-b77c-b66e0368ecdb /
Bây giờ, như bạn có thể thấy, /dev/sda1
được gắn vào /esp
. Tôi tự hỏi nếu nó được gắn ở nơi khác là tốt?
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. Tôi hiểu rồi. Một thư mục con cũng --bind
được gắn trên boot. Được...
sudo umount /boot /esp
findmnt /dev/sda1
Không có gì. Cái quái gì thế?
echo "$?"
1
Ohhh ... Chà, thật tuyệt. Ừm ...
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.
Ồ, vâng, điều đó thực sự tốt đẹp.
for d in /dev/sd*
do findmnt -noSOURCE,TARGET "$d"
done
/dev/sda2[/arch_root] /
Bây giờ, hãy đặt sda1 trở lại nơi nó thuộc về và thử lại ...
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] /
Nhưng tôi đã tìm thấy lệnh ma thuật này ở đâu?
man mount | sed -e:n -e'/findmnt/!d;N;/\n$/q;bn'
Để sử dụng đầu ra mạnh mẽ hơn và có thể tùy chỉnh findmnt
(8) , đặc biệt là trong các tập lệnh của bạn. Lưu ý rằng các ký tự điều khiển trong tên mountpoint được thay thế bằng ?
.
udisks
symlink (in / dev / đĩa / by-nhãn / ...). Nhưng tôi có thể giải quyết một nút thiết bị bằng cách sử dụngreadlink -f
. Tôi thích/proc/mounts
ý tưởng này, tôi nghĩ rằng nó có thể đáng tin cậy hơn một chút/etc/mtab
.