Страница 1 из 3
Терминал. Вопрос по команде history
Добавлено: 01 сен 2017, 16:03
sana-555
Есть замечательная команда history. После ввода которой я вижу все вводимые мной команды под уникальными номерами. И если я ввиду номер команды, то она исполнится: к примеру !123
. А есть ли такая возможность, чтобы эта команда не исполнялась сразу, а просто подставлялась в терминал, чтобы ее можно было откорректировать а потом вручную исполнить, нажав enter?
Еще, где находится сам исполняемый скрипт команды history? История введенных команд хранится в .bash_history
, а сам скрипт? Мне нужно это для того, чтобы сделать свой скрипт с часто используемыми командами, на вроде history. Только там будет фиксированный список команд, который я смогу в любой момент откорректировать, или добавить новые.
Вопрос по команде history
Добавлено: 01 сен 2017, 17:02
rogoznik
sana-555 писал(а): Еще, где находится сам исполняемый скрипт команды history
Нигде. У каждой команды свой исполняемый файл.
Вопрос по команде history
Добавлено: 01 сен 2017, 17:03
rogoznik
Или тебе нужен именно history
?
Вопрос по команде history
Добавлено: 01 сен 2017, 17:23
sana-555
Да, именно он..)
Вопрос по команде history
Добавлено: 01 сен 2017, 17:34
Chocobo
sana-555, это встроенный функционал bash, оно не упраляется бинарными файлами, фактически.
Да и сама конфигурация состоит из нескольких переменных окружения, на путь к файлу хистори, его длину, формат.
Могу посоветовать подружиться с Ctrl+R
- этот хоткей по мере товего ввода найдет наиболее подходящую комманду и подставит в текущий ввод, где сможешь переписать
Вопрос по команде history
Добавлено: 01 сен 2017, 17:55
sana-555
Chocobo писал(а): с Ctrl+R - этот хоткей по мере товего ввода найдет наиболее подходящую комманду
Знаю о таком,
slant говорил. Но я понял что он ищет из .bash_history, а мне хочется чтобы он искал из моего файла с командами.
Вопрос по команде history
Добавлено: 20 сен 2017, 16:08
Dja
sana-555, для часто используемых выражений можешь использовать алиасы.
dja-work ~ $ cat ~/.bashrc
******************************************************
# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'
alias PCS="cd ~/PCs/"
alias вирт="cd /media/hardD/dja/VirtualShare/"
alias мыло="cd ~/Clouds/MailRu/"
alias яру="cd ~/Clouds/YaDisk/"
alias шуттер="cd ~/Clouds/YaDisk/Screens/Shutter/"
alias скрот="cd ~/Clouds/YaDisk/Screens/Scrot/"
alias манс="cd ~/Clouds/YaDisk/docs/documents/mans/"
alias медиа="cd /media/"
alias темп="cd ~/Clouds/YaDisk/temp"
alias сумо="sudo umount"
alias умо="sudo mount"
alias хард="cd /media/hardD/"
alias фе="screenfetch"
alias скрипт="cd ~/.scripts/"
alias тайл="tail -f /var/log/mail.log"
alias впн="cd /etc/openvpn/"
*************************************************
Вопрос по команде history
Добавлено: 20 сен 2017, 16:16
BadBird
Советую терминатор использовать.
Есть в нем возможность сохранить закладки часто используемых команд....
Вопрос по команде history
Добавлено: 20 сен 2017, 17:13
Bill Williamson
Если правильно понял вопрос, zsh
с его программируемым автодополнением то, что нужно.
Вопрос по команде history
Добавлено: 20 сен 2017, 17:16
sana-555
Dja писал(а): можешь использовать алиасы
Да прикольно, вот еще бы не сразу выполнялись команды а просто подставлялись в терминал, для возможной редакции, было бы вообще супер..) Ну если не понятно сказал то: к примеру есть команда по добавлению юзера, ведь каждый раз нужно вводить новое имя, а алиес как я понял сразу исполняет команду, без возможности редактировать. Конечно командой alias, можно вывести список и скопировать мышкой, ну, но, да ладно и так сойдет...)
BadBird писал(а): терминатор
Это я так понял расширение терминала? Там тоже нет возможности подставлять команды для редактирования?
п.с. Кстати, пересел на линукс уже как 3 недели...

