LINUX.ORG.RU

Генератор псевдонимов topalias 3.0.0

 , ,

Генератор псевдонимов topalias 3.0.0

1

1

Задачи, которые решает программа:

  • анализ файлов ~/.bash_aliases, ~/.bash_history, ~/.zsh_history с историей выполнения команд в терминале Linux в оболочке Bash/Zsh;
  • предложение коротких аббревиатур (акронимов) для длинных, долго набираемых и сложно запоминаемых, но часто используемых команд (хотя об этом можно даже не догадываться);
  • вывод статистики;
  • обработка управляющих параметров.

Установка:

  pip3 install -U --upgrade topalias
  pipx install --force topalias
  python3 -m pip install -U --upgrade topalias
  python3.10 -m pip install -U --upgrade topalias

Запуск утилиты topalias:

  topalias
  python3 -m topalias
  python3.10 -m topalias
  python3 topalias/cli.py

В этой версии добавлена поддержка Ubuntu 25.10/Python 3.13, Kubuntu 22.04/Python 3.10 и KDE neon Rolling.

>>> http://github.com/CSRedRat/topalias



Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 3)

Генератор псевдонимов? По README что-то интересное, попробую откачать до подтверждаемого вида.

hobbit ★★★★★
()

Язык команд и без того сложен и местами неоднороден (между домашней и рабочей машиной, разными ОС). Зачем усложнять задачу новым языком? К тому же генерируемому, который будет меняться примерно раз в месяц, если не чаще.

kaldeon
()
Ответ на: комментарий от hobbit

В итоге я просто взял (чуть подредактировав стиль) описание программы из старой новости, там было гораздо понятнее описано, надеюсь, автор не обидится. :)

hobbit ★★★★★
()

А зачем их генерить? Что бы не запомнить? Ну написал ты себе десяток руками, больше-то зачем? Опять же, велика вероятность интерференции псевдонима с существующей внешней командой.

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

gns ★★★★★
()
Последнее исправление: gns (всего исправлений: 1)

Зачем для установки рекомендовать что-то кроме pipx и на кой хрен там –force?

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

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

cat .bashrc |grep ‘^alias’ |while read … 🙂

kaldeon
()

предлагаю челлендж:

заставить эту штуку сгенерировать из чего-то безобидного алиас типа halt.

PS.

идея же с алиасами сама по себе не особо безопасно выглядит, ну ладно там ls - это всегда ls --color или то же самое с grep, но вот мы привыкли у себя к некой системе команд, потом заходим куда-то в гости, а там система уже другая, вот ненароком можно что-то да и ушатать. Я уже давно выработал привычку даже опции у команд полностью писать, а уж о алиасах даже речи не идет.

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

Ну да, и алиаас на это дело прописать :)

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

