Provided by: manpages-pl_4.27.0-1_all 

NAZWA
udev - dynamiczne zarządzanie urządzeniami
OPIS
udev udostępnia oprogramowaniu systemowemu zdarzenia urządzeń, zarządza uprawnieniami węzłów urządzeń i
może tworzyć dodatkowe dowiązania symboliczne w katalogu /dev/ lub zmieniać nazwy interfejsów sieciowych.
Jądro zwykle nadaje nieprzewidywalne nazwy urządzeń w kolejności ich wykrycia. Znaczące dowiązania
symboliczne lub nazwy urządzeń sieciowych zapewniają stały sposób identyfikacji urządzeń na podstawie ich
właściwości lub aktualnej konfiguracji.
Demon udev, systemd-udevd.service(8), otrzymuje zdarzenia urządzeń (uevent) bezpośrednio z jądra, gdy
tylko z systemu dodawane lub usuwane jest urządzenie, albo zmianie ulega jego status. Gdy udev otrzyma
zdarzenie urządzenia, dopasowuje swój skonfigurowany zestaw reguł do różnych atrybutów urządzenia, aby go
zidentyfikować. Reguły mogą zapewniać dodatkowe informacje o urządzeniu, służące do przechowania w bazie
danych udev lub do tworzenia znaczących nazw dowiązań symbolicznych.
Wszelkie przetwarzane przez udev informacje o urządzeniach są przechowywane w bazie danych udev i
wysyłane do potencjalnych subskrybentów zdarzeń. Dostęp do wszelkich przechowywanych danych i źródeł
zdarzeń zapewnia biblioteka libudev.
PLIKI REGUŁ
Reguły udev są odczytywane z plików położonych w systemowych katalogach reguł /usr/lib/udev/rules.d i
/usr/local/lib/udev/rules.d, ulotnych katalogów uruchomieniowych /run/udev/rules.d oraz lokalnego
katalogu administracyjnego /etc/udev/rules.d. Wszystkie pliki reguł są sortowane i przetwarzane w
kolejności leksykograficznej, bez względu na katalog, z którego pochodzą. Jednak pliki o identycznych
nazwach zastępują się. Pliki z /etc/ mają najwyższy priorytet, pliki w /run/ mają pierwszeństwo nad
plikami o tej samej nazwie w /usr/. Można w ten sposób przesłonić dostarczane przez system pliki reguł
plikiem lokalnym, jeśli będzie taka potrzeba; dowiązanie symboliczne w /etc/ o tej samej nazwie jak plik
reguł w /usr/lib/, wskazujące na /dev/null, zupełnie wyłączy dany plik reguł. Pliki reguł muszą kończyć
się rozszerzeniem .rules; inne rozszerzenia są ignorowane.
Każdy wiersz w pliku reguł zawiera co najmniej jedną parę klucz-wartość. Wyjątkiem są puste wiersze i
wiersze zaczynające się od znaku „#”, które są ignorowane. Występują dwa typy kluczy: dopasowujące i
przypisujące. Jeśli wszystkie klucze dopasowujące pasują do swych wartości, reguła jest stosowana, a
klucze przypisujące przypisują dane wartości.
Reguła dopasowująca może zmienić nazwę interfejsu sieciowego, dodać dowiązanie symboliczne wskazujące na
węzeł urządzenia lub uruchomić podany program, w ramach obsługi zdarzenia.
Reguła składa się z listy jednego lub więcej wyrażeń klucz-operator-wartość, rozdzielonych przecinkiem.
Każde wyrażenie daje różny efekt, w zależności od użytego klucza i operatora.
Operatory
"=="
Sprawdza równość (podany klucz ma określoną wartość).
"!="
Sprawdza nierówność (podany klucz nie ma określonej wartości lub podany klucz jest nieobecny).
"="
Przypisuje wartość do klucza. Klucze reprezentujące listę są resetowane i przypisywana jest tylko ta
pojedyncza wartość.
"+="
Dodaje wartość do klucza utrzymującego listę wpisów.
"-="
Usuwa wartość z klucza utrzymującego listę wpisów.
Dodane w wersji 217.
":="
Nieodwołanie przypisuje wartość do klucza; późniejsze zmiany będą niemożliwe.
Dodane w wersji 247.
Wartości
Wartości są zapisywane jako łańcuchy ograniczone cudzysłowami ("łańcuch"). Aby w wartości umieścić
cudzysłów (") należy go poprzedzić odwrotnym ukośnikiem (\"). Wszystkie inne wystąpienia ukośników, po
których następują dowolne znaki, nie stanowią sekwencji specjalnych. Oznacza to, że "\t\n" jest
traktowane jako cztery znaki: odwrotny ukośnik, małe t, odwrotny ukośnik, małe n.
Łańcuch można poprzedzić małą literą e (e"łańcuch\n"), aby oznaczyć go jako korzystający z sekwencji
języka C, zob. Sekwencje specjalne w języku C[1]. Na przykład e"łańcuch\n" jest przetwarzany jako 8
znaków: 7 małych liter i znak nowego wiersza. Można w ten sposób zapisać znaki specjalne tam, gdzie
wymaga ich sterownik jądra.
Łańcuch można poprzedzić małą literą i (i"łańcuch"), aby oznaczyć go jako łańcuch lub wzorzec, który ma
być dopasowany bez względu na wielkość znaków. Na przykład i"foo" dopasuje "foo", "FOO", "FoO" itd.
Przedrostek można stosować tylko do reguł sprawdzających równość(„==”) lub nierówność („!=”), np.
ATTR{foo}==i"abcd".
Proszę zauważyć, że w żadnym wariancie łańcucha, znak NUL nie jest dozwolony.
Klucze
Do dopasowania właściwości urządzenia można posłużyć się następującymi kluczami. Niektóre dopasują
również właściwości urządzenia nadrzędnego w sysfs, a nie tylko urządzenia, które wygenerowało zdarzenie.
Jeśli w pojedynczej regule poda się wiele kluczy, które dopasują urządzenie nadrzędne, wszystkie te
klucze muszą dopasować jedno i to samo urządzenie nadrzędne.
ACTION
Dopasowuje nazwę akcji ze zdarzenia.
DEVPATH
Dopasowuje ścieżkę (devpath) urządzenia ze zdarzenia.
KERNEL
Dopasowuje nazwę urządzenia ze zdarzenia.
KERNELS
Wyszukuje ścieżkę (devpath) w górę, aby dopasować nazwę urządzenia.
NAME
Dopasowuje nazwę interfejsu sieciowego. Można go stosować po ustawieniu klucza NAME w jednej z
wcześniejszych reguł.
SYMLINK
Dopasowuje nazwę dowiązania symbolicznego wskazującego na węzeł. Można go stosować po ustawieniu
klucza SYMLINK w jednej z wcześniejszych reguł. Może występować wiele dowiązań; wystarczy dopasowanie
jednego. Jeśli operatorem jest „!=”, token zwraca prawdę tylko, jeśli żadne dowiązanie nie będzie
dopasowane.
SUBSYSTEM
Dopasowuje podsystem urządzenia ze zdarzenia.
SUBSYSTEMS
Wyszukuje ścieżkę (devpath) w górę, aby dopasować nazwę podsystemu urządzenia.
DRIVER
Dopasowuje nazwę sterownika urządzenia ze zdarzenia. Klucz ten należy ustawiać tylko w przypadku
urządzeń, które są przypisane do sterownika w momencie wygenerowania zdarzenia.
DRIVERS
Wyszukuje ścieżkę (devpath) w górę, aby dopasować nazwę sterownika urządzenia.
ATTR{nazwa-pliku}
Dopasowuje wartość atrybutu sysfs urządzenia ze zdarzenia.
Końcowe odstępy w wartościach atrybutu są ignorowane, chyba że podana wartość dopasowania sama
zawiera końcowe odstępy.
ATTRS{nazwa-pliku}
Wyszukuje ścieżkę (devpath) w górę, aby dopasować wartości atrybutu sysfs. Jeśli poda się wiele
dopasowań ATTRS, wszystkie z nich muszą być dopasowane do tego samego urządzenia.
Końcowe odstępy w wartościach atrybutu są ignorowane, chyba że podana wartość dopasowania sama
zawiera końcowe odstępy.
SYSCTL{parametr jądra}
Dopasowuje wartość parametru jądra.
Dodane w wersji 240.
ENV{klucz}
Dopasowuje wobec wartości właściwości urządzenia.
CONST{klucz}
Dopasowuje wobec stałej systemowej. Obsługiwane są następujące klucze:
"arch"
Architektura systemowa. Opis ConditionArchitecture= w podręczniku systemd.unit(5) zawiera możliwe
wartości.
Dodane w wersji 244.
"virt"
Systemowe środowisko wirtualizacji. Możliwe wartości opisano w podręczniku
systemd-detect-virt(1).
Dodane w wersji 244.
"cvm"
Systemowa technologia zabezpieczonej wirtualizacji (ang. confidential virtualization technology).
Możliwe wartości opisano w podręczniku systemd-detect-virt(1).
Dodane w wersji 254.
Nieznane klucze nie będą dopasowane.
Dodane w wersji 244.
TAG
Dopasowuje wobec jednego ze znaczników urządzenia. Można go stosować po ustawieniu klucza TAG w
jednej z wcześniejszych reguł. Może występować wiele znaczników; wystarczy dopasowanie jednego. Jeśli
operatorem jest „!=”, token zwraca prawdę tylko, jeśli żaden znacznik nie będzie dopasowany.
TAGS
Wyszukuje ścieżkę (devpath) w górę, aby dopasować urządzenie z odpowiednim znacznikiem. Jeśli
operatorem jest „!=”, token zwraca prawdę tylko, jeśli żaden znacznik nie będzie dopasowany.
TEST{ósemkowa maska trybu}
Sprawdza istnienie pliku. Jeśli to potrzebne, można podać ósemkową maskę pliku.
PROGRAM
Wykonuje program, aby określić czy istnieje dopasowanie; klucz jest prawdziwy, jeśli program powrócił
z sukcesem. Właściwości urządzenia są udostępniane wykonywanemu programowi w środowisku. Standardowe
wyjście programu jest dostępne w kluczu RESULT.
Można w ten sposób korzystać tylko z bardzo szybko wykonywanych zadań pierwszego planu. Więcej
szczegółów w opisie RUN.
Proszę zauważyć, że w jednej regule można podać wiele kluczy PROGRAM, a „=”, „:=” i „+=” mają takie
samo znaczenie jak „==”.
RESULT
Dopasowuje zwrócony łańcuch ostatniego wywołania PROGRAM. Klucz ten można zastosować w tej samej lub
późniejszej regule, po wywołaniu PROGRAM.
Większość wzorców obsługuje dopasowanie wzorcami wieloznacznikowymi powłoki (glob) oraz wzorce
alternatywne. Obsługiwane są następujące znaki specjalne:
"*"
Dopasowuje jeden lub więcej znaków.
"?"
Dopasowuje dowolny pojedynczy znak.
"[]"
Dopasowuje dowolny pojedynczy znak podany w nawiasach kwadratowych. Na przykład wzorzec "tty[SR]"
dopasuje "ttyS" lub "ttyR". Za pomocą znaku „-” obsługiwane są również przedziały. Na przykład, aby
dopasować przedział wszystkich cyfr, można użyć wzorca "[0-9]". Jeśli pierwszym znakiem za „[” będzie
„!”, to dopasowane zostaną wszystkie znaki poza tymi, podanymi w nawiasach kwadratowych.
"|"
Rozdziela wzorce alternatywne. Na przykład wzorzec "abc|x*" dopasuje "abc" lub "x*".
Dodane w wersji 217.
Można przypisać następujące wartości kluczy:
NAME
Nazwa do użycia przez interfejs sieciowy. W podręczniku systemd.link(5) opisano mechanizm wyższego
poziomu do ustawiania nazw interfejsów. Nazwa węzła urządzenia nie może być zmienione przez udev,
można tworzyć jedynie dodatkowe dowiązania symboliczne.
SYMLINK
Nazwa dowiązania symbolicznego wskazującego na węzeł. Każda pasująca reguła dodaje tę wartość do
listy dowiązań symbolicznych do utworzenia.
Zestaw znaków jakie mogą posłużyć do nazwania dowiązania symbolicznego jest ograniczony. Dozwolone
znaki to „0-9A-Za-z#+-.:=@_/”, prawidłowe sekwencje znaku UTF-8 oraz kodowanie szesnastkowe „\x00”.
Wszystkie pozostałe znaki są zastępowane znakiem „_”.
Można utworzyć wiele dowiązań symbolicznych, rozdzielając nazwy spacją. W przypadku, gdy wiele
urządzeń rości sobie prawo do tej samej nazwy, dowiązanie zawsze wskazuje na urządzeń o najwyższym
link_priority. Jeśli bieżące urządzenie zniknie, dowiązania są rozwiązywane ponownie i urządzenie z
następnym najwyższym link_priority staje się właścicielem dowiązania. Jeśli nie poda się
link_priority, kolejność urządzeń (oraz to, które z nich pozyska dowiązanie) jest niezdefiniowana.
Nazwy dowiązań nigdy nie mogą być w konflikcie z domyślnymi nazwami węzłów urządzeń jądra, ponieważ
to doprowadziłoby to nieprzewidywalnego zachowania.
OWNER, GROUP, MODE
Uprawnienia węzła urządzenia. Każda podana wartość przesłania wkompilowaną wartość domyślną.
SECLABEL{moduł}
Stosuje podaną etykietę Linux Security Module do węzła urządzenia.
Dodane w wersji 209.
ATTR{klucz}
Wartość powinna być zapisana do atrybutu sysfs urządzenia ze zdarzenia.
SYSCTL{parametr jądra}
Wartość, jaka powinna być zapisana do parametru jądra.
Dodane w wersji 220.
ENV{klucz}
Ustawia wartość właściwości urządzenia. Nazwy właściwości zaczynające się od „.” nie są przechowywane
w bazie danych ani nie są eksportowane do zdarzeń lub narzędzi zewnętrznych (uruchomionych na
przykład przez pasujący klucz PROGRAM).
TAG
Dodaje znacznik do urządzenia. Służy do filtrowania zdarzeń dla użytkowników korzystających z funkcji
monitorowania libudev lub do wyliczenia grupy urządzeń ze znacznikami. Implementacja może działać
wydajnie tylko, jeśli do urządzenia dodano niewiele znaczników. Ma to być używane tylko w kontekście
koniecznego filtrowania konkretnego urządzenia, a nie jako opcja do ogólnego zastosowania. Zbyt
szerokie stosowanie może doprowadzić do nieefektywnej obsługi zdarzeń.
RUN{typ}
Określa program, jaki będzie wykonany po przetworzeniu wszystkich reguł dla zdarzenia. Przy „+=”, to
przywołanie jest dodawane do listy, a z „=” lub „:=” zastępuje wcześniejszą zawartość listy. Proszę
zauważyć, że opisane niżej typy „program” i „builtin” dzielą wspólną listę, zatem usunięcie listy za
pomocą „:=” lub „=” wpływa na oba typy.
typem może być:
"program"
Wykonuje zewnętrzny program określony przypisaną wartością. Jeśli nie poda się ścieżki
absolutnej, oczekuje się, że program będzie występował w /usr/lib/udev; w innym przypadku
konieczne jest podanie absolutnej ścieżki.
Jest to wartość domyślna, jeśli nie poda się typu.
"builtin"
Jak program, lecz korzysta z jednego z wbudowanych programów, zamiast z zewnętrznego.
Dodane w wersji 199.
Nazwa programu i kolejne argumenty są rozdzielone spację. Aby podać argumenty zawierające spacje,
należy je ująć w pojedyncze cudzysłowy.
Można w ten sposób uruchamiać tylko bardzo szybkie zadania pierwszego planu. Uruchamianie procesu
zdarzeń na dłuższy czas może zablokować wszelkie kolejne zdarzenia dla danego lub zależnego od niego
urządzenia.
Proszę zauważyć, że uruchamianie programów, które uzyskują dostęp do sieci lub montują/odmontowują
systemy plików nie jest dozwolone wewnątrz reguł udev, z powodu domyślnej piaskowicy, która jest
wymuszona na systemd-udevd.service.
Uruchamianie demonów lub innych dłużej działających procesów nie jest dozwolone; procesy
rozgałęzione, niezależnie od tego czy są oddzielone, są bezwarunkowo zabijane po zakończeniu obsługi
zdarzenia. Aby aktywować dłużej działające procesy z poziomu reguł udev, należy zapewnić jednostkę
usługi i wciągnąć ją z urządzenia udev za pomocą właściwości urządzenia SYSTEMD_WANTS. Więcej
szczegółów w podręczniku systemd.device(5).
LABEL
Nazwa etykiety, do której może przeskoczyć GOTO.
GOTO
Przeskakuje do następnej etykiety LABEL z pasującą nazwą.
IMPORT{typ}
Importuje zbiór zmiennych jako właściwości urządzenia, w zależności od typu:
"program"
Wykonuje zewnętrzny program określony jako przypisana wartość i jeśli powróci on poprawnie,
importuje jego wyjście, które musi być w formacie kluczy środowiska. Określenie ścieżki,
rozdzielenie polecenia/argumentów i cytowania działa tak samo jak w RUN.
Dodane w wersji 199.
"builtin"
Podobnie do „program”, lecz korzysta z jednego z wbudowanych programów, zamiast z zewnętrznego.
Dodane w wersji 199.
"file"
Importuje plik tekstowy podany jako przypisana wartość, którego zawartość musi występować w
formacie kluczy środowiska.
"db"
Importuje pojedynczą właściwość określoną jako przypisana wartość z bieżącej bazy danych
urządzeń. Działa to tylko, jeśli baza danych została już wypełniona przez wcześniejsze zdarzenie.
"cmdline"
Importuje pojedynczą właściwość z wiersza poleceń jądra. W przypadku prostych flag, wartość
właściwości jest ustawiana na „1”.
"parent"
Importuje przechowywane klucze z urządzenia nadrzędnego, odczytując wpis z bazy danych dla
urządzenia nadrzędnego. Wartość przypisywana do IMPORT{parent} służy jako filtr nazw kluczy do
zaimportowania (z tym samym dopasowywaniem wzorcem wieloznacznikowym - glob, jaki jest używany do
porównań).
Można w ten sposób korzystać tylko z bardzo szybko wykonywanych zadań pierwszego planu. Więcej
szczegółów w opisie RUN.
Proszę zauważyć, że w jednej regule można podać wiele kluczy IMPORT{}, a „=”, „:=” i „+=” mają takie
samo działanie jak „==”. Klucz jest prawdziwy, jeśli import powiedzie się, chyba że jako operator
zastosowane jest „!=”, co spowoduje, że klucz będzie prawdziwy, jeśli import zawiedzie.
OPTIONS
Opcje reguł i urządzeń:
link_priority=wartość
Określa priorytet tworzonych dowiązań symbolicznych. Urządzenia z wyższymi priorytami nadpisują
istniejące dowiązania symboliczne innych urządzeń. Wartość domyślna to 0.
string_escape=none|replace
Przy wartości „replace”, następuje zastąpienie potencjalnie niebezpiecznych znaków w łańcuchach
przypisywanych do NAME, SYMLINK i ENV{klucz}. Przy wartości „none”, zastępowanie nie jest
przeprowadzane. Gdy wartość nie jest ustawiona, zastępowanie jest przeprowadzane dla NAME,
SYMLINK, lecz nie dla ENV{key}. Domyślnie wartość nie jest ustawiona.
static_node=
Stosuje uprawnienia określone w tej regule do statycznych węzłów urządzeń o podanej nazwie.
Dodatkowo, w przypadku każdego znacznika określonego w tej regule, tworzy dowiązanie symboliczne
w katalogu /run/udev/static_node-tags/znacznik wskazujące na statyczny węzeł urządzenia o podanej
nazwie. Tworzenie statycznych węzłów urządzeń jest przeprowadzane przez systemd-tmpfiles, przed
uruchomieniem systemd-udevd. Węzły statyczne mogą nie posiadać odpowiadającego urządzenia jądra;
służą do wyzwolenia automatycznego ładowania modułów jądra, gdy uzyskiwany jest do nich dostęp.
watch
Obserwuje węzeł urządzenia za pomocą inotify; gdy węzeł jest zamykany po jego otwarciu do zapisu,
tworzony jest uevent zmiany.
nowatch
Wyłącza obserwowanie węzła urządzenia za pomocą inotify.
db_persist
Ustawia flagę (bit lepkości) na wpisie bazy danych urządzenia ze zdarzenia. Właściwości urządzeń
są następnie przechowywane w bazie danych nawet, gdy wywołano udevadm info --cleanup-db. Opcja
może być przydatna w określonych przypadkach (np. urządzenia Device Mapper) aby uzyskać trwały
stan urządzenia przy przejściu z initrd.
Dodane w wersji 241.
log_level=poziom
Pobiera nazwę poziomu dziennika taką jak „debug” lub „info” albo specjalną wartość „reset”. Przy
podaniu nazwy poziomu dziennika, maksymalny poziom dziennika jest zmieniany na ten poziom. Gdy
ustawi się „reset”, to poprzednio podany poziom dziennika jest odwoływany. Domyślnie przyjmuje
poziom dziennika od głównego procesu systemd-udevd.
Może być to przydatne przy debugowaniu zdarzeń dla określonych urządzeń. Proszę zauważyć, że dany
poziom dziennika jest stosowany w momencie, gdy przetwarzany jest wiersz zawierający tę regułę.
Zatem przy debugowaniu zaleca się podanie go we wcześniejszym miejscu np. w pierwszym wierszu
00-debug.rules.
Przykład debugowania przetwarzania uevent dla interfejsów sieciowych:
# /etc/udev/rules.d/00-debug-net.rules
SUBSYSTEM=="net", OPTIONS="log_level=debug"
Dodane w wersji 248.
Pola ENV, GROUP, MODE, NAME, OWNER, PROGRAM, RUN, SECLABEL i SYMLINK obsługują proste podstawianie
łańcuchów. Podstawiania RUN są przeprowadzane po przetworzeniu wszystkich reguł, zaraz przed wykonaniem
programu, pozwalając na korzystanie z właściwości urządzenia ustawionych przez wcześniejsze dopasowane
reguły. We wszystkich innych polach, podstawiania są przeprowadzane, gdy przetwarzana jest dana
pojedyncza reguła. Dostępne podstawiania to:
$kernel, %k
Nadana przez jądro nazwa tego urządzenia.
$number, %n
Nadany przez jądro numer tego urządzenia. Na przykład „sda3” ma numer jądra 3.
$devpath, %p
Ścieżka (devpath) urządzenia.
$id, %b
Nazwa urządzenia dopasowanego przy szukaniu w górę ścieżki (devpath) przy SUBSYSTEMS, KERNELS,
DRIVERS i ATTRS.
$driver
Nazwa sterownika dopasowanego przy szukaniu w górę ścieżki (devpath) przy SUBSYSTEMS, KERNELS,
DRIVERS i ATTRS.
$attr{plik}, %s{plik}
Wartość atrybutu sysfs odnalezionego na urządzeniu, dla którego dopasowano wszystkie klucze reguł.
Jeśli pasujące urządzenie nie ma takiego atrybutu, a wcześniejsze testy KERNELS, SUBSYSTEMS, DRIVERS
lub ATTRS wybrały urządzenie nadrzędne, to stosowany jest atrybut z tego urządzenia nadrzędnego.
Jeśli atrybutem jest dowiązanie symboliczne, jako wartość zwracany jest ostatni element celu
dowiązania symbolicznego.
$env{klucz}, %E{klucz}
Wartość właściwości urządzenia.
$major, %M
Główny numer urządzenia jądra dla tego urządzenia.
$minor, %m
Poboczny numer urządzenia jądra dla tego urządzenia.
$result, %c
Łańcuch zwracany przez program zewnętrzny zażądany za pomocą PROGRAM. Można wybrać pojedynczą część
łańcucha, rozdzieloną spacją, podając numer tej części jako atrybut „%c{N}”. Jeśli po liczbie wystąpi
znak „+”, to dołączana jest ta część wraz z wszystkimi kolejnymi częściami łańcucha: "%c{N+}".
$parent, %P
Nazwa węzła urządzenia nadrzędnego.
$name
Bieżąca nazwa urządzenia. Jeśli nie została zmieniona regułą, jest to nazwa nadana przez jądro.
$links
Rozdzielona spacją lista bieżących dowiązań symbolicznych. Wartość jest ustawiana tylko przy
zdarzeniu usunięcia lub gdy wcześniejsza reguła przypisała wartość.
$root, %r
Wartość udev_root.
$sys, %S
Punkt montowania sysfs.
$devnode, %N
Nazwa węzła urządzenia.
%%
Sam znak „%”.
$$
Sam znak „$”.
ZOBACZ TAKŻE
systemd-udevd.service(8), udevadm(8), systemd.link(5)
UWAGI
1. Sekwencje specjalne w języku C (w języku angielskim)
https://en.wikipedia.org/wiki/Escape_sequences_in_C#Table_of_escape_sequences
TŁUMACZENIE
Tłumaczenie niniejszej strony podręcznika: Michał Kułach <michal.kulach@gmail.com>
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać
zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ
ODPOWIEDZIALNOŚCI.
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-
list@lists.sourceforge.net.
systemd 257.6 UDEV(7)