Jeśli mam identyfikator UUID partycji dysku, jak mam się dowiedzieć, czy jest on zamontowany, czy nie, za pomocą wiersza polecenia?
command-line
mount
disk
partitions
Arroniczny
źródło
źródło
tune2fs
.tune2fs -U random /dev/sdxx
. Ale to nie zadziała dla wszystkich typów partycji.Odpowiedzi:
lsblk
może pomóc. Może wydrukować tylko UUID i punkt podłączenia, więc biorąc pod uwagę UUID, sprawdź, czy punkt podłączenia nie jest pusty:Więc:
Ponieważ
lbslk
może działać na określonych urządzeniach, możesz także:W przypadku pierwszej metody nie wystąpi błąd, jeśli ten identyfikator UUID nie pochodzi z aktualnie podłączonego dysku. Druga metoda
lsblk
spowoduje błąd, jeśli/dev/disk/by-uuid/$uuid
nie istnieje.źródło
Jeśli chcesz mieć tylko jedną linię z UUID i punktem montowania ($ UUID reprezentuje Twój UUID):
Punkt montowania będzie pusty, jeśli zostanie odmontowany. Wypróbuj
lsblk -h
więcej opcji.Użyj,
awk
aby wydrukować wynik. jeśliNF
(liczba pól) jest większa niż jedno, oznacza to, że ma punkt montowania:źródło
Jeśli chcesz szczegóły od
mount
zamień na
your-UUID-here
swój UUIDbardziej czytelnie:
przykład wyjścia:
Możesz po prostu sprawdzić, czy łańcuch nie ma wartości zerowej, a echo „zamontowane”:
ale inni dali lepsze sposoby na to :)
źródło
Ubuntu używa
UDisks2
demona, który sonduje całą masę informacji o systemach plików, a my możemy użyćudisksctl
i przefiltrować jego dane wyjściowe, aby znaleźć szybki i brudny sposób na znalezienie potrzebnych informacji:To, co widzisz powyżej, w zasadzie spowoduje wydrukowanie identyfikatorów UUID systemów plików i ich punktów montowania. Dzięki kontroli wizualnej możesz teraz dowiedzieć się, który UUID jest zamontowany, a który nie.
źródło
Moje rozwiązanie
procfs
, więc żadne dziwne problemy z formatowaniem danych wyjściowych poleceń,źródło
Opierając się na doskonałych odpowiedziach, jakie otrzymałem na to pytanie, zdałem sobie sprawę, że o wiele łatwiej jest pracować z nazwami urządzeń. Aby uzyskać nazwę urządzenia z UUID:
Co oznacza, że mogę szybko wywnioskować, czy jest on zamontowany, grepując dane wyjściowe
df
:Lub wykorzystując kod w odpowiedzi Muru , który ma dodatkową zaletę, mówiąc mi, gdzie jest zamontowany dysk:
źródło
Możesz użyć
df
polecenia, aby zobaczyć podłączone systemy plików i ich punkty podłączenia. Oto przykład z mojego komputera ... partycjasdb3
, na której mam zainstalowany inny system, nie jest zamontowana, więc nie znajduje się na liście (partycje są ponownie oznaczone, dlatego zamiast UUID wyświetlane są nazwy):źródło
df
?Jeśli
the_UUID
w/dev/disk/by-uuid/
partycji jest zamontowane łącze o nazwie „ ” . Na moim Ubuntu 14.04.5 (YMMV):źródło
dmesg
i/var/log/kern.log*
. Wygląda na to, że system nie jest zadowolony z systemu plików na partycji i nie może go zamontować. Jedną z możliwych przyczyn jest hibernacja systemu Windows./dev/disks/by-uuid/
katalogu./dev/disk/by-uuid
a jego odpowiedniki zawierają wszystkie identyfikatory UUID / identyfikatory / etykiety podłączonych urządzeń znanych z udev, niezależnie od ich stanu podłączenia.