Полезные инструменты для работы в консоли Linux

linux

В этой статье я познакомлю вас с полезными утилитами консоли Linux. Нас ждут: кли­ент SSH с устой­чивым кон­нектом, кра­сивый даш­борд и мно­го дру­гих полез­ных инструментов для работы в консоли Linux.

РЕКОМЕНДУЕМ:
Полезные инструменты для работы с сетью в консоли Linux

Дашборды

Cockpit

Cockpit — это не сов­сем даш­борд. Это боль­шая веб‑кон­соль для управле­ния сер­вером.

Ус­танов­ка мак­сималь­но прос­та:

За­тем нуж­но открыть порт 9090 на фай­рво­ле:

Даль­ше мож­но нас­тро­ить дос­туп через реверс‑прок­си nginx по име­ни хос­та с нор­маль­ными SSL-сер­тифика­тами и на при­выч­ных пор­тах.

Пос­ле всех манипу­ляций заходим на <твой-хост>:9090 и видим окно логина. В него вби­ваем имя поль­зовате­ля и пароль дей­стви­тель­ной учет­ной записи на сер­вере и видим даш­борд.

Полезные инструменты консоли Linux. Cockpit
За упав­ший сер­вис не пинайте — так задума­но

Cockpit уме­ет рисовать гра­фики боль­шинс­тва инте­рес­ных мет­рик — в час­тнос­ти, заг­рузки дис­ка.

Полезные инструменты консоли Linux. Cockpit
Disk I/O graph

На вклад­ке Host дос­тупны дей­ствия с сер­вером: уста­нов­ка обновле­ний, рулеж­ка сер­висами, управле­ние питани­ем и так далее.

Полезные инструменты консоли Linux. Cockpit

На­чина­юще­му адми­ну это может здо­рово облегчить жизнь.

btop++

Пом­нишь bashtop из прош­лой серии? Btop++ — это его реали­зация на C++ с повышен­ной про­изво­дитель­ностью. Умень­шен­ный интервал обновле­ния гра­фиков не при­водит к зна­читель­ному повыше­нию наг­рузки на про­цес­сор. При этом даш­борд выг­лядит столь же кра­соч­но и эффек­тно для неис­кушен­ного посети­теля тво­ей сер­верной!

Полезные инструменты консоли Linux. btop++

Bottom

Bottom внеш­не похож на bashtop, но написан на Rust, что тоже озна­чает высокую про­изво­дитель­ность и низ­кую наг­рузку на про­цес­сор.

Bottom под­держи­вает Linux (на архи­тек­турах x86, x64 и aarch64), Windows (x86 и x64) и даже macOS!

Ус­танав­лива­ется на Debian-based-дис­три­бути­вы все­го в две коман­ды:

На Arch все еще про­ще:

Для Windows есть уста­нов­щик MSI, который мож­но прос­то ска­чать и запус­тить.

Для запус­ка ути­литы нуж­но писать не bottom, как ты мог подумать, а btm. Пос­ле стар­та уви­дишь что‑то похожее на скрин­шот.

Нужные инструменты консоли Linux. btop++
Ис­поль­зует­ся тема Gruvbox (—color gruvbox)

Viddy

Viddy — это сов­ремен­ный watch на Go с блек‑дже­ком и машиной вре­мени в ком­плек­те.

Ин­терес­но, что он поз­воля­ет не прос­то наб­людать за про­исхо­дящим, но и перема­тывать дей­ствия во вре­мени.

Ус­танов­ка в Linux-сис­темах сво­дит­ся к одной коман­де:

Из команд для управле­ния Viddy во вре­мя работы дос­таточ­но знать две: про­бел вклю­чает машину вре­мени, а s при­оста­нав­лива­ет выпол­нение вызыва­емой коман­ды.

Автоматизация и скриптинг

htmlq

Ко­неч­но, ты зна­ешь про jq — ути­литу для работы с JSON из тер­минала. А как нас­чет HTML? Ког­да пишешь скрип­ты для пар­синга вся­ких сай­тов, очень полез­но иметь воз­можность вза­имо­дей­ство­вать с HTML нор­маль­ным спо­собом, а не регуляр­ками. htmlq — это как раз такой инс­тру­мент.

На­писан htmlq на Rust и ста­вит­ся через Cargo:
cargo install htmlq

sysz

Sysz — это псев­догра­фичес­кий интерфейс для работы с юни­тами systemd. Он поз­воля­ет удоб­но прос­матри­вать и управлять сер­висами. Вот, нап­ример, как пос­мотреть сос­тояние демона Cockpit, который мы рас­смот­рели выше.

Полезные утилиты консоли Linux. sysz

xargs

Ес­ли ты вдруг не слы­шал о xargs, то ты мно­гое про­пус­тил. Это ути­лита, которая вызыва­ет задан­ную коман­ду с аргу­мен­тами, передан­ными в потоке стан­дар­тно­го вво­да.

Вот прос­той при­мер: уда­лим все фай­лы лицен­зии всех прог­рамм, уста­нов­ленных в домаш­нюю пап­ку. Зачем? Не знаю, но с xargs это дела­ется вот таким инту­итив­ным кон­вей­ером:

При­ятная и мало­извес­тная фиш­ка: xargs уме­ет сам рас­парал­леливать задачи. Хочешь запус­тить кучу задач парал­лель­но? xargs -P 16 сде­лает это в 16 потоков. Надо боль­ше? Прос­то уве­личь чис­ло. Никаким for такого резуль­тата не получишь.

Ко­неч­но, мож­но исполь­зовать $(…), но это не так удоб­но, как запуск все­го одной коман­ды. Ска­жем, в при­мере выше мож­но исполь­зовать параметр -exec у find, но это мог­ло бы запус­тить сот­ни про­цес­сов уда­ления вмес­то все­го одно­го. Опти­миза­ция налицо!

