Pull to refresh

Comments 106

UFO just landed and posted this here
atop запускает свой сервис и пишет логи, у меня однажды место закончилось на диске по этой причине
UFO just landed and posted this here
Возможно, это было давно и на Gentoo.
Возможно, это было давно и на Gentoo.
Кстати насколько я помню, там для сетевой подсистемы нужно собирать сторонний модуль netatop

Дополню glowingsword. Возможно изменили интервал снятия метрик с умолчательных 300 секунуд на 1? Может отлючили ротацию логов (по умолчанию они ротируются)?

UFO just landed and posted this here
Нет, я просто установил atop через emerge atop
Аналогичная ситуация случилась на armbian, apt install atop

Теплое vs очень-теплое.
Это разный утиль под разные цели. htop дает этакий сводный дашборд. Быстро зашел на сервер и посмотреть, покилял прямо там же ненужно, может кого-то поstrace-ил. atop хорошо показывает нагрузку на все подсистемы + пишет бинарные логи которые в случае проблем на сервере можно отсмотреть и проанализировать.

atop круче — мы его используем когда что-то с сервером произошло/нагрузка пошла на сеть, диск/etc.
В графане смотришь на графики, видишь что что-то не то с системными метриками на сервере, идешь на сервер и смотришь исторический срез через atop. Htop так может?
вы увидели по графикам, что утилизация дисков сильно выросла (ну или любая другая системная метрика). Ваши действия? Что вы будете смотреть в логах?
Для начала, прямо в графане и посмотрю графики конкретных приложений, потому что я собираю метрики из micrometers или actuator.
В текущем проекте все процессы которые могут нагружать известны и мониторятся детально
За tldr спасибо не знал про нее, иногда удобнее с помощью tldr, посмотреть параметры редко используемых команд

bashtop — требует bash 4.4, а в centos 7 bash 4.2 только (4.4 только самому собирать — это неинтересно).

mc (Midnight Commander) поинтуитивнее для меня (в 90-x еще познакомился с ним). Лучше Far, конечно, но mc подоступнее (только комбинации клавиш не очень удобные)

Я сидел долго на mc из-за сходства с Far, потому что на винде только Far. Привык к двухпанельным файловым менеджерам, но быстродействие и удобство nnn порадовало, поэтому это основной фм на linux.

Мне vifm зашёл. У него внутри неонка vimscript и vim-like биндинги.
image
UFO just landed and posted this here
Пробовал. vifm — лучше. Быстрее и чуть более расширяемый.
Дык уже есть Far для linux. Только на нём и сижу.
Он в консоли не работает ведь?

Уже работает: far2l --tty

tty-шный fa2l был как минимум полгода назад. Туда еще по моей просьбе прикрутили поддержку ssh-agent. Но как-то вот прям полностью сидеть не получается. Использую попеременке с mc, и в основном для целей работы с sftp/scp.

Жду когда под Mac соберут

Эм, я не знаю, чего вы ждете, но я его именно под маком и собирал.

tendium lieff а как решается вопрос с просмотром вывода консольных команд, который не помещается в экран? cat some-big-text.txt, про C+S+F3/4 и F3/F4 вкурсе. В самом терминале никак? И ещё, как решается вопрос сочетаний F1-12 с Alt, типа Alt+F4 ;-)


Ну и в режиме tty, как Ctrl эмулируется?

А чем он лучше нормального mc?
Только тем что он привычен вам по винде?
Просто я виндой стал пользоваться всего два с половиной года назад, когда ее купил под игры в VR, а до этого 20 лет пользовался *nix-like(сначала FreeBSD, потом GNU/Linux) и у меня привычки к виндовым вещам нет, вот и хочу понять может ли этот far2l предложить мне что-то или он нужен только тем кто под виндой к нему привык.

Сравнивать mc и FAR довольно сложно, FAR функциональнее в разы, если не на порядок.
Главное в mc то, что он просто есть.

Ну то есть никаких серьезных аргументов в пользу этого поделия нет, просто ваши виндовые привычки и потому аргументы про «функциональней на порядок» без доказательств.
Ясно, спасибо за пояснения, я так и думал.

Огромное количество плагинов, хороший API для написания собственных плагинов.

Шикарные встроенные макросы, возможность писать макросы как последовательность клавиш, так и на ЛУА.

Очень удобный встроенный редактор.

Хорошая удобная интеграция с командной строкой и панельками для написания скриптов (например выполнить скрипт с файлами выделенными в панели),

продвинутое многоуровневое user menu (в mc вроде один уровень, но могу ошибаться)

Хороший глобальный поиск и временная панель

