Операционните системи Linux предлагат стотици команди, които са разработени, за да предложат най -добрите административни възможности за потребителите, независимо дали са на хардуер, софтуер, услуги или на ниво процес, където всяка команда изпълнява специална функция и може или не може да покаже по -добри резултати. Какво други . Знаем за надеждността и целостта на дистрибуциите на Linux, но като всяка операционна система или приложение може да настъпи момент, в който някои от нейните компоненти се провалят и вместо да губим време в търсене на хиляди причини, можем да използваме команда, която ще опрости това process и е командата dmesg.
Solvetic ще направи пълен анализ на това какво представлява dmesg и колко актуален е в Linux и по този начин ще осъзнаем, че той се превръща в чудесен помощен инструмент за всички задачи за поддръжка.
Какво е dmesgКомандата dmesg се използва за писане на съобщения на ядрото в Linux и други Unix-подобни операционни системи към стандартен изход по много по-организиран начин. Не забравяйте, че ядрото е ядрото на операционната система, там операционната система се зарежда в паметта по време на стартиране на компютъра и ядрото е в състояние да контролира почти всичко в системата. Благодарение на този процес, ядрото генерира множество съобщения, които се появяват на дисплея по време на процеса на зареждане.
Командата dmesg получава данните чрез четене на пръстеновия буфер на ядрото. По принцип буферът е част от паметта на компютъра, която е запазена като временно място за данните, които се изпращат или получават от външно устройство, като твърд диск, клавиатура и т.н., докато буферът за пръстен е буфер с фиксиран размер, в който всички добавени нови данни ще презаписват най-старите данни, съхранени там. dmesg се използва за проверка или контрол на пръстеновия буфер на ядрото и действието по подразбиране е за показване на всички съобщения от пръстеновия буфер на ядрото.
Съобщенията, генерирани от ядрото, са основна част от диагностичните задачи, тъй като в случай на повреда на устройството ще имаме под ръка резюме на случилото се и по този начин ще вземем необходимите мерки за поддръжка. При свързване или изключване на хардуерно устройство в системата, благодарение на командата dmesg, ще бъде възможно да се знае информацията, открита или прекъсната в реално време и най -доброто от всичко, командата dmesg е достъпна в повечето операционни системи, базирани на Linux и Unix .
1. Използвайте командата dmesg в Linux
Етап 1
Основната употреба на тази команда е да я изпълнявате без параметри:
DmesgСтъпка 2
Това ще доведе до показване на всички съобщения на ядрото:
Увеличете
Стъпка 3
Поради цялата изведена информация е трудно да се извършват административни задачи там. Можем да използваме параметъра "-H", за да кажем на dmesg, че изходът е четим за потребителите, което ще опрости задачите за поддръжка. Там откриваме много по -ясни подробности за пръстена на ядрото.
dmesg -H
Увеличете
Стъпка 4
Друга алтернатива за извършване на анализ с dmesg е с параметъра "-w", който ни позволява да напишем скрипт за анализ на резултата с помощта на регулярен израз, за да филтрираме събитията за по-късен анализ:
dmesg -w
Увеличете
Стъпка 5
Можем да видим, че резултатите като цяло са изобилни, възможно е да се ограничи изходът само до грешки и предупреждения, за да не се анализира вътрешно всичко, което се случва в системата и за това командата dmesg има осем нива за използване, където всяко от които могат да се комбинират, за да се извърши много по -пълно и конкретно търсене, тези нива са:
изплуваСистемата не може да се използва
тревогаТрябва незабавно да предприемете действия.
критКритични условия.
грешкаУсловия за грешка.
предупреждавамПредупредителни условия.
забележкаНормално състояние, но с възможни повреди.
информацияинформация.
отстраняване на грешкиСъобщения за отстраняване на грешки.
Стъпка 6
Можем да използваме различни типове нива, например можем да изпълним следното:
dmesg --level = сигнал, информация
Увеличете
Стъпка 7
Резултатите зависят от състоянието на ядрото:
dmesg --level = грешка, предупреждавам
Увеличете
2. Преглед на времеви отметки и подробности с командата dmesg
Етап 1
С помощта на dmesg ще бъде възможно да се знае в детайли кога е възникнала грешка или предупреждение благодарение на параметъра -T, можем да го изпълним, както следва:
dmesg --level = грешка, предупреди -T
Увеличете
Стъпка 2
Там виждаме подробности за часа и датата на събитието. Можем да посочим конкретно устройство за показване на резултатите, генерирани от dmesg, за това ние посочваме името на устройството, както следва:
dmesg | grep -i enp0s3
Увеличете
Стъпка 3
Ако искаме да ограничим изхода на dmesg само до съобщения за потребителско пространство, ще използваме опцията "-u":
dmesg -u
Увеличете
Стъпка 4
Можем да използваме инструменти за манипулиране на текст, като повече (повече) или по -малко (по -малко) заедно с 'grep' с командата dmesg, причината е, че изходът на dmesg записа не се побира на една страница, можем използвайте някоя от следните опции:
dmesg | още dmesg | по-малко
Увеличете
Стъпка 5
Ако искаме да открием кои твърди дискове ядрото е открило, е възможно да потърсим ключовата дума „sda“ заедно с „grep“, за да покажем този резултат така:
dmesg | grep sda
Увеличете
Стъпка 6
Можем да използваме параметъра "head" заедно с dmesg, за да покажем желания брой начални редове, за да покажем само първите 15 реда, които изпълняваме:
dmesg | глава -15
Увеличете
Стъпка 7
По същия начин, ако искаме да покажем само последните 15 реда, които изпълняваме:
dmesg | опашка -15Стъпка 8
За да търсите определено устройство или дума, ще бъде възможно да се филтрират редовете със специфични низове, където има опция -i инструктира командата grep да игнорира регистъра (главни или малки букви):
dmesg | grep -i usb dmesg | grep -i dma dmesg | grep -i tty dmesg | grep -i памет
Увеличете
Стъпка 9
За да изчистите буфера за събития на dmesg, изпълняваме:
dmesg -cПо този начин видяхме как dmesg е ценна помощна програма за управление на всичко, което се случва с ядрото и неговите компоненти в реално време и за изпълнение на много по -пълна административна задача.