Ну какой halt... sudo ps rf /* же - классика жанра...
А так вполне рабичие и удобные «автодополнения» есть, причём ещё и опции подкидывают - намного удобнее сабжа. ИМХО.

drfaust ★★★★★
()
Последнее исправление: drfaust (всего исправлений: 4)

Это для ленивых в квадрате? Не только лень набирать команду полностью, но и лень самому сокращать? Такая ленивость даже вызывает уважение.

legolegs ★★★★★
()

Тулза мне предложила:

  • сокращать mc до m (?)
  • сократить оба git push и git pull до gp, если сделать такой алиас то выхлоп не меняется
  • сократить существующий гитовый алиас git s до gs
  • сократить существующую функцию vsopen до v

Вроде идея прикольная но над алгоритмом надо много и хорошо думать

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

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

Но действительно, нужность под вопросом

DzenPython
()

Зачем это нужно? Всё это легко ручками делается, если есть нужда.

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

сократить оба git push и git pull до gp, если сделать такой алиас то выхлоп не меняется

Ну это, конечно, фейл. Над остальным даже можно подумать. Я вот всегда файловый менеджер запускаю как mc -S xoria256 (*) – пожалуй, сократить это до m я был бы не против.


(*) А на некоторых системах приходится писать

TERM=xterm-256color mc -S xoria256

:)))

(**) Да, конечно, тот же псевдоним можно и руками создать. Тут, скорее, вопрос привычки и того, что реально я нажимаю 2 стрелки из истории команд, в этой ситуации алиас не особо-то и нужен. :)

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)

Эталонное ненужно.

thunar ★★★★★
()

Не совсем понятно, почему генератор алиасов для bash написан не на bash.

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

Генератор псевдонимов?

«По результатам анализа ~/.bash_history предлагаются варианты:
- Роза Поцелуева
- Евлампий Отупеев
- Никодим Непомнящий»

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

Это для ленивых в квадрате? Не только лень набирать команду полностью, но и лень самому сокращать? Такая ленивость даже вызывает уважение.

А потом ещё нужно синхронизировать .bashrc на всех своих машинах, а то такая лень в копеечку встанет.

Smacker ★★★★★
()

У меня алиасы типа l = ls и e = exit и еще ряд сокращений для некоторых команд. Не помню чтобы долго тяжело придумывал эти однобуквенные сокращения

А потом привыкнув к своим алиасам долблю e и получаю что это не работает на другой машине…

I-Love-Microsoft ★★★★★
()
Последнее исправление: I-Love-Microsoft (всего исправлений: 1)
Ответ на: комментарий от I-Love-Microsoft

Но ведь для exit уже есть самый лучший псевдоним Ctrl-D, который к тому же работает во всех программах. Зачем выдумывать что-то еще?

Zeta_Gundam
()

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

buddhist ★★★★★
()

Много токсичных комментов (как обычно), но идея хорошая, надо сделать получше алгоритм: чтобы сокращало команды например от 5 символов (mc -> m мало смысла), чтобы не создавало коллизий с существующими командами/алиасами, чтобы поддерживало современные шеллы (fish) и вывод читабельнее оформить.

loz ★★★★★
()

У меня алиасы типа l = ls

ладно, у меня ll='ls -lAh' (только в таком виде и пользуюсь, кстати), но блин... сокращать "ls" до "l"! на что же ты тратишь всю эту прорву сэкономленного времени?
а вместо "exit" я че-то приучился жать ctrl+d. плюс, как выше сказали, работает не только в баше. а то, например, в bc надо писать "quit" вместо "exit", и это бесит. а так ctrl+d два раза жмякнул, и гуляй, вася.

PerdunJamesBond
()

Выглядит генератором проблем на ровном месте.

spqr ★★★★
()

Никогда в жизни себе такую штуку не поставлю, не то чтобы ещё ей и пользоваться. Если тебе (как админу своего компа) непонятны и трудны для запоминания команды, которые ты пишешь в консоль. И ты вместо «длинного непонятного набора символов» теперь пишешь «краткий непонятный набор символов». То твое миленькое «ЭГО» конечно не пострадает, потому что на серьёзных щах теперь ты имеешь право утверждать, что ты просто нажал, а оно потом само «вжух, там па-ра-рам», когда оно сломалось. А если вдруг само все починилось, то ты «огурец-молодец», ведь ты же «НАЖААА-А-А-А-А-Л». (всё с тем же нулевым пониманием, что же собственно произошло).

justAmoment ★★★★★
()

Генератор псевдонимов, единый и неповторимый, у единого и неповторимого Саахрикту.

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

И наше и понятное слово «брандмауэр» мы заменяем на ихнее и непонятное слово «файерволл» :)

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

Дело не в токсичности, а в том, что когда много алиасов, сам забываешь, что они означают.

Потому, я создаю алиасы только для тех команд, которые действительно неудобно печатать, и которые использую не менее нескольких раз в день. Например, alias sp='./manage.py shell_plus --print-sql

Chiffchaff
()

Чедовек создаёт, и это радует. За это он заслуживает похвалы! Негативные комменты будут всегда, а ты продолжай созидать! Удачи!

Ivan_S
()
Ответ на: комментарий от legolegs

Это для ленивых в квадрате? Не только лень набирать команду полностью, но и лень самому сокращать? Такая ленивость даже вызывает уважение.

Ну, «правильным» лентяям (мне, например ;P ) даже лениться лень!.. ;P ;))

Somebody ★★★★
()
Ответ на: комментарий от I-Love-Microsoft

А потом привыкнув к своим алиасам долблю e и получаю что это не работает на другой машине…

Может быть и хуже, у кого-то под этим e окажется патч бармина :)

anc ★★★★★
()

А что alias уже никак ручками линупсоиды не могут прописать нужный? Я балдею, деградация на лицо. И да говорят на клавиатуре есть кнопка Tab, специально для лентяев.

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

Но ведь для exit уже есть самый лучший псевдоним Ctrl-D, который к тому же
работает во всех программах.

Запустил mc, Ctrl-D не робит, exit робит. Я таки настаиваю на 4.2

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

Запустил mc, Ctrl-D не робит,

Аналогично. У чела, видимо, «робит» там, где он сам так настроил...

exit робит

А «exit» — это F10? Tогда да, «робит», как и всегда было... :)

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

А «exit» — это F10?

Нет, команда exit.

Tогда да, «робит», как и всегда было... :)

Нет F10 не всегда робил, да и сейчас может не всегда робить. От Esc-0 робит. :)

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

Не «ленивость», а «леность».

«л» ;)

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

А на кой оно в mc??..

Оно скорее не в mc, а в шеле.

Нет F10 не всегда робил, да и сейчас может не всегда робить

У меня — всегда.

Я порадовался за ваше «всегда», но это нерелевантный опыт, вам просто повезло с «всегда».

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

Я порадовался за ваше «всегда», но это нерелевантный опыт

С буя ли?? Четверть века «нерелевантна»??..

вам просто повезло с «всегда»

Повезло, ага... и так десятки лет подряд... ежедневное «везение»... ;D ;P ;)) :))))

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

Я порадовался за ваше «всегда», но это нерелевантный опыт

С буя ли?? Четверть века «нерелевантна»??..

Именно так. Если вы четверть века сидите за физ консолью, то это не означает, что ваш опыт релевантен.

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

Если вы четверть века сидите за физ консолью, то это не означает, что ваш опыт релевантен

Глупость какая...

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

Я вот всегда файловый менеджер запускаю как mc -S xoria256

а почему это просто в настройках mc не сохранить?

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

Вы лор с вынстаграмом не перепутали?

«Если вы четверть века сидите» © в этом вашем «вынстаграм», то не удивительно, что, попав на LOR, вы теряетесь и несёте чушь, пытаясь «аргументировать», расклеивая ярлыки вроде «нерелевантен»...

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

Да нет, он просто умеет настраивать эмуляторы терминалов наверно. Мусорный хоткей (терминала а не mc) на f10 - отключить, если в terminfo баги - пофиксить (но это сейчас очень редко), в переменную TERM мусор всякий не засовывать. Ну и на крайний случай в mc есть learn keys.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.