The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]



"topalias -  утилита для генерации коротких алиасов по истории bash/zsh"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"topalias -  утилита для генерации коротких алиасов по истории bash/zsh"  +/
Сообщение от opennews (ok), 19-Ноя-20, 11:51 
На GitHub опубликована открытая утилита для генерации коротких алиасов на основании истории работы в  bash или zsh....

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=54108

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от burik666email (ok), 19-Ноя-20, 11:51   +5 +/
$ cat ~/.bash_history | sort | uniq -c | sort -n
Это оно?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #19

2. Сообщение от leibniz (ok), 19-Ноя-20, 11:55   –1 +/
> Утилита анализирует файлы ~/.bash_history и ~/.zsh_history с историей выполнения команд в терминале Linux

Эти файлы же и содержат историю, нет?

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #3, #6

3. Сообщение от Аноним (3), 19-Ноя-20, 11:57   +2 +/
ну да, прога читает историю и предлагает алиасы
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

4. Сообщение от InuYasha (??), 19-Ноя-20, 12:00   +4 +/
А потом привыкнешь к алиасам, а на чужих тачках их нет ) Как ll.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #5

5. Сообщение от And (??), 19-Ноя-20, 12:07   +8 +/
Вообще-то, у многих линуксоидов и яблоковедов на Гитхабчике прикопаны свои ~/.bashrc ~/.bash_aliases ~/.config/et-cetera

Либо есть Deb, Rpm пакеты и просто скрипт, распихивающие все эти goodies по нужным углам в чистых системах. Хостить можно в т.ч. на своей флешке. Или там же - в инете.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #31

6. Сообщение от And (??), 19-Ноя-20, 12:09   +/
> Эти файлы же и содержат историю, нет?

Их больше. И эти  - тоже.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #7

7. Сообщение от leibniz (ok), 19-Ноя-20, 12:17   –3 +/
Понятно, что больше, ведь не только bash и zsh есть в этом мире. Я про логическую нестыковку в указанном предложении.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6 Ответы: #11

8. Сообщение от an0nymous (?), 19-Ноя-20, 12:49   +10 +/
Расскажите им про ctrl + r
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #9, #12, #15

9. Сообщение от Аноним (9), 19-Ноя-20, 12:59   +/
Зашёл сюда чтобы это написать. Работает на любой тачке.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8

10. Сообщение от FrBrGeorge (ok), 19-Ноя-20, 13:10   +4 +/
Ну, пакет на PyPi нерабочий, (нет конфигурационных файлов)

Cама программ ищет эти самые конфигурационные файлы исключительно в подкаталоге `topalias/data` _текущего_ каталога. Разумеется, не находит, потому что их нет.

А если всё ей вручную скачать и куда надо положить, при попытке прочитать мой .zsh_history — валится при перекодировке.

Лучше бы студенту поручили: их, по крайней мере, учат pip-ы делать и тестировать перед релизом.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #33

11. Сообщение от Аноним (11), 19-Ноя-20, 13:36   +2 +/
Как раз хорошая стыковка же. Файлы такие-то с историей команд. То есть файлы таки-то, содержащие ту самую историю команд. А не файлы такие-то да плюс ещё история команд из другого места.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7

12. Сообщение от mumu (ok), 19-Ноя-20, 14:57   –1 +/
В PS работает. Не ожидал. Спасибо!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8

13. Сообщение от Аноним (13), 19-Ноя-20, 17:21   –2 +/
Прога ради проги.
Алиасы  вообще говоря не нужны, а автоматически сгенерированные тем более. Надуманная проблема, вымученное решение...

Если регулярно нужно выполнять какие-то навороченные команды, нужно написать скрипт с ними (и засунуть в крон). Терминал не для того, чтобы выполнять в нем рутинную работу.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #14

14. Сообщение от burik666email (ok), 19-Ноя-20, 18:49   +/
ls -lah засунуть в cron?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13 Ответы: #25

15. Сообщение от Michael Shigorinemail (ok), 19-Ноя-20, 18:51   +5 +/
Про alt+. знаете?

mkdir здоровенныйкаталог
cd <alt+.>

(или Esc . для некоторых терминалов, но так перебирать неудобно)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8 Ответы: #18, #30

16. Сообщение от СеменСеменыч777 (?), 19-Ноя-20, 19:51   +/
а для tcsh - нету. дискриминация эмигрантов из *BSD !
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #23

17. Сообщение от Аноним (17), 19-Ноя-20, 19:59   +1 +/
Ну уже лучше.
А то вот это вот всё
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

уже достало.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #20

18. Сообщение от bw (ok), 19-Ноя-20, 20:00   +/
Мне больше нравится как fish с историей работает.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15

19. Сообщение от Dzen Python (ok), 19-Ноя-20, 20:16   +1 +/
Ну да. Только надо не забыть 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. А можно вообще делать слово из каждой первой-двух букв после пробела

Как-то так. Простой шелл-скиипт, где сложнее всего собрать все команды со всех шеллов в единый файл.