miller

Miller — это ути­лита, которая уме­ет обра­баты­вать струк­туриро­ван­ные дан­ные в фор­матах CSV, TSV и JSON. Ука­зыва­ем исходный фор­мат, ука­зыва­ем нуж­ный нам фор­мат — и получа­ем резуль­тат в жела­емом виде.

Ес­ли у тебя Ubuntu, miller уста­нав­лива­ется одной коман­дой.

Инс­трук­ции по уста­нов­ке для дру­гих ОС и дис­три­бути­вов ты най­дешь в репози­тории про­екта.

Для при­мера я взял файл CSV с какими‑то слу­чай­ными дан­ными и поп­росил miller вывес­ти его кра­сиво с сор­тиров­кой по полю Location.

Полезные утилиты консоли Linux. miller

Ес­ли ты работа­ешь с таб­лицами из тер­минала, то это полез­ней­шая шту­ка!

Всякое

Eternal Terminal

За­дача Eternal Terminal — сде­лать так, что­бы соеди­нение с уда­лен­ным сер­вером по SSH не при­чиня­ло боль при нес­табиль­ном кон­некте или сме­не IP-адре­сов кли­ента (нап­ример, в дороге). Воз­можно, ты ска­жешь, что это похоже на Mosh. Автор это­го и не скры­вает, прос­то его ути­лита работа­ет гораз­до луч­ше.

Eternal Terminal не переза­пус­кает сес­сию при падении (для это­го есть autossh), а обес­печива­ет бес­шовное перек­лючение меж­ду аплинка­ми без пре­рыва­ний сес­сии. Пос­коль­ку я час­то работаю не из дома, дер­жать все SSH-кон­некты живыми без пов­режде­ний ста­новит­ся неп­росто, и Eternal Terminal сос­лужил мне отличную служ­бу.

Ус­танов­ка ET в Ubuntu прос­та:

Те­перь про­верь, жив ли демон на сер­вере:

Ес­ли написа­но running, зна­чит все сде­лано пра­виль­но. Оста­ется толь­ко открыть порт 2022 и убе­дить­ся, что ты можешь под­клю­чит­ся без пароля. Все нас­трой­ки будут авто­мати­чес­ки под­тянуты из фай­ла ssh_config, если он есть, так что ты даже не потеря­ешь фиш­ки, спе­цифич­ные для SSH. А даль­ше с кли­ент­ской машины прос­то вбей et user@hostname[:port] и забудь про обры­вы соеди­нения!

screen

Мы уже упо­мина­ли screen в статье про инс­тру­мен­тарий девоп­са, но я хотел бы сно­ва напом­нить об этом чудо‑инс­тру­мен­те, который выручал меня до того, как я нашел Eternal Terminal. Если крат­ко, screen соз­дает вир­туаль­ную кон­соль, которая не уми­рает вмес­те с SSH-соеди­нени­ем и поз­воля­ет перепод­клю­чить­ся ( screen -r) к ней пос­ле рекон­некта.

Ventoy

Один из инс­тру­мен­тов, который сэконо­мил мне огромное количес­тво вре­мени, — это Ventoy. Он приз­ван обес­печить удоб­ное соз­дание муль­тизаг­рузоч­ных носите­лей без садома­зохиз­ма и нет­радици­онных отно­шений с доис­торичес­кими заг­рузчи­ками. Все, что нуж­но — это уста­новить Ventoy с помощью удоб­ного инстал­лятора из любой ОС и закинуть ISO-фай­лы тре­буемых опе­раци­онок на соз­данный раз­дел.

Ин­стал­лятор ты най­дешь на стра­нице заг­рузки на сай­те прог­раммы. В Windows (отку­да я и соз­давал свой про­качан­ный диск) нуж­но рас­паковать архив и запус­тить Ventoy2Disk.exe, а там выб­рать нуж­ный носитель из спис­ка и нажать Install.

Полезные утилиты терминала Linux. Ventoy

До­пол­нитель­ные нас­трой­ки вро­де сти­ля раз­делов и под­дер­жки Secure Boot находят­ся в меню Option.

Полезные утилиты терминала Linux. Ventoy

Ког­да с уста­нов­кой и копиро­вани­ем ISO будет покон­чено, мож­но перезаг­ружать­ся. Если все зарабо­тало, то ты уви­дишь меню как на скри­не ниже.
Скриншот взят с сайтаСкрин­шот взят с сай­та

Для заг­рузки прос­то выбери ISO из спис­ка и наж­ми Enter. Всё! И Windows, и популяр­ные дис­три­бути­вы Linux без проб­лем заг­ружа­ются через Ventoy. Никакой воз­ни с перепа­ков­кой обра­зов и нас­трой­кой grub4dos.

При изме­нении спис­ка обра­зов на носите­ле никаких допол­нитель­ных дей­ствий не нуж­но — ни замены кон­фигов, ни пере­уста­нов­ки. Все под­тянет­ся само и будет работать.

Прог­рамма име­ет откры­тый исходный код — он дос­тупен на GitHub.

Выводы

Не исклю­чаю, что о мно­гих инс­тру­мен­тах ты уже зна­ешь, а еще навер­няка тебе извес­тны и дру­гие полез­ные ути­литы, о которых мы не писали. В таком слу­чае дай знать в ком­мента­риях или пиши в редак­цию, и мы пос­тара­емся испра­вить это упу­щение!

Понравилась статья? Поделиться с друзьями:
Комментарии: 2
  1. стрататас

    Cockpit сила!

    1. стрататас

      Open source Hosting control panel — Aapanel. Почему-то ее нет в обзоре. Вещь невероятная.

Добавить комментарий