Ну не знаю, если вы знакомы с FAR и mc на примерно одинаковом продвинутом уровне, я не понимаю что именно нужно пояснять.

Вдобавок FAR это все-таки гуишное приложение с консолью, и в gui он только выигрывает, например плагинов с просмотром картинок, mc чисто консольный.

Поэтому far2l КОНЕЧНО менее функционален, чем far for windows, но я думаю что он все равно будет более функциональным, чем mc
Вдобавок FAR это все-таки гуишное приложение с консолью, и в gui он только выигрывает, например плагинов с просмотром картинок, mc чисто консольный

far не имеет консоли, а просмотрщик картинок, как и либреофис для его файлов, как и все остальное, если я нахожусь в X11(или Wayland) у меня mc прекрасно вызывает.


Ну не знаю, если вы знакомы с FAR и mc на примерно одинаковом продвинутом уровне, я не понимаю что именно нужно пояснять.

Я же пояснил, что у меня нет виндового опыта и я не знаю что такого есть в фаре, что нужно его портировать с костылями в виде winelib. Мне было интересно.


Из ответа я вижу просто фаната который любит привычный ему софт и пытается оправдать использование этого софта при наличии более удобных альтернатив. Я так и думал, но все же в глубине души надеялся, что есть что-то что реально полезно. Ничего полезного нет, просто сидящим под виндой удобней юзать их софт. Мне так же удобней юзать нормальный, я вас понимаю. Мне под виндой тоже многих привычных по иксам фишек не хватает, просто потому что привычки формировались десятилетиями

far не имеет консоли,

Простите, я сижу под FAR+Conemu. Они оба друг с другом дружат и имеют предварительные настройки для интеграции, и я даже забываю что у них разные разработчики.

Я же пояснил, что у меня нет виндового опыта и я не знаю что такого есть в фаре, что нужно его портировать с костылями в виде winelib. Мне было интересно.

Простите, но если человек какое-то время работает с компом, он в любом случае набирает какой-то набор удобных ему инструментов и привычек.
Я работал с разными панельными менеджерами, начав еще до нортон коммандера, и FAR с третьей версии более чем хорош.
Был момент, когда мир перешел на UTF-8, а фар 1.0 сильно отставал, и я пытался найти ему замену. Это было мучительно, но вышел Far 3.0, который поборол все эти проблемы и сейчас все отлично.

Из ответа я вижу просто фаната который любит привычный ему софт и пытается оправдать использование этого софта при наличии более удобных альтернатив.

Ну давайте поговорим о фанатах привычного софта и более удобных альтернативах. Будет интересно послушать как вы будете объективно аргументировать свои предпочтения.
Только привык к ag, а ему уже замену сделали.

bat еще весьма удобна для чтения файлов в консоли.

так це отдельная функциональность, а не альтернатива чему-либо

нужно написать такую команду find:
$ find . -iname "*.md"

Неправильная команда-то. Одинарные кавычки нужны.

Вы получите один и тот же результат несмотря на то как указаны кавычки.

Странно, что звёздочка не входит в "и т. п."

А почему странно? Wildcards (*,?) и brace expansion ({a,b,c}) влияют на число аргументов, т.е. они ближе к операторам, нежели к переменным.
А вообще вот они, кавычки, и правила с ними связанные:
https://www.gnu.org/software/bash/manual/html_node/Quoting.html

А в данном случае звёздочка — аргумент к find, а не wildcard shell'а.

Даже если в текущей директории есть файл foo.md, а в поддиректории файл bar.md?

find ищет рекурсивно в директории и поддиректориях, так что найдёт оба этих файла.

Я к тому что шелл развернёт "*.md" до foo.md и find будет вызван с аргументом -name foo.md, и соотвественно не найдёт bar.md

Шелл не разворачивает звёздочки в кавычках, так что в данном случае найдутся оба файла.

А можно ли назвать эти инструменты современными?
Тому же htop уже 14 лет, ncdu примерно так же.
А сколько лет du и ls? ;)
Думаю что намного больше, однако причем тут это?)
Ну вот в сравнении с ними упомянутые программы — вполне современные.
А в сравнении с числом данной статьи, эти программы очень очень не современные.
Но статья писалась не для сравнения программ с сегодняшним числом, а для сравнения их с аналогами.
В статье написано современных альтернатив, слово современный всегда значило «новый», относительно (например) статьи в которой это слово употребляется. А перечисленные тут программы явно не новые. Для многих из них есть куча альтернатив новее.

Может не совсем сюда, но просто полезная утилита: lnav (log navigator).


