Как посмотреть историю команд 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.

Источник

История команд Linux

На сегодняшний день большинство дистрибутивов Linux имеют мощный GUI. Тем не менее, как и 20 лет назад, с помощью одного лишь терминала, вы получаете неограниченные возможности для управления системой в Linux.

Каков бы ни был ваш опыт, порой вспомнить ту или иную команду бывает достаточно сложно. Но благодаря функциям командного процессора Bash, история команд Linux превращает использование консоли в невероятно комфортный процесс.

В Bash история команд позволяет существенно сэкономить время и делает процесс работы в командной строке более эффективной. Вам не нужно постоянно вводить одни и те же команды. Нажимая клавиши управления курсором, Bash будет поочередно выводить набранные ранее команды.

История команд Linux

Для просмотра всей истории команд Linux удобнее использовать утилиту history . После выполнения, на экране будет выведена вся история команд Linux. Мы можем ограничить количество выводимых строк. Для примера, команда ниже отобразит список из последних 25 команд:

История команд Linux хранится в файле

/.bash_history . Размер файла ограничен списком из 500 выполненных команд, которые затираются по мере заполнения файла.

Чтобы увеличить количество команд в истории, необходимо добавить в файл

/.bashrc следующие настройки:

Как вы уже успели заметить, история команд Linux не учитывает дату и время выполнения команды. Чтобы добавить дату к списку команд, добавьте в конец

/.bashrc следующую строку:

Применить настройки без перезапуска:

Очистить историю команд Linux

Случаются ситуации, когда необходимо очистить историю команд Linux. Например, некоторые команды могут содержать пароли в открытом для просмотра виде. Выполните одну из команд ниже для полного или частичного удаления истории Bash:

Читайте также:  Как открыть midnight commander linux

По умолчанию, история команд Linux включена, и все команды, которые вы выполняете в командной строке, можно использовать повторно без особых затрат времени на их набор. При желании эту функцию можно отключить. В bash история команд отключается с помощью команды ниже:

Если вы передумаете, история команд Linux включается также легко, просто выполните команду:

Источник

Команда history в 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 вместо команды sudo, вы вы можете повторить команду, используя правильное слово с:

Используйте команду grep для фильтрации вывода. Например, чтобы просмотреть все команды, включая «nano», вы должны выполнить:

Теперь, если вы хотите перезапустить команду nano setup.py, просто наберите:

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

Оболочка отобразит соответствующую строку. Чтобы перейти к следующему предложению, нажмите еще раз Ctrl-R.

Обратитесь к руководству по Bash для получения дополнительной информации о расширении history, модификаторах и обозначениях.

Сохранение списка истории

По умолчанию при запуске нового сеанса Bash читает список истории из файла .bash_history. Список команд, которые выполняются в текущем сеансе, сохраняется в памяти и сохраняется в файл при закрытии сеанса.

Если вы открыли несколько сеансов оболочки, сохраняется только история сеанса, который был закрыт последним.

Опция -a позволяет сохранить текущий список истории сеанса в файл .bash_history:

Вариант -w записывает полный список истории в файл истории.

Очистка истории

Команда history позволяет очистить полный список истории или удалить определенные части.

Чтобы очистить список истории, используйте параметр -c:

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

Например, чтобы удалить строки между 365 и 375 (включая эти строки), введите:

Если вы указываете только один номер опции -d, команда удаляет данную строку.

Когда используется отрицательное целое число, строки отсчитываются от конца списка истории.

Приведенные выше команды очищают список истории, который хранится в памяти, но не удаляет записи из файла .bash_history на диске. Чтобы очистить файл, вам нужно записать список истории в файл:

Изменение поведения history

Поведение history в Bash можно определить с помощью нескольких различных переменных среды. При изменении поведения истории установите переменные в файле конфигурации

/.bashrc, который загружается при входе пользователя в систему.

По умолчанию Bash хранит 500 строк в списке истории команд. Переменная HISTSIZE позволяет изменять это значение. Чтобы установить его на 10000, добавьте следующую строку в ваш файл .bashrc:

Читайте также:  Windows 10 home 64 bit оригинальный образ 2020

Переменная HISTCONTROL принимает разделенный двоеточиями список значений, которые определяют, каким образом команды сохраняются в списке истории: команды – ignorespace-, которые начинаются с пространством, не сохраняются в списке истории. – ignoredups- дублирующие команды не сохраняются. – ignoreboth это стенография, включающая в себя ignorespace и ignoredups.

Когда переменная HISTTIMEFORMAT установлена, Bash добавляет метку времени выполнения команды в каждой строке.

Например, если вы установите:

История будет отображаться в следующем формате:

Заключение

Команда history отображает список ранее выполненных команд. Например, вы можете использовать историю, чтобы просмотреть длинную команду, которую вы использовали до того, что вы не можете вспомнить.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

Запускаем и ищем предыдущие команды в Linux

Работу в командной строке можно сделать немного эффективнее и быстрее, если знать несколько простых хитростей. Рассмотрим, как быстро запускать предыдущие команды, как выполнять поиск по истории команд.

Повторный запуск команды без указания аргументов. Используем «!»

!команда — используется для выполнения команды с аргументами, которые использовались при последнем запуске.

Предположим, мы выполняем какие-нибудь команды и дополняем их аргументами. Например, мы решили отредактировать файл myfile.txt в текстовом редакторе nano. Для этого мы выполняем:

Далее мы можем выполнять еще какие-нибудь команды, затем снова хотим выполнить nano, чтобы открыть в нем файл myfile.txt. Мы можем воспользоваться волшебным «!». Для этого достаточно написать восклицательный знак и без пробела название команды:

В результате будет вызвана команда nano с теми аргументами, с которыми она вызвалась последний раз, то есть в нашем случае !nano будет аналогично вызову nano /home/pingvinus/path/to/file/myfile.txt.

Выполнение предыдущей команды. Используем «!!»

!! — используется, чтобы выполнить предыдущую команду. Можно использовать в тексте другой команды.

Про два восклицательных знака я уже рассказывал. Например, вы вызвали команду:

И забыли написать в начале sudo. Чтобы не перепечатывать всю команду, можно выполнить:

Отмечу, что !! можно использовать прямо внутри текста команды. Например, мы перейдем в домашнюю директорию пользователя pingvinus:

А теперь войдем в папку /home/pingvinus/Downloads вот таким образом:

Поиск по истории команд. Команда history

history — поиск по истории команд — предназначена для вывода истории команд, поиска по ним и быстрого запуска предыдущих команд.

Если мы выполним history, то на экран будет выведен список последних введенных вами команд:

Каждая команда пронумерована. Чтобы вызвать какую-нибудь команду из списка достаточно выполнить в командной строке: !номер. Например выполним команду под номером 139:

Можно указать номер с минусом. Например, выполнив !-2 мы выполним пред-предыдущую команду. Выполнив, !-1 мы выполним предыдущую команду, это эквивалентно команде !!, описанной выше.

Для поиска по истории можно воспользоваться утилитой grep:

У команды history есть еще несколько дополнительных возможностей. Почитать руководство по history можно, выполнив man history.

Поиск по истории. Сочетание клавиш Ctrl+R

Ctrl+R — сочетание клавиш, которое используется для вызова «интерактивного» поиска по истории команд.

Нажмите Ctrl+R, находясь в командной строке. В результате на экране отобразится приглашение к поиску команды:

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

Источник

Команда History в Linux (История Bash)

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

В этой статье мы поговорим о команде history , которая позволяет просматривать список ранее выполненных команд, выполнять поиск по списку и управлять файлом истории.

Использование команды history и расширений истории

history — это встроенная оболочка, и ее поведение может немного отличаться от оболочки к оболочке. Мы рассмотрим встроенную в Bash версию history .

Читайте также:  Windows 10 ltsc различия

В простейшей форме при вызове без какой-либо опции или аргумента команда 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 отображает список ранее выполненных команд. Например, вы можете использовать историю, чтобы просмотреть длинную команду, которую вы использовали раньше, но не можете вспомнить.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Источник

Оцените статью