Терминал. Вопрос по команде history

Как правильно задавать вопросы Правильно сформулированный вопрос и его грамотное оформление способствует высокой вероятности получения достаточно содержательного и по существу ответа. Общая рекомендация по составлению тем: 1. Для начала воспользуйтесь поиском форума. 2. Укажите версию ОС вместе с разрядностью. Пример: LM 19.3 x64, LM Sarah x32 3. DE. Если вопрос касается двух, то через запятую. (xfce, KDE, cinnamon, mate) 4. Какое железо. (достаточно вывод inxi -Fxz в спойлере (как пользоваться спойлером смотрим здесь)) или же дать ссылку на hw-probe 5. Суть. Желательно с выводом консоли, логами. 6. Скрин. Просьба указывать 2, 3 и 4 независимо от того, имеет ли это отношение к вопросу или нет. Так же не забываем об общих правилах Как пример вот
Аватара пользователя

Автор темы
sana-555
Сообщения: 427
Зарегистрирован: 21 июл 2017, 20:38
Благодарил (а): 385 раз
Поблагодарили: 8 раз
Контактная информация:

Терминал. Вопрос по команде history

#1

01 сен 2017, 16:03

Есть замечательная команда history. После ввода которой я вижу все вводимые мной команды под уникальными номерами. И если я ввиду номер команды, то она исполнится: к примеру !123. А есть ли такая возможность, чтобы эта команда не исполнялась сразу, а просто подставлялась в терминал, чтобы ее можно было откорректировать а потом вручную исполнить, нажав enter?
Еще, где находится сам исполняемый скрипт команды history? История введенных команд хранится в .bash_history, а сам скрипт? Мне нужно это для того, чтобы сделать свой скрипт с часто используемыми командами, на вроде history. Только там будет фиксированный список команд, который я смогу в любой момент откорректировать, или добавить новые.
Последний раз редактировалось пользователем 1 Dja; всего редактировалось раз: 23
Причина: подправил название

Аватара пользователя

rogoznik
Сообщения: 10042
Зарегистрирован: 27 июн 2017, 13:36
Решено: 129
Откуда: Нижний Тагил
Благодарил (а): 776 раз
Поблагодарили: 1956 раз
Контактная информация:

Вопрос по команде history

#2

01 сен 2017, 17:02

sana-555 писал(а): Еще, где находится сам исполняемый скрипт команды history
Нигде. У каждой команды свой исполняемый файл.
ИзображениеИзображение

Аватара пользователя

rogoznik
Сообщения: 10042
Зарегистрирован: 27 июн 2017, 13:36
Решено: 129
Откуда: Нижний Тагил
Благодарил (а): 776 раз
Поблагодарили: 1956 раз
Контактная информация:

Вопрос по команде history

#3

01 сен 2017, 17:03

Или тебе нужен именно history?
ИзображениеИзображение

Аватара пользователя

Автор темы
sana-555
Сообщения: 427
Зарегистрирован: 21 июл 2017, 20:38
Благодарил (а): 385 раз
Поблагодарили: 8 раз
Контактная информация:

Вопрос по команде history

#4

01 сен 2017, 17:23

Да, именно он..)

Аватара пользователя

Chocobo
Сообщения: 10015
Зарегистрирован: 27 авг 2016, 22:57
Решено: 215
Откуда: НН
Благодарил (а): 815 раз
Поблагодарили: 3010 раз
Контактная информация:

Вопрос по команде history

#5

01 сен 2017, 17:34

sana-555, это встроенный функционал bash, оно не упраляется бинарными файлами, фактически.
Да и сама конфигурация состоит из нескольких переменных окружения, на путь к файлу хистори, его длину, формат.

Могу посоветовать подружиться с Ctrl+R - этот хоткей по мере товего ввода найдет наиболее подходящую комманду и подставит в текущий ввод, где сможешь переписать
Изображение
   
Изображение

Аватара пользователя

Автор темы
sana-555
Сообщения: 427
Зарегистрирован: 21 июл 2017, 20:38
Благодарил (а): 385 раз
Поблагодарили: 8 раз
Контактная информация:

Вопрос по команде history

#6

