Jest to polecenie nvme-id-ns, które można uruchomić u dostawcy bezpłatnego hostingu OnWorks przy użyciu jednej z naszych wielu bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online systemu Windows lub emulator online systemu MAC OS
PROGRAM:
IMIĘ
nvme-id-ns — wyślij przestrzeń nazw NVMe, zwróć wynik i strukturę
STRESZCZENIE
nvme identyfikator-ns [-v | --specyficzny dla dostawcy] [-b | --raw-binarny]
[--identyfikator-przestrzeni nazw= | -n ]
OPIS
Dla podanego urządzenia NVMe wysyła polecenie identyfikacji przestrzeni nazw i podaje wynik oraz
zwrócona struktura.
The parametr jest obowiązkowy i może to być urządzenie znakowe NVMe (np.
/dev/nvme0) lub urządzenie blokujące przestrzeń nazw (np. /dev/nvme0n1). Jeśli urządzenie znakowe jest
podany, opcja „--namespace-id” jest obowiązkowa, w przeciwnym razie użyje identyfikatora ns pliku
przestrzeń nazw dla otwartego urządzenia blokowego. W przypadku urządzeń blokowych używany może być ns-id
zastąpione tą samą opcją.
W przypadku powodzenia struktura może zostać zwrócona na jeden z kilku sposobów, w zależności od opcji
flagi; struktura może zostać przeanalizowana przez program lub może zostać wydrukowany surowy bufor
wyjście.
OPCJE
-n , --identyfikator-przestrzeni-nazw=
Pobierz strukturę przestrzeni nazw identyfikacyjnych dla podanego identyfikatora nsid. Jest to wymagane dla
urządzenia znakowe lub zastępuje blok nsid, jeśli jest podany.
-b, --raw-binarny
Wydrukuj surowy bufor na standardowe wyjście. Struktura nie jest analizowana przez program. To zastępuje
opcje specyficzne dla dostawcy i czytelne dla człowieka.
-v, --specyficzne dla dostawcy
Oprócz analizowania znanych pól ta opcja zrzuci region specyficzny dla dostawcy
struktury w formacie szesnastkowym z interpretacją ascii.
-H, --czytelny dla człowieka
Ta opcja przeanalizuje i sformatuje wiele pól bitowych do formatów czytelnych dla człowieka.
PRZYKŁADY
· Czy program interpretuje zwrócony bufor i wyświetla znane pola u człowieka
czytelny format:
# identyfikator nvme-ns /dev/nvme0n1
· Jeśli używasz urządzenia znakowego lub identyfikatora zastępującego przestrzeń nazw:
# identyfikator nvme-ns /dev/nvme0 -n 1
# identyfikator nvme-ns /dev/nvme0n1 -n 1
# id-ns nvme /dev/nvme0 --id_przestrzeni_nazw=1
· Oprócz pokazywania znanych pól, program ma wyświetlać unikalnego dostawcę
pole:
# nvme id-ns /dev/nvme0n1 --specyficzne dla dostawcy
# identyfikator nvme-ns /dev/nvme0n1 -v
Powyższe zrzuci bufor „vs” w formacie szesnastkowym, ponieważ nie wie, jak go zinterpretować.
· Niech program zwróci surową strukturę w formacie binarnym:
# nvme id-ns /dev/nvme0n1 --raw-binary > id_ns.raw
# nvme id-ns /dev/nvme0n1 -b > id_ns.raw
To prawdopodobnie zły pomysł, aby nie przekierowywać stdout podczas korzystania z tego trybu.
· Alternatywnie możesz wysłać dane do innego programu, który może przeanalizować surowe dane
bufor.
# id-ns nvme /dev/nvme0n1 --raw-binary | nvme_parse_id_ns
Program analizujący w powyższym przykładzie może być programem pokazującym strukturę w formacie a
tak jak lubisz. Poniższy program jest takim przykładem, który go przeanalizuje i może
zaakceptuj wyjście przez potok „|”, jak pokazano w powyższym przykładzie, lub możesz użyć „cat”
do niego zapisany bufor wyjściowy.
/* Plik: nvme_parse_id_ns.c */
#włączać
#włączać
#włączać
int main(int argc, char **argv)
{
unsigned char buf[sizeof(struct nvme_id_ns)];
struktura nvme_id_ns *ns = (struktura nvme_id_ns *)buf;
if (czytaj(STDIN_FILENO, buf, rozmiar(buf)))
1 wrócić;
printf("nsze: %#llx\n", ns->nsze);
printf("ncap: %#llx\n", ns->ncap);
0 wrócić;
}
NVME
Część pakietu nvme-user
Użyj nvme-id-ns online, korzystając z usług onworks.net