Właśnie zacząłem używać Ubuntu jako mojego głównego systemu operacyjnego i chciałem dowiedzieć się o rzeczach, których nie powinienem robić, i poznać złe rzeczy, które ludzie robili w przeszłości. Natrafiłem na te e-maile o horrorach, które administratorzy systemów UNIX i Linux zrobili w swoim własnym systemie, gdy byli nowi. Wiele z nich wymagało użycia polecenia mknod zarówno w celu sprawdzenia, jak i rozwiązania problemu. Nigdy wcześniej nie słyszałem o tym poleceniu, a strona podręcznika użytkownika w systemie Ubuntu nie jest zbyt pomocna. Więc moje pytanie brzmi: do czego służy to polecenie i jakie są przykłady jego przydatności w codziennym użytkowaniu?
źródło
udev
jest specyficzny dla Linuksa, prawda? Być może inne systemy uniksowe wciąż ręcznie tworzą urządzenia?devfs
i / lubdevd
nie mam osobistego doświadczenia z żadnym z nich. Podejrzewam, że inne jednorożce opracowały własne sposoby automatyzacji procesu tworzenia węzłów urządzeń./dev/snd
odpowiadających różnym elementom każdego wykrytego sprzętu dźwiękowego i obsługuje go. Oprogramowanie wykorzystujące dźwięk może wykorzystywać te urządzenia do generowania dźwięku bez konieczności dokładnego wiedzieć, z jaką kartą dźwiękową rozmawiają.Za jego pomocą możesz utworzyć nazwaną potok.
Używam go z jednym programem do odczytu, a innym do pisania.
Ułatwia komunikację między procesami.
W przeciwnym razie możesz utworzyć pliki urządzeń dla urządzeń, których nie ma.
Ponadto: http://publib.boulder.ibm.com/infocenter/aix/v6r1/index.jsp?topic=/com.ibm.aix.cmds/doc/aixcmds3/mknod.htm
źródło
mknod
do czegoś innego niż tworzenie nazwanych potoków jest więcej niż rzadkie.Jako wyroczni DBA pracujący na surowych urządzeniach do tworzenia grup dyskowych Oracle ASM, regularnie używamy
mknod
do łączenia urządzeń.Odpowiedzi powyżej były dla mnie bardzo pomocne, ponieważ nie jesteśmy administratorami systemu. Chciałem tylko zauważyć, że z punktu widzenia administratorów pamięci masowej może być rzadkie,
mknod
ale z punktu widzenia Oracle ASM jest to powszechne zastosowanie. (Czy ktoś może wymyślić lepszy sposób dla nas?)źródło
/dev
zemknod
zmiany te odejdzie następnym razem, gdy system zostanie uruchomiony ponownie. Będziesz musiał napisać skrypt lubudev
plik reguł, który wprowadziłby zmiany / uzupełnienia podczas uruchamiania, aby były trwałe.IMHO, nawet do tworzenia nazwanych potoków, polecenie mkfifo jest lepsze niż mknod. Po pierwsze, jest samoopisowy w swojej nazwie, po drugie, pozwala opcji -m zastąpić ustawienia umask.
źródło
mknod foo p
kiedy był to jedyny sposób.Polecenie „mknod” zostało wydane licencjobiorcom w systemie Unix (tm) w wersji 4 przez AT&T. Polecam wszystkim, że warto poświęcić czas i pieniądze, aby otrzymać kopię
Bell System Technical Journal, 57: 6. lipiec-sierpień 1978 str. 1905–1929. System podziału czasu UNIX. (Ritchie, DM; Thompson, K.)
Ten problem, a zwłaszcza ten artykuł, doprowadzi cię do zrozumienia kilku podstawowych koncepcji, które pozwalają na budowę eleganckiego, kompaktowego, szybkiego, stabilnego, bezpiecznego i wszechstronnego systemu operacyjnego jakim był Unix (tm)). Różne obecnie dostępne systemy są wciąż dość wszechstronne ;-)
Spróbuję tu wymienić kilka z nich.
1) bity setuid i setgid oraz sposób użycia tych bitów pozwala na podział użytkowników na zaufane i niezaufane domeny uprawnień. Hop jest wieczny, że zaufani użytkownicy będą mniej skłonni do polecenia systemowi „# cd /; rm -rf * .o ”, zwróć uwagę zarówno na niewłaściwe użycie przywileju, jak i na„ przestrzeń zniszczenia ”. Zauważ też, że koniec zdania z cytowanym zwrotem dyktuje kolejność kropki i końcowy znak cudzysłowu. Gramatyka angielska do bani (fm). dmr i ken podarowali półroczny patent opinii publicznej, pobłogosław je.
2) dostęp do urządzenia za pośrednictwem tej samej przestrzeni nazw co pliki. Oto, gdzie prosta elegancja małego narzędzia w połączeniu z innymi prostymi narzędziami do wykonywania czynności, o których nie pomyśleli założyciele, staje się potężna.
3) Plik w przestrzeni danych jest ciągiem. Struktura jest narzucana przez programy w przestrzeni programowej i nie jest ściśle związana ze skomplikowanym programem Swiss-Army-Knife. Apple (R), Microsoft (R) i IBM (R) mogły mieć lepsze produkty, gdyby więcej z nich czytało BSTJ.
4) stdin, stdout, stderr.
5) powłoki, interpretacyjne procesory poleceń, zdolne do łatwego korzystania z prostych narzędzi.
6) optymalizuj kod tylko w wewnętrznych pętlach, spędzaj ograniczony czas i pieniądze tam, gdzie się liczy.
7) nie osadzaj składni we / wy w procesorach tłumaczeń języka.
C. <FORTRAN
8) KISS.
9) „Łatwiej jest zaprojektować i zaimplementować rozszerzenie systemu Ayaeem dla wielu użytkowników do dobrego systemu czasu rzeczywistego niż odwrotnie”, ja, rozszerzenie dla RSX-11D z dzielenia czasu, zaimplementowane przy użyciu małych narzędzi, napisanych w MAKRO 11 gdy nieuniknięty, w przeciwnym razie skrypt języka wyższego poziomu był całkiem niezły, 16 użytkowników na 248k bajtowym PDP-11 // 45 (16k pamięci półprzewodnikowej reszta rdzenia). Jednoczesny rozwój programu z FOCAL, BASIC, FORTRAN IV, C, MACRO-11, edycja linków, wykonywanie programu, partia, interaktywność i kontrola / akwizycja danych wielu eksperymentów naukowych przy użyciu LAB-11 i kreatywnych niestandardowych interfejsów do A / D, D / A, zegary wysokiej rozdzielczości, ...
Brak widocznych irytujących opóźnień podczas edycji przy drukarkach CRT 9600 bodów lub drukarkach 120cps DECwriters. Nieco szarpane staccato z drukarką 300 l / min. UT200 i 2780 dla RJE. Rozwój programu Fastesr niż RSX-11M, RSX-11M +, IAS i wczesne wersje VMS.
Naprawdę prosty harmonogram dzielenia czasu zaimplementowany jako zadanie w czasie rzeczywistym, wykorzystujący szczęśliwe cechy priorytetowo powiązanego ATL zaimplementowanego jako dequeue.
Odmiany uniksowe są teraz błyskawiczne, ale tylko dlatego, że procesory mogą wykonać nieskończoną pętlę w trzy sekundy. TFC.
źródło