LINUX.ORG.RU
ФорумTalks

Переехал на кучу утилит переписаных на Rust

 , , ,


49

8

Тег «угадай автора по заголовку».

Q: Зачем?

A: Ради эксперимента, повысится комфорт пользования терминалом или нет.

Q: Причем тут Rust?

A: Ни при чем, но из-за нативности и отсутствия GC на нем толпа людей побежала переписывать что ни попадя. С таким же успехом можно было бы и npm install, но тормозило бы. Ближе opam install или go get

Теперь мой терминал по истине свистит и пердит. Даю список если кому надо.

  • alacritty - GPU ускоренный терминал.
  • alias cat=bat- cat с хорошей подсветкой синтаксиса и нумерацией строк и пейджером.
  • broot - навигатор по каталогам, который одновременно показывает дерево, но адекватно себя ведет с громадными каталогами, показывая их по чуть-чуть.
  • dust - утилита для исследования места занимаемого каталогами, сортирует деревья файлов начиная с самых больших каталогов.
  • alias ls="exa -l --group-directories-first" ls с хорошими дефолтами, tree встроено.
  • rip Утилита для удаления файлов с разными удобными фичами и восстановлением
  • hors "How do I parse float in javascript?" - находит короткий ответ в интернетах и отвечает. Чуть лучше работает чем оригинал - howdoi.
  • mdcat - cat для Markdown, для отображения удобочитаемой формы документа. Ссылки делает сносками.
  • alias grep=rg - очень быстрый и удобный grep
  • starship - shell command prompt, показывает кучу полезной информации в зависимости от контекста, например git branch если в репозитории, версии софта и ЯП если в каталогах с сорцами, hostname если зайти по ssh.
  • tokei - сборщик статистики по ЯП и строкам кода в деревьях исходников.
  • hyperfine - бенчмарк утилита, time на стероидах.
  • tldr- сокращенная версия man, показывает как чем пользоваться в примерах, а не выдавая полную справку. Страницы поддерживаются сообществом для громадного количества утилит. Изначальный проект - https://tldr.sh/
  • topgrade - универсальная утилита обновления. При запуске пытается обновить все что видит - системные пакеты, vim пакеты и так далее.
  • runiq - быстрый sort | uniq с разными алгоритмами внутри.
  • fd - быстрый и удобный find, удобно чтобы не вспоминать заковыристые ключи
  • fselect - поисковик файлов с SQL-like языком запросов
  • sd - как sed, только интуитивный
  • i3status-rs - Сразу i3status+i3blocks. Плюс батарейки к i3blocks, которые как я понял автор решил убрать.
  • onefetch - Вроде neofetch, но для сорцов. Просто запустите эту штуку с корня любого git репа, клонированого локально
  • wasmtime - JIT runtime для WASI стандарта. Пускалка WebAssembly приложений.
  • scriptisto - «shebang-интерпретатор» для компилируемых языков, прозрачно собирает и кеширует нативные сборки кода

Что не зашло совсем

Все вышеперечисленое ставится через cargo install <package_name> (кроме alacritty), название смотрите на страницах. Сам cargo и Rust ставятся через

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

P.S. Призываю остальных взять ЯП вашей секты и поставить такой эксперимент и отписаться. Да-да, расскажите как вы пользовались ls на Java. Пользователей emacs прошу не беспокоить

★★★★☆

О, спасибо за подборочку. Часть уже юзаю, про остальные не знал.

sT331h0rs3 ★★★★★ ()

A: Ради эксперимента, повысится комфорт пользования терминалом или нет.

С чего бы ему повыситься? Вот понизится точно. Качество манов у них же явно ниже.

urxvt ★★★★★ ()

Теперь мой терминал по истине свистит и пердит.

по истине

«Воистину», а вот это вот больше не вздумай использовать.

Virtuos86 ★★★★★ ()
Ответ на: комментарий от iamweasel

Ну в hors там оно to_lower_case делает, так что хоть микс-капсом пиши

vertexua ★★★★☆ ()

Да-да, расскажите как вы пользовались ls на Java.

Думаю, за сорок минут запустится.

Igron ★★★★★ ()
Ответ на: комментарий от RazrFalcon

Ни разу не читал маны. Быстрее/проще загуглить нужную абракадабру. Брат жив.