Пока полет нормальный, были не большие проблемы, но как то почти на лету их решал, даже без помощи гугля...

Вопрос по команде history
Добавлено: 20 сен 2017, 17:19
BadBird
sana-555 писал(а): Это я так понял расширение терминала?
Нет, это полноценный терминал которым пользуюсь лично сам.
sudo apt-get install terminator
sana-555 писал(а): Там тоже нет возможности подставлять команды для редактирования?
Это как это?
Вопрос по команде history
Добавлено: 20 сен 2017, 17:27
sana-555
BadBird писал(а): Это как это?
Вот как всегда не могу переключиться и посмотреть со стороны, как будет выглядеть мое объяснение...)
Хорошо, постараюсь объяснить буквально, если я делаю все руками: допустим копирую команду по установке терминатора и вставляю ее в терминал, и пока я не нажму enter - команда не исполнится. Я могу ее отредактировать и прочая, а могу и вовсе удалить и закрыть терминал...) Так вот, предложенный выше алиес при вводе этого самого алиеса, команда под ним сразу исполняется, без возможности скорректировать эту самую команду. Понятное дело, что есть команды так как они есть, но и есть команды которые можно и нужно редактировать, к примеру выше описанная мной добавление юзера, или пароля...
Вопрос по команде history
Добавлено: 20 сен 2017, 17:38
BadBird
sana-555, понятия не имею, дает ли данный терминал редактировать команды, у меня в закладках уже сформированные команды и мне этого вполне хватает, НО дело в том что и двух минут не надо тебе что бы узнать об этом и в случай чего удалить терминатор....
Вопрос по команде history
Добавлено: 21 сен 2017, 14:49
Dja
sana-555 писал(а): как я понял сразу исполняет команду, без возможности редактировать
сумо ~/PCs/250/public - отмонтирование указанной папки
сумо ~/PCs/250/distrib
в алиасах лишь сумо, которое равно sudo umount
и тд.
пример
Вопрос по команде history
Добавлено: 21 сен 2017, 15:39
Bill Williamson
Bill Williamson писал(а): Если правильно понял вопрос, zsh с его программируемым автодополнением то, что нужно.
Дополню свой ответ. Можно поставить
zsh
и на него плагин
zaw, который выполняет инкрементный поиск по истории,
выдавая результаты списком. Из этого списка можно выбрать нужное и комбинацией
Alt+Enter
вывести на поле ввода для дальнейшего редактирования.
https://www.youtube.com/watch?v=0vWtQ8_kYzk
Вопрос по команде history
Добавлено: 21 сен 2017, 15:45
Dja
Bill Williamson, а в фильтр как попадает?
Вопрос по команде history
Добавлено: 21 сен 2017, 15:48
Bill Williamson
Dja писал(а): а в фильтр как попадает?
Из истории
zsh
.
Вопрос по команде history
Добавлено: 21 сен 2017, 15:49
Dja
Bill Williamson, я это понимаю. Я про сам переход со строки в строку фильтр. Вроде команда никакая не вводится. А фильтр включается.
Вопрос по команде history
Добавлено: 21 сен 2017, 15:55
sana-555
zsh - это альтернативный терминал?
Bill Williamson писал(а): Из истории zsh.
А свой файлик с командами можно подсунуть? А то в истории много мусорных будет...
Вопрос по команде history
Добавлено: 21 сен 2017, 15:59
Bill Williamson
Dja, комбинация вызова фильтра прописывается прямо в
zaw.zsh, например так:
bindkey '^R' zaw-history
Сам zsh можно быстро настроить через oh-my-zsh. Еще можно запретить дублирование в истории. Все это гуглится на раз-два.