01 сен 2017, 17:55

Chocobo писал(а): с Ctrl+R - этот хоткей по мере товего ввода найдет наиболее подходящую комманду
Знаю о таком, slant говорил. Но я понял что он ищет из .bash_history, а мне хочется чтобы он искал из моего файла с командами.

Аватара пользователя

Dja
Сообщения: 6875
Зарегистрирован: 27 авг 2016, 20:03
Решено: 30
Откуда: Voskresensk
Благодарил (а): 1312 раз
Поблагодарили: 724 раза
Контактная информация:

Вопрос по команде history

#7

20 сен 2017, 16:08

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/"
*************************************************

Аватара пользователя

BadBird
Сообщения: 3070
Зарегистрирован: 09 сен 2016, 21:08
Решено: 5
Откуда: Грозный
Благодарил (а): 174 раза
Поблагодарили: 568 раз
Контактная информация:

Вопрос по команде history

#8

20 сен 2017, 16:16

Советую терминатор использовать.
Есть в нем возможность сохранить закладки часто используемых команд....

Аватара пользователя

Bill Williamson
Сообщения: 928
Зарегистрирован: 31 авг 2016, 13:38
Решено: 34
Благодарил (а): 288 раз
Поблагодарили: 249 раз
Контактная информация:

Вопрос по команде history

#9

20 сен 2017, 17:13

Если правильно понял вопрос, zsh с его программируемым автодополнением то, что нужно.
Последний раз редактировалось пользователем 1 Bill Williamson; всего редактировалось раз: 20
Изображение

Аватара пользователя

Автор темы
sana-555
Сообщения: 427
Зарегистрирован: 21 июл 2017, 20:38
Благодарил (а): 385 раз
Поблагодарили: 8 раз
Контактная информация:

Вопрос по команде history

#10

20 сен 2017, 17:16

Dja писал(а): можешь использовать алиасы
Да прикольно, вот еще бы не сразу выполнялись команды а просто подставлялись в терминал, для возможной редакции, было бы вообще супер..) Ну если не понятно сказал то: к примеру есть команда по добавлению юзера, ведь каждый раз нужно вводить новое имя, а алиес как я понял сразу исполняет команду, без возможности редактировать. Конечно командой alias, можно вывести список и скопировать мышкой, ну, но, да ладно и так сойдет...)
BadBird писал(а): терминатор
Это я так понял расширение терминала? Там тоже нет возможности подставлять команды для редактирования?

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

Аватара пользователя

BadBird
Сообщения: 3070
Зарегистрирован: 09 сен 2016, 21:08
Решено: 5
Откуда: Грозный
Благодарил (а): 174 раза
Поблагодарили: 568 раз
Контактная информация:

Вопрос по команде history

#11

20 сен 2017, 17:19

sana-555 писал(а): Это я так понял расширение терминала?
Нет, это полноценный терминал которым пользуюсь лично сам.
sudo apt-get install terminator
sana-555 писал(а): Там тоже нет возможности подставлять команды для редактирования?
Это как это?

Аватара пользователя

Автор темы
sana-555
Сообщения: 427
Зарегистрирован: 21 июл 2017, 20:38
Благодарил (а): 385 раз
Поблагодарили: 8 раз
Контактная информация:

Вопрос по команде history

#12

20 сен 2017, 17:27

BadBird писал(а): Это как это?
Вот как всегда не могу переключиться и посмотреть со стороны, как будет выглядеть мое объяснение...)
Хорошо, постараюсь объяснить буквально, если я делаю все руками: допустим копирую команду по установке терминатора и вставляю ее в терминал, и пока я не нажму enter - команда не исполнится. Я могу ее отредактировать и прочая, а могу и вовсе удалить и закрыть терминал...) Так вот, предложенный выше алиес при вводе этого самого алиеса, команда под ним сразу исполняется, без возможности скорректировать эту самую команду. Понятное дело, что есть команды так как они есть, но и есть команды которые можно и нужно редактировать, к примеру выше описанная мной добавление юзера, или пароля...

Аватара пользователя

