Jak tworzyć pliki urządzeń w Linux za pomocą polecenia mknod
- 2901
- 173
- Natan Cholewa
W Linux, Wszystko jest plik, nawet urządzenia fizyczne, takie jak dyski, CD/DVD ROM i dyskietki są reprezentowane za pomocą plików. Jednak te pliki nie są zwykłymi plikami danych. Zamiast tego te specjalne pliki są nazywane plikami urządzeń i mogą generować lub odbierać dane.
Zwykle wszystkie specjalne pliki są obecne w ramach /Dev informator. Niektóre z wspólnych przykładów specjalnych plików to /dev/null, /dev/zero, /dev/pełne, I /dev/sr0.
Pliki specjalne mogą być typu lub blokiem. Jak sama nazwa wskazuje, pliki znaków przetwarzają jeden znak na raz, w którym pliki blokowe przetwarzają wiele znaków jednocześnie.
W tym zaawansowanym przewodniku omówimy, jak utworzyć plik urządzenia za pomocą mknod Komenda. Po przestrzeganiu tego przewodnika użytkownicy Linux będą mogli pewnie pracować z różnymi rodzajami plików urządzeń.
Spis treści
1- Składnia polecenia mknod
- 1. Utwórz nienazwaną rurę w Linux
- 2. Utwórz nazwaną rurę w Linux
- 3. Utwórz plik urządzenia postaci w Linux
- 4. Utwórz plik urządzenia blokowego w Linux
- 5. Utwórz plik urządzenia z uprawnieniami
Składnia polecenia mknod
Składnia mknod Polecenie jest nieco inne niż inne polecenia Linux. Główną różnicą jest to, że musimy określić główne i mniejsze liczby podczas tworzenia postaci i blokowania plików urządzeń:
$ mknod [opcje] [Major] [Minor]…
W powyższej składni kwadratowe nawiasy ([])
reprezentują opcjonalne argumenty, podczas gdy wsporniki kątowe ()
reprezentują obowiązkowe argumenty.
W Linux główny numer służy do określenia sterownika urządzenia, którego należy użyć. Ten numer jest przypisany podczas rejestracji sterownika urządzenia.
W podobny sposób niewielka liczba służy do określenia rzeczywistego urządzenia. Możemy znaleźć zarezerwowane główne i niewielkie liczby w dokumentacji jądra Linuksa.
1. Utwórz nienazwaną rurę w Linux
W Linux używamy rur, aby umożliwić komunikację między procesami. W skorupce rura jest reprezentowana za pomocą linii pionowej (|)
. Odczytuje wyjście z poprzedniego procesu i wysyła je jako dane wejściowe do następnego procesu.
Rozumiemy to z prostym przykładem:
$ echo "tecmint.com "| wc -c
W tym przykładzie używamy rury do odczytania wyjścia polecenia Echo i wysyłamy ją jako wejście do polecenia WC w celu dalszego przetwarzania.
Tutaj użyliśmy linii pionowej (|)
Aby stworzyć fajkę. Stwarza to jednak nienazwaną rurę, a jej zakres jest ograniczony tylko do bieżącego polecenia. W następnym przykładzie zobaczymy, jak utworzyć nazwaną rurę.
2. Utwórz nazwaną rurę w Linux
Możemy użyć mknod polecenie utworzenia nazwanej rury. Nazwana rura znajduje się w systemie plików, podobnie jak każdy inny zwykły plik. Jednak jego głównym celem jest umożliwienie komunikacji między procesami między niepowiązanymi procesami.
Najpierw określmy typ urządzenia jako P
Aby utworzyć nazwaną rurę:
$ mknod /tmp /nazywana-ripe p $ ls -l /tmp /nazywana-ripe
Teraz spróbujmy przeczytać plik:
$ cat /tmp /nazywana-ripe
Tutaj widzimy, że polecenie CAT czeka nieskończenie:
Przeczytaj nazwany plik ruryNastępnie otwórzmy kolejny terminal i napiszmy kilka danych do /tmp/nazywana-ripe plik:
$ echo "tecmint.com "> /tmp /nazywana-ripe
Na koniec przejdź do pierwszego terminala, aby zobaczyć wynik:
Zobacz plik ruryTutaj widzimy, że Echo I kot Polecenia mogą komunikować się za pomocą nazwanej rury.
3. Utwórz plik urządzenia postaci w Linux
W podobny sposób możemy użyć typu urządzenia jako C
Aby utworzyć urządzenie postaci. Musiemy jednak używać głównych i mniejszych liczb podczas tworzenia urządzenia postaci.
Użyjmy polecenia LS, aby znaleźć główną i niewielką liczbę /dev/pełne urządzenie:
$ ls -l /dev /pełneZnajdź liczbę główną i drobną pliku
W powyższym wyjściu, oddzielona przecinkami para liczb i.mi. 1, 7 reprezentują odpowiednio główne i niewielkie liczby.
W Linux, /dev/pełne Urządzenie zawsze zwraca Brak miejsca na błąd urządzenia. Aby to zrozumieć, napiszmy kilka danych do tego urządzenia:
$ echo "tecmint.com "> /dev /fullZapisz dane do pliku urządzenia
Teraz użyjmy mknod polecenie utworzenia nowego urządzenia, które zachowuje się tak samo jak /dev/pełne urządzenie:
$ sudo mknod /tmp /pełne urządzenie c 1 7
Następnie zmieńmy uprawnienia do pliku:
$ sudo chmod 666 /tmp /pełne urządzenie $ ls -l /tmp /pełne urządzenie
Na koniec zapisz kilka danych do nowo utworzonego urządzenia:
$ echo „tecmint”> /tmp /pełne urządzenieUtwórz nowy plik urządzenia
Należy zauważyć, że nowo utworzone urządzenie postaci zachowuje się jak /dev/pełne urządzenie z powodu tych samych głównych i mniejszych liczb.
4. Utwórz plik urządzenia blokowego w Linux
Oprócz tego możemy określić typ urządzenia jako B
Aby utworzyć urządzenie blokowe. Aby utworzyć urządzenie blokowe, musimy użyć głównych i mniejszych liczb.
W Linux, /dev/sr0 reprezentuje CD/DVD ROM urządzenie. Teraz utwórzmy nowe urządzenie blokowe, które zachowuje się tak samo jak /dev/sr0.
Najpierw dowiedzmy się głównej i niewielkiej liczby /dev/sr0:
$ ls -l /dev /sr0Sprawdź główne liczby pliku urządzenia i drobne
W powyższym wyjściu widać, że jego główne i mniejsze liczby są 11 I 0 odpowiednio.
Teraz utwórzmy nowe urządzenie blokowe o tych samych głównych i mniejszych liczbach:
$ sudo mknod /tmp /dvd-rom b 11 0 $ ls -l /tmp /dvd-romUtwórz nowe urządzenie blokowe
Następnie zamontujmy obraz ISO z CD/DVD ROM do /MNT katalog i sprawdź, czy operacja montowania się powiedzie:
$ sudo Mount /tmp /dvd -rom /mnt /$ ls -1 /mnt /Zamontować nowe urządzenie blokowe
W tym przykładzie widzimy, że /TMP/DVD-ROM Urządzenie blokowe jest w stanie uzyskać dostęp do obrazu ISO z CD/DVD ROM.
5. Utwórz plik urządzenia z uprawnieniami
Czasami musimy zmodyfikować uprawnienie do dostępu pliku urządzenia przed użyciem. W takich przypadkach musimy użyć chmod Komenda. Możemy jednak osiągnąć ten sam wynik za pomocą mknod polecenie zamiast używać dwóch osobnych poleceń.
Aby to zrozumieć, użyjmy -M
Opcja ustawienia uprawnień dostępu podczas tworzenia nazwanej rury:
$ sudo mknod -m 444 /tmp /rura z permisjami p
Teraz sprawdźmy, czy uprawnienia zostały poprawnie ustawione:
$ ls -l /tmp /rura z permisjamiUtwórz plik urządzenia za pomocą uprawnień
W tym przykładzie użyliśmy -M
Opcja z nazwaną rury. Możemy jednak użyć go z znakiem postaci i blokowania urządzeń.
Czy znasz jakikolwiek inny najlepszy przykład mknod polecenie w Linux? Daj nam znać swoje poglądy w komentarzach poniżej.
- « Najlepsze dystrybucje Linux dla studentów w 2023 roku
- Jak uzyskać powiadomienia e -mail logowania root i użytkowników »