Я регулярно опции подглядываю.

urxvt ★★★★★ ()

Спасибо, использую уже из этого списка процентов 30, посмотрю, что ещё есть интересного.

theNamelessOne ★★★★★ ()
Ответ на: Тривиально от Camel

Но он будет из Guix, а как в Guix сделать Debian? Например мне нужно что-то, что разработчик пакует только для Debian, и хочу поверх этого еще что-то написать.

Я к чему веду. Guix не аналог Docker, а аналог https://cloudinit.readthedocs.io/en/latest/

vertexua ★★★★☆ ()
Последнее исправление: vertexua (всего исправлений: 1)
Ответ на: комментарий от RazrFalcon

Да их там много таких, о которых в продакшне и не знают.

А в облаках Docker все равно

vertexua ★★★★☆ ()
Ответ на: комментарий от RazrFalcon

Плюс как я понял Guix навязывает дистр и скобкоту. Nix работает не в контейнере. Оба на выход

vertexua ★★★★☆ ()
Последнее исправление: vertexua (всего исправлений: 2)

GPU ускоренный терминал

GPU-замедленный скорее, стартует дольше чем что бы то ни было.

WitcherGeralt ★★ ()
Ответ на: комментарий от xmikex

От большинства утилит не заметил. По бенчмаркам, много из них более быстрые аналоги обычных утилит. На глаз не заметно.

Только starship шарится по каталогу когда пытается найти там сорцы на разных ЯП, добавляя небольшую задержку. Но она становится большой если ФС медленная или удаленно примонтированая. Отключение не нужных модулей, внезапно, делает так что он шарится меньше. Что и видно по strace

vertexua ★★★★☆ ()
Последнее исправление: vertexua (всего исправлений: 2)
Ответ на: комментарий от WitcherGeralt

Ну я сказал что он делает. А нужно это или «ненужно» - другое дело.

Мне полезен git и hostname модули. Еще неплохой directory модуль, но я уже написал свой круче

vertexua ★★★★☆ ()
Последнее исправление: vertexua (всего исправлений: 1)
Ответ на: комментарий от vertexua

Ну я сказал что он делает

Нужность околонулевая, другое дело, что на практике может быть приятной фичей.

WitcherGeralt ★★ ()
Ответ на: комментарий от vertexua

Сплошной дошколятский мусор.

Мне полезен git

Это ещё допускаю, но для этого такая монструозина не нужна.

hostname

Да он и так по дефолту почти везде будет отображаться.

WitcherGeralt ★★ ()
Ответ на: комментарий от Bioreactor

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

Он вырос над собой

Чего и вам желаю ;)

grim ★★★☆ ()
Ответ на: комментарий от grim

Он не верит. Таблетки сегодня не принял, потому бесполезно

vertexua ★★★★☆ ()
Ответ на: комментарий от Bioreactor

import java.io.File;

Я бы с удовольствием посмотрел, как вы используете жабу в качестве шелла.

Запустите на ютуб, может даже спонсоры появятся.

grim ★★★☆ ()
Ответ на: комментарий от grim

Он не использует ее в качестве шелла. Его мысль радует что с помощью горы костылей вроде ng это можно делать

vertexua ★★★★☆ ()

Да-да, расскажите как вы пользовались ls на Java

Они только запускаться секунду будут. Смысл может быть только в каком-нибудь repl-терминале.

crutch_master ★★★★★ ()
Ответ на: комментарий от vertexua

Ну вы же не хотите жестко зависеть на Кафку? Нужен какой-то bus - Apache Camel, Spring Integration ;)

@Bioreactor, спрашиваю как начинающий джавист у опытного отца, я правильно наслаиваю Java на Java, и джавой испражняюсь сверху?

vertexua ★★★★☆ ()
Последнее исправление: vertexua (всего исправлений: 2)
Ответ на: комментарий от vertexua

Локально меня hostname бесит

Так поменять PS1 и всё, на удалённом шелле это никак не отразится.

Короче, ты по-моему упоролся, сплошное нинужно, кроме tokei и tldr (не знал про эту штуку. спасибо). У меня из точно таких же сектантских соображений установлены gotop, lsgo, lazydocker, lazygit и fsql (как find, только sql), но я ничем из этого не пользуюсь.

WitcherGeralt ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.