Позволяет смотреть логи (в том числе одновременно из разных файлов), подсвечивает ошибки или свои паттерны, понимает разные форматы (например, apache logs), умеет читать файлы в рeал-тайме (типа tail -f), скрывать ненужные строки (например debug сообщения) и кучу всего ещё.


Ставлю её на некоторые сервера, где надо много и часто смотреть логи; удобнее, чем cat и (е)grep.

а вы less пробовали?

Да, конечно. Как сторонник минимализма я стараюсь использовать и изучать то, что уже установлено и широко распространено. Думаю less покроет большинство моих кейсов использования lnav.


Но у lnav есть пара фишек, которые мне сильно помогают: более интуитивный (панель снизу, сообщения, автодополнение по tab), подсветка паттернов логов из коробки, форматирование json или xml, и sql-like язык для выборки логов. Мне это не очень часто нужно, но иногда сильно помогает ускорить процесс анализа.

Предлагаю попробовать peep

Ставлю её везде и сразу! Отличное решение!
Я бы добавил ещё bat/cat (https://github.com/sharkdp/bat). Довольно удобно и читабельно.

htop показывает сильно меньше информации, чем top, обратите внимание на заголовок.

Интересно, а как минусующие, взглянув на экран htop, определяют, что процессор сейчас сильно занят дисковыми операциями, например? Вот как это видно в top (подчёркнуто):
image

Собственно сразу видно, что процессор не ждёт завершения дисковых операций ибо wait I/O меньше 10-ки (да что там… меньше единицы ;-)). В htop же, как я ни крутил в настройках отображение инфы о процесоре максимум удалось добиться вот такого:
image
что конечно-же никуда не годится в практической работе.
Собственно какие метрики показывает top:
  • us — (User CPU time) время, затраченное на работу программ пользователей
  • sy — (System CPU time) время, затраченное на работу процессов ядра
  • ni — (Nice CPU time) время, затраченное на работу программ с измененным приоритетом
  • id — (Iddle time)простой процессора
  • wa — (iowait) время, затраченное на завершение ввода-вывода
  • hi — (Hardware IRQ) время, затраченное на обработку hardware-прерываний
  • si — (Software Interrupts) время, затраченное на работу обработку software-прерываний (network)
  • st — (Steal Time) время, «украденное» гипервизором у этой виртуальной машины для других
    задач (например работа другой виртуальной машины)


© Wikipedia

На самом деле такая нелюбовь к штатному top идёт от того что люди не умеют его готовить ну и от того что он менее эргономичен чем htop, особенно в плане посылания процессам различнх сигналов, что особенно полезно разработчикам софта под *nix. Но вот в плане быстро посмотреть отчего это систему так «раскорячило» ему замену найти сложно (тем более он есть в каждом утюге). И то что htop ей не является, это однозначно.
В настройках (F2) можно указать display options → detailed CPU time, IOWAIT будет отображаться серым цветом.
Ишь ты, как-то я этот крыжик пропустил… Ну почти хорошо… Спасибо!
UFO just landed and posted this here
Это вы ужасных шрифов на советском, чёрно-зелёном CGA мониторе не видели. ;-)
UFO just landed and posted this here
Ничего особенного, просто после их обновления (шрифт IBM 3270) случилась такая ерунда. Всё никак не могу побороть лень и взять их из сорцов Cool Retro Term, где они нормальные.
tldr порицаю. Название амбициозно «ToLongDon'tRead» и пафос спорен. Я пользуюсь man каждый день и вполне удобно.
Пафоса тут никакого нет. TLDR на самом деле расшифровывается как «Too Long; Didn't Read». То есть не «не читай это», а «я не смог прочесть это». И утилита пытается таким пользователям хоть как-то помочь, дать упрощённый вариант описания, который они смогут воспринять.
imsnif/diskonaut как замена ncdu/du
lazygit — консольный git клиент
lazydocker — консольный docker клиент
thameera/vimv — vim rename
exa — замена ls
tanrax/terminal-AdvancedNewFile — аналог touch, но умеет создавать папки и умеет в патерны.
IMHO сравниваются несопоставимые команды.

Например, du не обязан быть интерактивным, зато его можно использовать в скриптах.

Сравнивать jq и grep/sed совершенно некорректно. Они для разных задач. jq не распарсит вам ничего, кроме JSON, зато его распарсят корректно. Но зачем их сравнивать?

tldr vs man — в man работает поиск, фильтр, навигация.

htop/top — ну одинаковая там информация. Нюансы не в счет.

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

А вот альтернативой в настоящее время становятся интеграция с разными графанами/кибанами, webadmin и так далее. Но под капотом большинство параметров собирается теми же самими утилитами или питоном.
По поводу top/htop — не соглашусь. Разная там информация и top пизже! Хотя раньше я его не любил.
А что конкретно вы регулярно смотрите в htop для решения проблем, чего нет в top?

Если есть реальная задача мониторинга, то ни top ни htop тут не советчики, они для посмотреть здесь и сейчас. А для наблюдения нужно что-то из мониторинга — нагиос, прометей, ммонит, в общем что-то с историческими графиками.
Там-же ссылка есть, на моё сообщение в треде. Правда мне тут уже подсказали, что процессорные метрики таки есть в htop. Вообщем и целом, разумеется, top/htop не являются системами мониторинга, но вот быстро оценить состояние системы в текущий момент времени, бывает удобно. Что мне ещё нравится в классическом top — в многоэкранном режиме можно оценить какие из процессов жрут память, какие проц и причём одновременно. В htop для этого приходится переключать режимы сортировки.
UFO just landed and posted this here
Странная классификация перечисленных утилит к современным)

По современному: prometheus + grafana + elastik search + kafka ))

вот это да, понимаю, модно и молодежно )

А у вас — просто альтеративы: сделать тоже, но другим макаром.

По поводу производительности труда: bash решает… чтобы не писать тищу раз в сутки одно и тоже — делаешь простой скрипт под себя, и вуаля, там хоть мейл отправляй при некоторых случаях…

кста, тотже netstat можно частично заменить iotop… да и вообще, альтератив полно…
По современному: prometheus + grafana + elastik search + kafka ))

Интересно было бы посмотреть на эти инструменты в разрезе CLI, ведь речь в статье именно про инструменты командной строки. Это вопрос без сарказма :) я где-то встречал инструмент CLI, который визуализирует в терминале данные из Elasticsearch, но когда целенаправленно поискал его через какое-то время, нагуглить не удалось. И было бы полезно иметь тул, который умеет рисовать в терминале метрики из Prometheus.

Пользуйтесь ls/cd/pushd/popd/du/top/grep/man/find/less/vim
По началу будет тяжеловато. Но когда вы находитесь на изолированном/сломанном сервере. Каждая минута на счету, а вы привыкли к "хипстерским" утилиткам, которых, внезапно, не оказалось на сервере. И вместо того чтобы диагностировать и решать проблему вы будете учиться пользоваться тем, что есть.

man из списка удалить, манов может не быть и команда может не стоять.
Не vim, а vi нужно знать, опять же потому, что vim опционален, а vi входит в стандарт.


И знание стандартных команд не означает, что не нужно использовать более удобных инструментов. Да, оказываясь на каком-нибудь сервере клиента поставленном при царе Горохе левой ногой пьяного попингуя тебе нужно знание стандартных утилит. Но находясь на своих серверах и серверах постоянных клиентов ты можешь использовать то что удобно тебе.


Я использую pydf вместо df, htop вместо top и так далее, они мной ставятся при первом же заходе на сервер. Но я оказавшись на чужом сервере так же спокойно использую стандартные утилиты. Это вопрос стандарт vs удобство.

Да, тоже использую pydf, но мой коммент был на модерации какое-то время
На мой взгляд самая удобная альтернатива dfу

Ссылка на оригинал есть, под заголовком «Автор оригинала: Ricardo Gerardi» и этот текст кликабельный.
Ну всё обмазался новинками
tldr rrg
No tldr entry for rrg
$ fuck
tldr rg [enter/↑/↓/ctrl+c]

tldr показывает справку даже для программ, которых нет в системе o_O

Хотел предложить ещё HTTPie, но не прижился, так и использую wget&curl.
Вот это кстати да. man обычно показывает справку не только по команде, которая есть в системе, но еще и справку по той версии команды, что стоит в системе.

Кстати, один из способов оценить, установлена программа или нет. А то бывает, что --help не справку выводит, а как аргумент берется.

UFO just landed and posted this here
UFO just landed and posted this here
Против grep/ack есть ag (https://github.com/ggreer/the_silver_searcher)
А что с перформансом `ncdu` — нормально работает или медленне «du»?
Ну это несколько разные инструменты. Но мне он очень зашёл, в отличие от хипстерского broot. Тот сканирует значительно быстрее и красивше, но сам по себе тормозной и не сильно удобный, ну как мне показалось. У broot просто другой алгоритм сканирования. Если ncdu сразу проходится по всему дереву, то broot досканирует при переходе в подкаталоги.
broot
image

ncdu
image

Думается мне что замена grep это все же rg, а не jq.

Sign up to leave a comment.