Но нынешнее поколение этого уже не осилит, поэтому, хм, имеем что имеем.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #21

20. Сообщение от And (??), 19-Ноя-20, 20:21   +/
В этом случае с этим работают несколько иначе.

Переменные и параметры в юнит файлах. В юнит файлах может быть имя файла с переменными.

Но тема с --no-pager заела, да. После чего хэйтерство системды. Тоже, видимо, как-то там в другом месте логи читать имелось ввиду...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #17

21. Сообщение от burik666email (ok), 19-Ноя-20, 20:22   +/
> Ну да. Только надо не забыть fish_history и что там у zsh
> и других оболочек.

Обычно известно где лежит HISTFILE используемого shell, так что собирать даже ничего не надо.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19 Ответы: #22

22. Сообщение от Dzen Python (ok), 19-Ноя-20, 20:26   –1 +/
А ВДРУГ у нашего юзверя powershell?
Хотя да, тогда скрипт серьёзно упрощается. Но ты забыл случай, когда один и тот же юзер использует в одном логоне разные шеллы.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21 Ответы: #24

23. Сообщение от лютый жабби__ (?), 19-Ноя-20, 20:28   +/
>а для tcsh - нету. дискриминация эмигрантов из *BSD !

а оно надо? я фряху уже 10 лет не видел, но во всех линухах в tcsh именно за шедевральный родной поиск по истории. пара букв, up up и готово

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16

24. Сообщение от burik666email (ok), 19-Ноя-20, 20:28   +/
> Но ты забыл случай, когда один
> и тот же юзер использует в одном логоне разные шеллы.

Тогда и разные алисаы ему могут быть нужны.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #22 Ответы: #29

25. Сообщение от Dzen Python (ok), 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 символов вместе с параметрами?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14 Ответы: #26

26. Сообщение от burik666email (ok), 19-Ноя-20, 20:35   +1 +/
> Но ведь...человек дело говорит.
> Засунуть длинные команды с кучей параметров в скрипт, как с тем же
> ютюбдл. В скрипт просто передавать ссылку и ... всё. Как тут:

Сам так делаю.

> А смотреть каталоги...хм. Смысл алиаса на команду из 5-6 символов вместе с
> параметрами?

алиас ll=ls -lah очень популярен.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25 Ответы: #27, #35

27. Сообщение от Dzen Python (ok), 19-Ноя-20, 20:38   +1 +/
Мда. Не понимаю я этого. Привык уже к тому, что джвумя символами mc вызываю полноценный ФМ и работаю в нем.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26

28. Сообщение от Dzen Python (ok), 19-Ноя-20, 20:40   +/
Короче как с gping - новость ниочем.
Ответить | Правка | Наверх | Cообщить модератору

29. Сообщение от Dzen Python (ok), 19-Ноя-20, 20:43   –1 +/
Которые должны мнемонически обозначать шелл выполнения (префиксом, постфиксом, алконаркиинтеркфиксом) и по-сути уже должны быть обернуты в скрипты, с нормальным вызовом шелла назначения и передачей ему команды соаргументы.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24

30. Сообщение от an0nymous (?), 19-Ноя-20, 23:20   +/
> Про alt+. знаете?
> mkdir здоровенныйкаталог
> cd <alt+.>
> (или Esc . для некоторых терминалов, но так перебирать неудобно)

Спасибо, не знал. Оно я так понимаю только последний аргумент прошлой команды дублирует? я для этого делаю ^, ctrl+<, ctrl+W сколько нужно раз - так чуть гибче

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15

31. Сообщение от ананим.orig (?), 19-Ноя-20, 23:47   +/
Угу.
А теперь ещё и история… пароли, явки,..
И алиасы к ним.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #32

32. Сообщение от InuYasha (??), 20-Ноя-20, 14:09   +/
У меня тоже свой (ba|z)shrc, но на чужие || рабочие серваки их не потащишь.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #31

33. Сообщение от CSRedRatemail (ok), 20-Ноя-20, 16:29   +1 +/
В релизе 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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10 Ответы: #34

34. Сообщение от CSRedRatemail (ok), 20-Ноя-20, 17:00   +/
исправлена* проблема с конфигурационными файлами

даже pull request с решением некоторых проблем присылают:

я проверял в 4 разных средах до публикации, в т.ч. чистой убунте, у меня работало)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #33

35. Сообщение от InuYasha (??), 22-Ноя-20, 13:08   +/
Однажды, когда много-много сидел в консоли в поисках каких-то файлов, я подумал "а почему бы не повесить ls -lahZ на ll". Каково же было моё удивление, когда он УЖЕ существовал как "ls -l"! Наверное, так я и стал юниксоидом. )
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26

36. Сообщение от Аноним (-), 22-Ноя-20, 19:58   +/
кошмар, какая-то куча костылей на питонятине, зачем такую домашку по информатике в новости пихать?
Ответить | Правка | Наверх | Cообщить модератору


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2022 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру