Добавить в корзинуПозвонить
Найти в Дзене
Linux : консольная магия

Консольная history или вспомнить всё.

Слово - не воробей,вылетит - не поймаешь. Я как-то это делал , но не помню как...Эээх,опять гуглить.. Это не про вас если вы знакомы с таким элементом консольной магии как команда history. Если же не знакомы, то думаю, вы догадались, что данная команда хранит магические команды,которые когда-либо запускались : большие и маленькие, ваши и чужие,давние и не очень. За время работы я наловчился использовать некоторые магические фишки, которыми и хочу поделиться. Также в конце будет немного про тюнинг, как говорится, не переключайтесь. Наберите в консоли history и на вашем экране , скорей всего ,появится пронумерованный список команд. Пронумерован список не просто так( как и всё в Linux ) Во-первых, команда выводит только конкретное количество последних команд, которые вводились в консоли. По умолчанию показывается 500 строк. С помощью команды history 20 можно посмотреть последние 20 команд, которые были запущены на этом терминале. Во-вторых , используя номер ,можно выполнить к

Слово - не воробей,вылетит - не поймаешь. Я как-то это делал , но не помню как...Эээх,опять гуглить..

Это не про вас если вы знакомы с таким элементом консольной магии как команда history.

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

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

Наберите в консоли history и на вашем экране , скорей всего ,появится пронумерованный список команд.

-2

Пронумерован список не просто так( как и всё в Linux )

Во-первых, команда выводит только конкретное количество последних команд, которые вводились в консоли. По умолчанию показывается 500 строк.

С помощью команды history 20 можно посмотреть последние 20 команд, которые были запущены на этом терминале.

Во-вторых , используя номер ,можно выполнить команду ,просто указав её номер;

-3

Чтобы просто выполнить последнюю команду наберите !!, для запуска команды , которая начинается , например со слова ping !?pin.

-4

Будьте аккуратны при использовании такого запуска, и выражение "Акелла промахнулся" будет не про вас.

Для запуска команд мне больше нравится вариант с использованием сочетания клавиш Ctrl+R. Попробуйте нажать и начните вводить какую-нибудь команду, которую вы уже запускали.

Уверяю, вам понравится.Продолжайте нажимать Ctrl+R для дальнейшего поиска вверх.

-5

Чтобы сразу вывести все команды,которые содержат например cat, достаточно набрать history | grep cat.

Также по history можно передвигаться с помощью стрелок Up и Down.

-----

В самом начале статьи я говорил про свою и чужую историю...

История выполнения команд хранится в файле для каждого пользователя в домашней директории в файле .bash_history , либо в любом другом , который вы укажете ( но об этом позже )

-6

Данные сохраняются/сбрасываются в этот файл только после закрытия терминальной сессии. Если вы хотите сохранить ну вот прям сейчас, то нужно выполнить history -a.

Для очистки history полезен ключ , но удалится только текущая история для текущей терминальной сессии, в файле все останется в сохранности.

Для загрузки данных из файла истории можно воспользоваться ключом -r,

и, вуаля, ваша история вновь доступна.

Бывает , что явно вводится пароль , а консоль чужая, и мы то уже знаем, что консоль помнит всё. Чтобы затереть конкретную команду, используем ключ -d и номер команды :

-7

---------------------------

Ну и немного про тюнинг.

Внешний вид и поведение команды history можно настроить через переменные окружения, которые зачитываются при создании терминальной сессии или можно задать в рамках текущей с помощью команды export.

Для начала увеличим размер команды history до 1000 строк:

export HISTSIZE=1000

Также увеличим количество строк в файле

export HISTFILESIZE=1000

Теперь переопределим файл (хотя вот его бы я как раз бы не трогал) :

export HISTFILE=~/.tux_history

Ну и напоследок самое вкусное, важно вспомнить не только как ты это сделал, но и когда. Для этих целей добавим вывод даты :

export HISTTIMEFORMAT='%F %T '

-8

Ну а чтобы не набирать постоянно эти строки, сохраните их в ваш ~/.bashrc и они будут с вами при каждом запуске оболочки bash.

Вот и вся маленькая история о консольной history.

Спасибо, что дочитали,подписывайтесь, если хотите . Есть еще немного и других историй.