BadBird
Сообщения: 3070
Зарегистрирован: 09 сен 2016, 21:08
Решено: 5
Откуда: Грозный
Благодарил (а): 174 раза
Поблагодарили: 568 раз
Контактная информация:

Вопрос по команде history

#13

20 сен 2017, 17:38

sana-555, понятия не имею, дает ли данный терминал редактировать команды, у меня в закладках уже сформированные команды и мне этого вполне хватает, НО дело в том что и двух минут не надо тебе что бы узнать об этом и в случай чего удалить терминатор....

Аватара пользователя

Dja
Сообщения: 6875
Зарегистрирован: 27 авг 2016, 20:03
Решено: 30
Откуда: Voskresensk
Благодарил (а): 1312 раз
Поблагодарили: 724 раза
Контактная информация:

Вопрос по команде history

#14

21 сен 2017, 14:49

sana-555 писал(а): как я понял сразу исполняет команду, без возможности редактировать
сумо ~/PCs/250/public - отмонтирование указанной папки
сумо ~/PCs/250/distrib
в алиасах лишь сумо, которое равно sudo umount
и тд.
пример
17-09-21-004.png

Аватара пользователя

Bill Williamson
Сообщения: 928
Зарегистрирован: 31 авг 2016, 13:38
Решено: 34
Благодарил (а): 288 раз
Поблагодарили: 249 раз
Контактная информация:

Вопрос по команде history

#15

21 сен 2017, 15:39

Bill Williamson писал(а): Если правильно понял вопрос, zsh с его программируемым автодополнением то, что нужно.
Дополню свой ответ. Можно поставить zsh и на него плагин zaw, который выполняет инкрементный поиск по истории, выдавая результаты списком. Из этого списка можно выбрать нужное и комбинацией Alt+Enter вывести на поле ввода для дальнейшего редактирования.
https://www.youtube.com/watch?v=0vWtQ8_kYzk
Изображение

Аватара пользователя

Dja
Сообщения: 6875
Зарегистрирован: 27 авг 2016, 20:03
Решено: 30
Откуда: Voskresensk
Благодарил (а): 1312 раз
Поблагодарили: 724 раза
Контактная информация:

Вопрос по команде history

#16

21 сен 2017, 15:45

Bill Williamson, а в фильтр как попадает?

Аватара пользователя

Bill Williamson
Сообщения: 928
Зарегистрирован: 31 авг 2016, 13:38
Решено: 34
Благодарил (а): 288 раз
Поблагодарили: 249 раз
Контактная информация:

Вопрос по команде history

#17

21 сен 2017, 15:48

Dja писал(а): а в фильтр как попадает?
Из истории zsh.
Изображение

Аватара пользователя

Dja
Сообщения: 6875
Зарегистрирован: 27 авг 2016, 20:03
Решено: 30
Откуда: Voskresensk
Благодарил (а): 1312 раз
Поблагодарили: 724 раза
Контактная информация:

Вопрос по команде history

#18

21 сен 2017, 15:49

Bill Williamson, я это понимаю. Я про сам переход со строки в строку фильтр. Вроде команда никакая не вводится. А фильтр включается.

Аватара пользователя

Автор темы
sana-555
Сообщения: 427
Зарегистрирован: 21 июл 2017, 20:38
Благодарил (а): 385 раз
Поблагодарили: 8 раз
Контактная информация:

Вопрос по команде history

#19

21 сен 2017, 15:55

zsh - это альтернативный терминал?
Bill Williamson писал(а): Из истории zsh.
А свой файлик с командами можно подсунуть? А то в истории много мусорных будет...

Аватара пользователя

Bill Williamson
Сообщения: 928
Зарегистрирован: 31 авг 2016, 13:38
Решено: 34
Благодарил (а): 288 раз
Поблагодарили: 249 раз
Контактная информация:

Вопрос по команде history

#20

21 сен 2017, 15:59

Dja, комбинация вызова фильтра прописывается прямо в zaw.zsh, например так:
bindkey '^R' zaw-history
Сам zsh можно быстро настроить через oh-my-zsh. Еще можно запретить дублирование в истории. Все это гуглится на раз-два.
Изображение

Закрыто

Вернуться в «Системные утилиты»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 8 гостей