Android

Linux'ta Dmesg Komutu

Что такое Linux, обзор, отличия. Какой Linux выбрать в 2020

Что такое Linux, обзор, отличия. Какой Linux выбрать в 2020

İçindekiler:

Anonim

Linux çekirdeği, CPU, G / Ç aygıtları, fiziksel bellek ve dosya sistemleri gibi sistem kaynaklarına erişimi kontrol eden işletim sisteminin çekirdeğidir. Çekirdek, önyükleme işlemi sırasında ve sistem çalışırken çekirdek halka arabelleğine çeşitli iletiler yazar. Bu mesajlar, sistemin çalışması hakkında çeşitli bilgiler içerir.

Çekirdek halka arabelleği, fiziksel belleğin çekirdeğin günlük iletilerini tutan bir bölümüdür. Sabit bir boyuta sahiptir, yani arabellek dolduğunda, eski günlük kayıtlarının üzerine yazılır.

dmesg komut satırı yardımcı programı, Linux ve diğer Unix benzeri işletim sistemlerindeki çekirdek halka arabelleğini yazdırmak ve kontrol etmek için kullanılır. Çekirdek önyükleme iletilerini incelemek ve donanımla ilgili sorunları ayıklamak için kullanışlıdır.

Bu derste, dmesg komutunun temellerini ele alacağız.

dmesg Komutunu Kullanma

dmesg komutunun sözdizimi aşağıdaki gibidir:

dmesg

Herhangi bir seçenek olmadan çağrıldığında dmesg , çekirdek halka arabelleğinden tüm iletileri standart çıktıya yazar:

dmesg

Varsayılan olarak, tüm kullanıcılar dmesg komutunu çalıştırabilir. Bununla birlikte, bazı sistemlerde dmesg erişimi root olmayan kullanıcılar için kısıtlanmış olabilir. Bu durumda, dmesg çağırırken aşağıdaki gibi bir hata mesajı alırsınız:

dmesg: read kernel buffer failed: Operation not permitted

kernel.dmesg_restrict kernel parametresi, ayrıcalıksız kullanıcıların çekirdeğin günlük arabelleğindeki iletileri görüntülemek için dmesg kullanıp kernel.dmesg_restrict belirtir. Kısıtlamaları kaldırmak için sıfıra ayarlayın:

sudo sysctl -w kernel.dmesg_restrict=0

Genellikle çıktı çok fazla bilgi satırı içerir, bu nedenle çıktının yalnızca son kısmı görüntülenebilir. Her seferinde bir sayfa görmek için, çıktıyı less veya more gibi bir çağrı cihazı yardımcı programına bağlayın:

dmesg --color=always | less

--color=always renkli çıktıyı korumak için kullanılır.

dmesg | grep -i usb

dmesg , çekirdek tarafından oluşturulan iletileri /proc/kmsg sanal dosyasından /proc/kmsg . Bu dosya çekirdek halka arabelleğine bir arabirim sağlar ve yalnızca bir işlemle açılabilir. syslog işlemi sisteminizde çalışıyorsa ve dosyayı cat veya less cat okumaya çalışırsanız, komut askıda kalacaktır.

syslog arka plan programı çekirdek iletilerini /var/log/dmesg dosyasına döker, böylece bu günlük dosyasını da kullanabilirsiniz:

cat /var/log/dmesg

Dmesg Çıktısı Oluşturma

dmesg komutu, çıktıyı biçimlendirmenize ve filtrelemenize yardımcı olan bir dizi seçenek sunar.

--human en çok kullanılan seçeneklerinden biri, insan tarafından okunabilir çıktıyı sağlayan -H ( --human ) ' --human . Bu seçenek, komut çıktısını bir çağrı cihazına bağlar:

dmesg -H

İnsan tarafından okunabilen zaman damgalarını yazdırmak için -T ( --ctime ) seçeneğini kullanın:

dmesg -T

IPv6: ADDRCONF(NETDEV_CHANGE): wlp1s0: link becomes ready

Zaman damgaları formatı --time-format kullanılarak da ayarlanabilir ctime, reltime, delta, notime veya iso olabilir. Örneğin, yazacağınız delta biçimini kullanmak için:

dmesg --time-format=delta

Ayrıca iki veya daha fazla seçeneği birleştirebilirsiniz:

dmesg -H -T

dmesg komutunun çıktısını gerçek zamanlı olarak izlemek için -w ( --follow ) seçeneğini kullanın:

dmesg --follow

Filtreleme dmesg Çıkışı

dmesg çıktısını verilen olanaklarla ve düzeylerle kısıtlayabilirsiniz.

Tesis, mesajı oluşturan süreci temsil eder. dmesg aşağıdaki günlük özelliklerini destekler:

  • kern - çekirdek iletileri user - kullanıcı düzeyinde iletiler mail - posta sistemi daemon - sistem armağanları auth - güvenlik / yetkilendirme iletileri syslog - iç syslog iletileri lpr - satır yazıcı alt sistemi news - ağ haber alt sistemi

-f (- --facility ) seçeneği, çıktıyı belirli tesislerle sınırlamanıza olanak tanır. Bu seçenek, bir veya daha fazla virgülle ayrılmış tesisi kabul eder.

Örneğin, yalnızca kullanacağınız çekirdek ve sistem artalan mesajlarını görüntülemek için:

dmesg -f kern, daemon

Her günlük iletisi, iletinin önemini gösteren bir günlük düzeyiyle ilişkilendirilir. dmesg aşağıdaki günlük düzeylerini destekler:

  • emerg - sistem kullanılamaz alert - önlem hemen alınmalıdır - kritik koşullar err - hata koşulları warn - uyarı koşulları notice - normal ancak önemli durum info - bilgi debug - hata ayıklama düzeyi mesajları

-l (- --level ) seçeneği, çıktıyı tanımlı düzeylerle sınırlar. Seçenek, virgülle ayrılmış bir veya daha fazla düzeyi kabul eder.

Aşağıdaki komut yalnızca hatayı ve kritik iletileri görüntüler:

dmesg -l err, crit

Halka Tamponunu Temizleme

-C ( --clear ) seçeneği, halka arabelleğini temizlemenizi sağlar:

sudo dmesg -C

Yalnızca kök veya sudo ayrıcalıklarına sahip kullanıcılar arabelleği temizleyebilir.

--read-clear önce arabellek içeriğini yazdırmak için -c ( --read-clear ) seçeneğini kullanın:

sudo dmesg -c

dmesg > dmesg_messages

Sonuç

dmesg komutu, çekirdek halka arabelleğini görüntülemenizi ve denetlemenizi sağlar. Çekirdek veya donanım sorunlarını giderirken çok yararlı olabilir.

Kullanılabilir tüm dmesg seçenekleri hakkında bilgi için terminalinize man dmesg yazın.

dmesg çekirdek terminali