- Команда History в Linux-терминале, или Как узнать последние команды
- Команда History в Linux (Bash History)
- History Command in Linux (Bash History)
- В этой статье мы поговорим о history команде, которая позволяет просматривать список ранее выполненных команд, осуществлять поиск по списку и манипулировать файлом истории.
- Использование history команд и расширений истории
- Сохранение списка истории
- Очистка истории
- Изменение истории поведения
- Вывод
- Команда History в Linux (История Bash)
- Использование команды history и расширений истории
- Сохранение списка истории
- История очистки
- Изменение поведения в истории
- Выводы
- Команда history в Linux
- Синтаксис
- Примеры
Команда History в Linux-терминале, или Как узнать последние команды
Часто приходится набирать длинные команды, а вспомнить их или повторить такой же набор команд иногда не так просто, особенно если вы вводили их впервые. Поэтому было бы удобно заглянуть в историю и узнать последние команды в терминале Linux. Для этого в терминале можно набрать history, и мы получим последние 500 (по умолчанию) использованных команд.
Кстати, список этих команд можно ещё глянуть и в файлике .bash_history. Он хранится в домашней папке пользователя:
Давайте посмотрим на эту команду history в действии. После ее набора вы увидите, как описано выше, 500 последних команд, набранных в консоли Linux. Если вы хотите, то можно просто нажать «Вверх» и «Вниз», чтобы пролистать предыдущие команды без использования history. Выйти из просмотра команды истории можно, нажав клавишу Q.
Если вы хотите увидеть историю на одной странице, а не огромным списком, то используйте команду history | less. Так на экране будет показываться столько строк результата команды history, сколько в него помещается, а чтобы увидеть список дальше, нажимайте клавишу «Пробел» (Spacebar). Для выхода нужно также нажать клавишу Q.
Чтобы увидеть только последние 10 строк, используйте следующий ход:
Для просмотра последних 25 строк введите:
Теперь у нас есть очень простой способ узнать последние команды в терминале Linux. А теперь разберем удобный способ повторить нужные команды без копипаста. Как вы возможно заметили команды выводятся двумя колонками, где первая колонка отображает порядковый номер команды, а вторая саму команду.
Так вот, чтобы легко повторить любую команду из истории, достаточно просто узнать ее порядковый номер, ввести в терминал восклицательный знак и номер команды. Например, если нужная нужная команда находится под номером 217, то вводим:
Простой способ повторить команду в терминале Linux
И команда запускается вновь. Можно запомнить номер команды и постоянно его использовать, но я вам рекомендую прописывать алиасы в bashrc.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник
Команда History в Linux (Bash History)
History Command in Linux (Bash History)
В этой статье мы поговорим о history команде, которая позволяет просматривать список ранее выполненных команд, осуществлять поиск по списку и манипулировать файлом истории.
Если вы проводите много времени в командной строке, просмотр истории команд, которые вы ранее выполняли, может быть полезной функцией, которая может упростить вашу повседневную работу и повысить производительность.
Использование history команд и расширений истории
history является встроенной оболочкой, и ее поведение может немного отличаться от оболочки к оболочке. Мы рассмотрим встроенную версию Bash history .
В простейшей форме, когда вызывается без каких-либо параметров или аргументов, history команда отображает весь список истории с номерами строк.
При наборе !n выполняется n-я команда из списка истории, а !-n команда n строк назад. В следующем примере мы выполняем команду на линии 467 :
Другой способ выполнить команду — использовать !word расширение. word относится к самой последней команде, начинающейся со слова.
Как правило, history отображает много строк вывода, которые не помещаются на экране. Чтобы просмотреть выходные данные по одной странице за раз, передайте их в пейджерную программу, например, more или less команду:
Чтобы отобразить последние n строки, передайте число в качестве аргумента команде. Например, чтобы просмотреть только последние пять строк из списка истории, введите:
Используйте клавиши со стрелками up и down для навигации по записям в списке. Когда появится команда, которую вы искали, нажмите, Enter чтобы выполнить ее.
Введите !! для выполнения предыдущей команды:
Это особенно полезно, когда вы забыли добавить команду sudo , и вместо повторного ввода команды вы можете набрать:
!-1 то же самое, что !! и выполняет последнюю команду из списка истории, от !-2 второй до последней и т. д.
^word1^word2^ Расширение позволяет повторно запустить последнюю команду, заменив «word1» на «word2». Если вы случайно набрали sduo command вместо sudo command вас, вы можете повторить команду, используя правильное слово с:
Используйте grep команду для фильтрации вывода. Например, чтобы просмотреть все команды, включая «nano», вы должны выполнить:
Теперь, если вы хотите перезапустить nano setup.py команду, просто наберите:
Другой способ поиска по истории команд — нажать Ctrl-R . Приглашение изменится на следующее, и вы сможете начать поиск ранее выполненной команды.
Оболочка отобразит соответствующую строку. Чтобы перейти к следующему согласованному предложению, нажмите еще Ctrl-R раз.
Обратитесь к руководству Bash для получения дополнительной информации о расширении истории , модификаторах и обозначениях.
Сохранение списка истории
По умолчанию при запуске нового сеанса Bash читает список истории из .bash_history файла. Список команд, которые выполняются в текущем сеансе, сохраняется в памяти и сохраняется в файл при закрытии сеанса.
Если вы открыли несколько сеансов оболочки, сохраняется только история сеанса, который был закрыт последним.
-a Опция позволяет сохранить текущий список истории сеанса в .bash_history файл:
-w Вариант записывает полный список истории в файл истории.
Очистка истории
Команда history позволяет очистить полный список истории или удалить определенные части.
Чтобы очистить список истории, используйте -c параметр:
Чтобы удалить определенную строку или строки между начальной и конечной позициями из списка истории, используйте -d параметр.
Например, чтобы удалить строки между 365 и 375 (включая эти строки), введите:
Если вы указываете только один номер -d опции, команда удаляет данную строку.
Когда используется отрицательное целое число, строки отсчитываются от конца списка истории.
Приведенные выше команды очищают список истории, который хранится в памяти, но не удаляет записи из .bash_history файла на диске. Чтобы очистить файл, вам нужно записать в файл список истории:
Изменение истории поведения
Поведение истории Bash может быть определено с использованием нескольких различных переменных среды . При изменении поведения истории установите переменные в
/.bashrc любом другом файле конфигурации, который загружается при входе пользователя в систему.
По умолчанию Bash хранит 500 строк в списке истории команд. HISTSIZE Переменная позволяет изменять это значение. Чтобы установить его на 10000, добавьте следующую строку в ваш .bashrc файл:
HISTCONTROL Переменная принимает разделенный двоеточиями список значений , которые определяют , каким образом команды сохраняются в списке истории:
- ignorespace — команды, начинающиеся с пробела, не сохраняются в списке истории.
- ignoredups — дубликаты команд не сохраняются.
- ignoreboth — это стенография, включающая в себя ignorespace и ignoredups .
Когда HISTTIMEFORMAT переменная установлена, Bash добавляет метку времени выполнения команды в каждой строке.
Например, если вы установите:
История будет отображаться в следующем формате:
Вывод
Команда history отображает список ранее выполненных команд. Например, вы можете использовать историю, чтобы просмотреть длинную команду, которую вы использовали до того, что вы не можете вспомнить.
Источник
Команда History в Linux (История Bash)
Если вы проводите много времени в командной строке, просмотр истории команд, которые вы ранее запускали, может быть полезной функцией, которая может упростить вашу повседневную работу и повысить вашу производительность.
В этой статье мы поговорим о команде history , которая позволяет просматривать список ранее выполненных команд, выполнять поиск по списку и управлять файлом истории.
Использование команды history и расширений истории
history — это встроенная оболочка, и ее поведение может немного отличаться от оболочки к оболочке. Мы рассмотрим встроенную в Bash версию history .
В простейшей форме при вызове без какой-либо опции или аргумента команда history отображает весь список истории с номерами строк.
При вводе !n выполняется n-я команда из списка истории, а !-n команда возвращается на n строк. В следующем примере мы выполняем команду в строке 467 :
Другой способ выполнить команду — использовать расширение !word . word относится к самой последней команде, начинающейся с слова.
Обычно в history отображается много строк вывода, которые не помещаются на экране. Чтобы просмотреть вывод по одной странице за раз, направьте его в программу пейджера, например, команду more или less :
Чтобы отобразить последние n строк, передайте число в качестве аргумента команды. Например, чтобы просмотреть только последние пять строк из списка истории, введите:
Используйте клавиши со стрелками up и down для перемещения по записям в списке. Когда отобразится искомая команда, нажмите Enter чтобы выполнить ее.
Типа !! для выполнения предыдущей команды:
Это особенно полезно, когда вы забываете привязать команду к sudo и вместо повторного ввода команды можете ввести:
!-1 совпадает с !! и выполняет последнюю команду из списка истории !-2 секунды до последней и так далее.
^word1^word2^ позволяет повторно запустить последнюю команду, заменив «word1» на «word2». Если вы случайно набрали sduo command вместо команды sudo command вы можете повторить команду, используя правильное слово:
Используйте команду grep для фильтрации вывода. Например, чтобы просмотреть все команды, включая «nano», вы должны выполнить:
Теперь, если вы хотите повторно запустить команду nano setup.py просто введите:
Другой способ поиска в истории команд — нажать Ctrl-R . Приглашение изменится на следующее, и вы сможете начать поиск ранее выполненной команды.
Оболочка отобразит соответствующую строку. Чтобы перейти к следующему подходящему предложению, снова нажмите Ctrl-R .
Обратитесь к руководству Bash для получения дополнительной информации о расширении истории , модификаторах и позиционных обозначениях.
Сохранение списка истории
По умолчанию при запуске нового сеанса Bash читает список истории из файла .bash_history . Список команд, которые выполняются в текущем сеансе, хранятся в памяти и сохраняются в файле при закрытии сеанса.
Если вы открыли несколько сеансов оболочки, сохраняется только история сеанса, который был закрыт последним.
Параметр -a позволяет сохранить список истории текущего сеанса в файл .bash_history :
Параметр -w записывает полный список истории в файл истории.
История очистки
Команда history позволяет очистить полный список истории или удалить определенные части.
Чтобы очистить список истории, используйте параметр -c :
Чтобы удалить определенную строку или строки между начальной и конечной позициями из списка истории, используйте параметр -d .
Например, чтобы удалить строки между 365 и 375 (включая эти строки), вы должны ввести:
Если вы укажете только одно число для опции -d , команда удалит данную строку.
Когда используется отрицательное целое число, строки отсчитываются от конца списка истории.
Приведенные выше команды очищают список истории, который хранится в памяти, но не удаляют записи из файла .bash_history на диске. Чтобы очистить файл, вам нужно записать в файл список истории:
Изменение поведения в истории
Поведение истории Bash можно определить с помощью нескольких различных переменных среды . При изменении поведения истории установите переменные в
/.bashrc или любом другом файле конфигурации, который загружается при входе пользователя в систему.
По умолчанию Bash сохраняет 500 строк в списке истории команд. Переменная HISTSIZE позволяет вам изменять это значение. Чтобы установить значение 10000, добавьте в файл .bashrc следующую строку:
Переменная HISTCONTROL принимает список значений, разделенных двоеточиями, которые определяют способ сохранения команд в списке истории:
- ignorespace — команды, начинающиеся с пробела, не сохраняются в списке истории.
- ignoredups — повторяющиеся команды не сохраняются.
- ignoreboth — это сокращение, включая как ignorespace и ignoredups .
Когда HISTTIMEFORMAT переменная HISTTIMEFORMAT , Bash HISTTIMEFORMAT времени выполнения команды в каждой строке.
Например, если вы установите:
История будет отображаться в следующем формате:
Выводы
Команда history отображает список ранее выполненных команд. Например, вы можете использовать историю, чтобы просмотреть длинную команду, которую вы использовали раньше, но не можете вспомнить.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Источник
Команда history в Linux
В операционной системе Linux в терминальном режиме есть возможность посмотреть историю команд. Все последние команды (около 1000 по умолчанию), которые вводились в командной строке сохраняются, их можно вывести на экран. Чтобы не вводить сложные названия утилит вместе с опциями, система позволяет вернуть раннее введенную команду и выполнить ее еще раз.
Синтаксис
Рассмотрим синтаксис утилиты history (History Library).
- -a — включить в файл bash новый запрос;
- -c — удалить историю введенных раннее команд;
- -d — очистить из истории определенную строку с заданным идентификатором;
- -n — читает все запросы из файла и добавляет в текущyю сессию;
- -r — читает все команды из файла и добавляет в текущий список.
- -w — записывает всю историю в файл, который указан в качестве аргумента. Например «history -w newfile».
Файл — это необязательный аргумент, его можно не указывать.
В качестве аргументу можно указать в какой документ записать запрос.
По умолчанию все записывается в домашний каталог пользователя в файл .bash_history. Если нужно изменить максимальный размер файла, то все настройки хранятся в «.bashcr».
В документе bashcr видим:
- «HISTSIZE=1000» — максимальное число строк, хранящихся в памяти оболочки;
- «HISTFILESIZE=2000» — максимальное число записей, хранящихся в файле.
Примеры
Для первого примера, посмотрим всю историю последних 1000 строк. Введем название утилиты без аргументов.
Визуально смотреть текст из 1000 строк сразу неудобно, поэтому покажем на экране 5 последних запросов. Синтаксис будет выглядеть так:
history 5
На скриншоте видим два столбика:
- 501, 502,503 — номер запроса, согласно истории;
- cd . clear — название запроса.
Выполним команду под номером 504 «clear» очистка экрана. Для этого введем восклицательный знак и номер.
Внимание! Написать все нужно слитно без пробела.
Чтобы удалить всю историю, необходимо использовать ключ «-c».
Если нужно очистить только какую-нибудь определенную команду, то пишем название утилиты с ключом «-d». Например удалим запрос под номером 503.
Для поиска введенных раннее команд, можно воспользоваться дополнительной утилитой grep. Найдем все, что совпадает с «ls».
history | grep ls
Другой вариант выполнить поиск, использовать конструкцию «!?».
Более простой способ поиска по истории через оболочку терминала. Можно нажать горячие клавиши Ctrl + r. На экране появиться надпись: «(reverse-i-search)». Набирая символы с клавиатуры — оболочка будет выводить на экран подходящие команды из истории.
Если нажать на клавишу вверх в терминале Linux — оболочка покажет последний запрос. Таким образом можно перебирать введенные раннее команды.
Источник