LinuxAdministrator - Podstawowe polecenia cz.1 #004 #LinuxAdministrator #Bash #Linux
Spisu treści:
- Korzystanie z polecenia
dmesg
- Formowanie wyjścia
dmesg
- Filtrowanie wyjścia
dmesg
- Czyszczenie bufora pierścieniowego
- Wniosek
Jądro Linux jest rdzeniem systemu operacyjnego, który kontroluje dostęp do zasobów systemowych, takich jak procesor, urządzenia we / wy, pamięć fizyczna i systemy plików. Jądro zapisuje różne komunikaty do bufora pierścieniowego jądra podczas procesu rozruchu i podczas działania systemu. Te komunikaty zawierają różne informacje o działaniu systemu.
Bufor pierścieniowy jądra jest częścią pamięci fizycznej, która przechowuje komunikaty dziennika jądra. Ma ustalony rozmiar, co oznacza, że po zapełnieniu bufora rekordy starszych dzienników zostaną zastąpione.
Narzędzie wiersza polecenia
dmesg
służy do drukowania i kontrolowania bufora pierścieniowego jądra w systemie Linux i innych systemach operacyjnych typu Unix. Jest to przydatne do sprawdzania komunikatów rozruchowych jądra i debugowania problemów związanych ze sprzętem.
W tym samouczku omówimy podstawy polecenia
dmesg
.
Korzystanie z polecenia
dmesg
Składnia polecenia
dmesg
jest następująca:
dmesg
Po wywołaniu bez żadnych opcji
dmesg
zapisuje wszystkie wiadomości z bufora pierścieniowego jądra na standardowe wyjście:
dmesg
Domyślnie wszyscy użytkownicy mogą uruchomić polecenie
dmesg
. Jednak w niektórych systemach dostęp do
dmesg
może być ograniczony dla użytkowników innych niż root. W tej sytuacji podczas wywoływania programu
dmesg
pojawi się komunikat o błędzie, taki jak poniżej:
dmesg: read kernel buffer failed: Operation not permitted
Parametr jądra
kernel.dmesg_restrict
określa, czy nieuprzywilejowani użytkownicy mogą używać
dmesg
do przeglądania wiadomości z bufora dziennika jądra. Aby usunąć ograniczenia, ustaw je na zero:
sudo sysctl -w kernel.dmesg_restrict=0
Zwykle dane wyjściowe zawierają wiele wierszy informacji, więc widoczna jest tylko ostatnia część danych wyjściowych. Aby wyświetlić jedną stronę na raz, potokuj dane wyjściowe do narzędzia pagera, takiego jak
less
lub
more
:
dmesg --color=always | less
Opcja
--color=always
służy do zachowania kolorowych wydruków.
dmesg | grep -i usb
dmesg
odczytuje komunikaty generowane przez jądro z pliku wirtualnego
/proc/kmsg
. Ten plik zapewnia interfejs do bufora pierścieniowego jądra i może być otwarty tylko przez jeden proces. Jeśli proces
syslog
jest uruchomiony w twoim systemie i próbujesz odczytać plik za pomocą
cat
lub
less
, polecenie się zawiesi.
Demon
syslog
zrzuca wiadomości jądra do
/var/log/dmesg
, więc możesz również użyć tego pliku dziennika:
Formowanie wyjścia
dmesg
Polecenie
dmesg
udostępnia szereg opcji, które pomagają sformatować i filtrować dane wyjściowe.
Jedną z najczęściej używanych opcji
dmesg
jest
-H
(
--human
), która umożliwia
--human
czytelny dla człowieka. Ta opcja przesyła dane wyjściowe polecenia do pagera:
dmesg -H
Aby wydrukować znaczniki czasu czytelne dla człowieka, użyj opcji
-T
(
--ctime
):
dmesg -T
IPv6: ADDRCONF(NETDEV_CHANGE): wlp1s0: link becomes ready
Format znaczników czasu można również ustawić za pomocą opcji
--time-format
dmesg --time-format=delta
Możesz także połączyć dwie lub więcej opcji:
dmesg -H -T
Aby oglądać dane wyjściowe polecenia
dmesg
w czasie rzeczywistym, użyj opcji
-w
(
--follow
):
Filtrowanie wyjścia
dmesg
Możesz ograniczyć wyjście
dmesg
do podanych udogodnień i poziomów.
Obiekt reprezentuje proces, który utworzył wiadomość.
dmesg
obsługuje następujące funkcje dziennika:
-
kern
- komunikaty jądrauser
- komunikaty na poziomie użytkownikamail
-daemon
systemu poczty - demony systemoweauth
- komunikaty bezpieczeństwa / autoryzacjisyslog
- wewnętrzne komunikaty syslogdlpr
- podsystem drukarek sieciowych wiadomości - podsystem wiadomości sieciowych
--facility
(
--facility
) opcja pozwala ograniczyć wyjście do określonych obiektów. Opcja akceptuje jedno lub więcej obiektów oddzielonych przecinkami.
Na przykład, aby wyświetlić tylko komunikaty jądra i demonów systemowych:
dmesg -f kern, daemon
Każdy komunikat dziennika jest powiązany z poziomem dziennika, który pokazuje ważność komunikatu.
dmesg
obsługuje następujące poziomy dziennika:
-
emerg
-alert
systemu nieemerg
się do użytku - należy natychmiast podjąć działanie krytyczne - błędy krytyczne warunki -warn
błędach - ostrzeżenia o warunkach ostrzegania - normalne, ale istotneinfo
stanie -debug
informacyjne - komunikaty na poziomie debugowania
--level
(
--level
) ogranicza wyniki do zdefiniowanych poziomów. Opcja akceptuje jeden lub więcej poziomów oddzielonych przecinkami.
Następujące polecenie wyświetla tylko komunikaty o błędach i krytyczne:
Czyszczenie bufora pierścieniowego
Opcja
-C
(
--clear
) umożliwia wyczyszczenie bufora dzwonka:
sudo dmesg -C
Tylko root lub użytkownicy z uprawnieniami sudo mogą wyczyścić bufor.
Aby wydrukować zawartość bufora przed wyczyszczeniem, użyj opcji
-c
(
--read-clear
):
sudo dmesg -c
Wniosek
Polecenie
dmesg
pozwala wyświetlić i kontrolować bufor pierścieniowy jądra. Może być bardzo przydatny podczas rozwiązywania problemów z jądrem lub sprzętem.
Wpisz
man dmesg
w swoim terminalu, aby uzyskać informacje o wszystkich dostępnych opcjach
dmesg
.
Polecenie CP w systemie Linux (kopiowanie plików)
cp to narzędzie wiersza polecenia do kopiowania plików i katalogów w systemach Unix i Linux.
Polecenie różnicowe w systemie Linux
diff to narzędzie wiersza polecenia, które pozwala porównać dwa pliki linia po linii. Może także porównywać zawartość katalogów.
Polecenie Pwd w systemie Linux (bieżący katalog roboczy)
Bieżący katalog roboczy to katalog, w którym aktualnie pracuje użytkownik. W tym artykule pokażemy, jak określić bieżący katalog roboczy za pomocą polecenia pwd