URL: https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 122460
[ Назад ]
Исходное сообщение
"topalias - утилита для генерации коротких алиасов по истории bash/zsh"
Отправлено opennews , 19-Ноя-20 11:51
На GitHub опубликована открытая утилита для генерации коротких алиасов на основании истории работы в bash или zsh....Подробнее: https://www.opennet.dev/opennews/art.shtml?num=54108
Содержание
- topalias - утилита для генерации коротких алиасов по истори...,burik666, 11:51 , 19-Ноя-20
- topalias - утилита для генерации коротких алиасов по истори...,Dzen Python, 20:16 , 19-Ноя-20
- topalias - утилита для генерации коротких алиасов по истори...,burik666, 20:22 , 19-Ноя-20
- topalias - утилита для генерации коротких алиасов по истори...,Dzen Python, 20:26 , 19-Ноя-20
- topalias - утилита для генерации коротких алиасов по истори...,burik666, 20:28 , 19-Ноя-20
- topalias - утилита для генерации коротких алиасов по истори...,Dzen Python, 20:43 , 19-Ноя-20
- topalias - утилита для генерации коротких алиасов по истори...,leibniz, 11:55 , 19-Ноя-20
- topalias - утилита для генерации коротких алиасов по истори...,Аноним, 11:57 , 19-Ноя-20
- topalias - утилита для генерации коротких алиасов по истори...,And, 12:09 , 19-Ноя-20
- topalias - утилита для генерации коротких алиасов по истори...,leibniz, 12:17 , 19-Ноя-20
- topalias - утилита для генерации коротких алиасов по истори...,Аноним, 13:36 , 19-Ноя-20
- topalias - утилита для генерации коротких алиасов по истори...,InuYasha, 12:00 , 19-Ноя-20
- topalias - утилита для генерации коротких алиасов по истори...,And, 12:07 , 19-Ноя-20
- topalias - утилита для генерации коротких алиасов по истори...,ананим.orig, 23:47 , 19-Ноя-20
- topalias - утилита для генерации коротких алиасов по истори...,InuYasha, 14:09 , 20-Ноя-20
- topalias - утилита для генерации коротких алиасов по истори...,an0nymous, 12:49 , 19-Ноя-20
- topalias - утилита для генерации коротких алиасов по истори...,Аноним, 12:59 , 19-Ноя-20
- topalias - утилита для генерации коротких алиасов по истори...,mumu, 14:57 , 19-Ноя-20
- topalias - утилита для генерации коротких алиасов по истори...,Michael Shigorin, 18:51 , 19-Ноя-20
- topalias - утилита для генерации коротких алиасов по истори...,bw, 20:00 , 19-Ноя-20
- topalias - утилита для генерации коротких алиасов по истори...,an0nymous, 23:20 , 19-Ноя-20
- topalias - утилита для генерации коротких алиасов по истори...,FrBrGeorge, 13:10 , 19-Ноя-20
- topalias - утилита для генерации коротких алиасов по истори...,CSRedRat, 16:29 , 20-Ноя-20
- topalias - утилита для генерации коротких алиасов по истори...,CSRedRat, 17:00 , 20-Ноя-20
- topalias - утилита для генерации коротких алиасов по истори...,Аноним, 17:21 , 19-Ноя-20
- topalias - утилита для генерации коротких алиасов по истори...,burik666, 18:49 , 19-Ноя-20
- topalias - утилита для генерации коротких алиасов по истори...,Dzen Python, 20:32 , 19-Ноя-20
- topalias - утилита для генерации коротких алиасов по истори...,burik666, 20:35 , 19-Ноя-20
- topalias - утилита для генерации коротких алиасов по истори...,Dzen Python, 20:38 , 19-Ноя-20
- topalias - утилита для генерации коротких алиасов по истори...,InuYasha, 13:08 , 22-Ноя-20
- topalias - утилита для генерации коротких алиасов по истори...,СеменСеменыч777, 19:51 , 19-Ноя-20
- topalias - утилита для генерации коротких алиасов по истори...,лютый жабби__, 20:28 , 19-Ноя-20
- topalias - утилита для генерации коротких алиасов по истори...,Аноним, 19:59 , 19-Ноя-20
- topalias - утилита для генерации коротких алиасов по истори...,And, 20:21 , 19-Ноя-20
- topalias - утилита для генерации коротких алиасов по истори...,Dzen Python, 20:40 , 19-Ноя-20
- topalias - утилита для генерации коротких алиасов по истори...,Аноним, 19:58 , 22-Ноя-20
Сообщения в этом обсуждении
"topalias - утилита для генерации коротких алиасов по истори..."
Отправлено burik666 , 19-Ноя-20 11:51
$ cat ~/.bash_history | sort | uniq -c | sort -n
Это оно?
"topalias - утилита для генерации коротких алиасов по истори..."
Отправлено Dzen Python , 19-Ноя-20 20:16
Ну да. Только надо не забыть fish_history и что там у zsh и других оболочек. Но все равно получится нечто вроде:cat ~/.bash_history >> ~/temp.txt
cat ~/.local/share/fish/fish_history >> ~/temp.txt
...
cat ~/temp.txt | sort | uniq -c | sort -n
ну и далее для каждой строки нечто подобное
head /dev/urandom | tr -dc A-Za-z0-9 | head -c5
, а если использовать gpw, то можно получить не тот шлак, то выдает сейчас, но нормальные читаемые алиасы,
gpw $num $alias_len
, а если делать как автор, то просто выкусить для каждой команды по 1-3 символов из начала, с проверкой на существование бинарника в общесистемных /bin. А можно вообще делать слово из каждой первой-двух букв после пробела
Как-то так. Простой шелл-скиипт, где сложнее всего собрать все команды со всех шеллов в единый файл.
Но нынешнее поколение этого уже не осилит, поэтому, хм, имеем что имеем.
"topalias - утилита для генерации коротких алиасов по истори..."
Отправлено burik666 , 19-Ноя-20 20:22
> Ну да. Только надо не забыть fish_history и что там у zsh
> и других оболочек.Обычно известно где лежит HISTFILE используемого shell, так что собирать даже ничего не надо.
"topalias - утилита для генерации коротких алиасов по истори..."
Отправлено Dzen Python , 19-Ноя-20 20:26
А ВДРУГ у нашего юзверя powershell?
Хотя да, тогда скрипт серьёзно упрощается. Но ты забыл случай, когда один и тот же юзер использует в одном логоне разные шеллы.
"topalias - утилита для генерации коротких алиасов по истори..."
Отправлено burik666 , 19-Ноя-20 20:28
> Но ты забыл случай, когда один
> и тот же юзер использует в одном логоне разные шеллы.Тогда и разные алисаы ему могут быть нужны.
"topalias - утилита для генерации коротких алиасов по истори..."
Отправлено Dzen Python , 19-Ноя-20 20:43
Которые должны мнемонически обозначать шелл выполнения (префиксом, постфиксом, алконаркиинтеркфиксом) и по-сути уже должны быть обернуты в скрипты, с нормальным вызовом шелла назначения и передачей ему команды соаргументы.
"topalias - утилита для генерации коротких алиасов по истори..."
Отправлено leibniz , 19-Ноя-20 11:55
> Утилита анализирует файлы ~/.bash_history и ~/.zsh_history с историей выполнения команд в терминале LinuxЭти файлы же и содержат историю, нет?
"topalias - утилита для генерации коротких алиасов по истори..."
Отправлено Аноним , 19-Ноя-20 11:57
ну да, прога читает историю и предлагает алиасы
"topalias - утилита для генерации коротких алиасов по истори..."
Отправлено And , 19-Ноя-20 12:09
> Эти файлы же и содержат историю, нет?Их больше. И эти - тоже.
"topalias - утилита для генерации коротких алиасов по истори..."
Отправлено leibniz , 19-Ноя-20 12:17
Понятно, что больше, ведь не только bash и zsh есть в этом мире. Я про логическую нестыковку в указанном предложении.
"topalias - утилита для генерации коротких алиасов по истори..."
Отправлено Аноним , 19-Ноя-20 13:36
Как раз хорошая стыковка же. Файлы такие-то с историей команд. То есть файлы таки-то, содержащие ту самую историю команд. А не файлы такие-то да плюс ещё история команд из другого места.
"topalias - утилита для генерации коротких алиасов по истори..."
Отправлено InuYasha , 19-Ноя-20 12:00
А потом привыкнешь к алиасам, а на чужих тачках их нет ) Как ll.
"topalias - утилита для генерации коротких алиасов по истори..."
Отправлено And , 19-Ноя-20 12:07
Вообще-то, у многих линуксоидов и яблоковедов на Гитхабчике прикопаны свои ~/.bashrc ~/.bash_aliases ~/.config/et-ceteraЛибо есть Deb, Rpm пакеты и просто скрипт, распихивающие все эти goodies по нужным углам в чистых системах. Хостить можно в т.ч. на своей флешке. Или там же - в инете.
"topalias - утилита для генерации коротких алиасов по истори..."
Отправлено ананим.orig , 19-Ноя-20 23:47
Угу.
А теперь ещё и история… пароли, явки,..
И алиасы к ним.
"topalias - утилита для генерации коротких алиасов по истори..."
Отправлено InuYasha , 20-Ноя-20 14:09
У меня тоже свой (ba|z)shrc, но на чужие || рабочие серваки их не потащишь.
"topalias - утилита для генерации коротких алиасов по истори..."
Отправлено an0nymous , 19-Ноя-20 12:49
Расскажите им про ctrl + r
"topalias - утилита для генерации коротких алиасов по истори..."
Отправлено Аноним , 19-Ноя-20 12:59
Зашёл сюда чтобы это написать. Работает на любой тачке.
"topalias - утилита для генерации коротких алиасов по истори..."
Отправлено mumu , 19-Ноя-20 14:57
В PS работает. Не ожидал. Спасибо!
"topalias - утилита для генерации коротких алиасов по истори..."
Отправлено Michael Shigorin , 19-Ноя-20 18:51
Про alt+. знаете?mkdir здоровенныйкаталог
cd <alt+.>
(или Esc . для некоторых терминалов, но так перебирать неудобно)
"topalias - утилита для генерации коротких алиасов по истори..."
Отправлено bw , 19-Ноя-20 20:00
Мне больше нравится как fish с историей работает.
"topalias - утилита для генерации коротких алиасов по истори..."
Отправлено an0nymous , 19-Ноя-20 23:20
> Про alt+. знаете?
> mkdir здоровенныйкаталог
> cd <alt+.>
> (или Esc . для некоторых терминалов, но так перебирать неудобно) Спасибо, не знал. Оно я так понимаю только последний аргумент прошлой команды дублирует? я для этого делаю ^, ctrl+<, ctrl+W сколько нужно раз - так чуть гибче
"topalias - утилита для генерации коротких алиасов по истори..."
Отправлено FrBrGeorge , 19-Ноя-20 13:10
Ну, пакет на PyPi нерабочий, (нет конфигурационных файлов)Cама программ ищет эти самые конфигурационные файлы исключительно в подкаталоге `topalias/data` _текущего_ каталога. Разумеется, не находит, потому что их нет.
А если всё ей вручную скачать и куда надо положить, при попытке прочитать мой .zsh_history — валится при перекодировке.
Лучше бы студенту поручили: их, по крайней мере, учат pip-ы делать и тестировать перед релизом.
"topalias - утилита для генерации коротких алиасов по истори..."
Отправлено CSRedRat , 20-Ноя-20 16:29
В релизе 2.0.13 проблема с поиском файлов .bash_aliases, .bash_history и .zsh_aliases
Также устранены проблемы с кодировкой unicode при чтении истории zsh и ошибки при обработке мультистрочных коммандПакет рабочий: https://pypi.org/project/topalias/
Обновите утилиту:
pip3 install -U --user topalias
или
pip3 install -U --user topalias==2.0.13
"topalias - утилита для генерации коротких алиасов по истори..."
Отправлено CSRedRat , 20-Ноя-20 17:00
исправлена* проблема с конфигурационными файламидаже pull request с решением некоторых проблем присылают:
я проверял в 4 разных средах до публикации, в т.ч. чистой убунте, у меня работало)
"topalias - утилита для генерации коротких алиасов по истори..."
Отправлено Аноним , 19-Ноя-20 17:21
Прога ради проги.
Алиасы вообще говоря не нужны, а автоматически сгенерированные тем более. Надуманная проблема, вымученное решение...Если регулярно нужно выполнять какие-то навороченные команды, нужно написать скрипт с ними (и засунуть в крон). Терминал не для того, чтобы выполнять в нем рутинную работу.
"topalias - утилита для генерации коротких алиасов по истори..."
Отправлено burik666 , 19-Ноя-20 18:49
ls -lah засунуть в cron?
"topalias - утилита для генерации коротких алиасов по истори..."
Отправлено Dzen Python , 19-Ноя-20 20:32
Но ведь...человек дело говорит.
Засунуть длинные команды с кучей параметров в скрипт, как с тем же ютюбдл. В скрипт просто передавать ссылку и ... всё. Как тут:#!/bin/bash
# Download single video
if [ -n "$1" ]
then
cd "~/blah/blah/blah/youtu.be feed"
youtube-dl -i -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best' --no-mtime "$1"
else
echo "No url to video found."
fi
А смотреть каталоги...хм. Смысл алиаса на команду из 5-6 символов вместе с параметрами?
"topalias - утилита для генерации коротких алиасов по истори..."
Отправлено burik666 , 19-Ноя-20 20:35
> Но ведь...человек дело говорит.
> Засунуть длинные команды с кучей параметров в скрипт, как с тем же
> ютюбдл. В скрипт просто передавать ссылку и ... всё. Как тут: Сам так делаю.
> А смотреть каталоги...хм. Смысл алиаса на команду из 5-6 символов вместе с
> параметрами?
алиас ll=ls -lah очень популярен.
"topalias - утилита для генерации коротких алиасов по истори..."
Отправлено Dzen Python , 19-Ноя-20 20:38
Мда. Не понимаю я этого. Привык уже к тому, что джвумя символами mc вызываю полноценный ФМ и работаю в нем.
"topalias - утилита для генерации коротких алиасов по истори..."
Отправлено InuYasha , 22-Ноя-20 13:08
Однажды, когда много-много сидел в консоли в поисках каких-то файлов, я подумал "а почему бы не повесить ls -lahZ на ll". Каково же было моё удивление, когда он УЖЕ существовал как "ls -l"! Наверное, так я и стал юниксоидом. )
"topalias - утилита для генерации коротких алиасов по истори..."
Отправлено СеменСеменыч777 , 19-Ноя-20 19:51
а для tcsh - нету. дискриминация эмигрантов из *BSD !
"topalias - утилита для генерации коротких алиасов по истори..."
Отправлено лютый жабби__ , 19-Ноя-20 20:28
>а для tcsh - нету. дискриминация эмигрантов из *BSD !а оно надо? я фряху уже 10 лет не видел, но во всех линухах в tcsh именно за шедевральный родной поиск по истории. пара букв, up up и готово
"topalias - утилита для генерации коротких алиасов по истори..."
Отправлено Аноним , 19-Ноя-20 19:59
Ну уже лучше.
А то вот это вот всё
systemctr.stupid.service.do --new_mega_option = 12843 --no_nothing = 887 --post_to_facebook=yes --another=i_do_not_know --ne_pomniu --netu_documentacii +100500_parameters startуже достало.
"topalias - утилита для генерации коротких алиасов по истори..."
Отправлено And , 19-Ноя-20 20:21
В этом случае с этим работают несколько иначе.Переменные и параметры в юнит файлах. В юнит файлах может быть имя файла с переменными.
Но тема с --no-pager заела, да. После чего хэйтерство системды. Тоже, видимо, как-то там в другом месте логи читать имелось ввиду...
"topalias - утилита для генерации коротких алиасов по истори..."
Отправлено Dzen Python , 19-Ноя-20 20:40
Короче как с gping - новость ниочем.
"topalias - утилита для генерации коротких алиасов по истори..."
Отправлено Аноним , 22-Ноя-20 19:58
кошмар, какая-то куча костылей на питонятине, зачем такую домашку по информатике в новости пихать?