Linux история команд всех пользователей

Содержание
  1. История команд в Linux или Учитесь использовать уже выполненное вами ранее
  2. IT-поддержка
  3. Команда History в Linux-терминале, или Как узнать последние команды
  4. Эффективное использование истории команд в Linux
  5. Что такое история команд
  6. Как читать историю команд
  7. Как просмотреть последние n команд
  8. Как повторно выполнить введенную ранее команду
  9. Повтор последней команды
  10. Как повторить последнюю команду, используя ее номер
  11. Поиск и выполнее ранее введенных команд
  12. Как заменить строку и выполнить ранее введенную команду
  13. Вывод подходящих строк с помощью команды grep
  14. Как в истории команд отобразить дату и время
  15. Как использовать историю команд YUM для отката обновлений
  16. Как просмотреть историю команд других пользователей
  17. Как искать в истории Bash
  18. Команда History в Linux (Bash History)
  19. History Command in Linux (Bash History)
  20. В этой статье мы поговорим о history команде, которая позволяет просматривать список ранее выполненных команд, осуществлять поиск по списку и манипулировать файлом истории.
  21. Использование history команд и расширений истории
  22. Сохранение списка истории
  23. Очистка истории
  24. Изменение истории поведения
  25. Вывод

История команд в Linux или Учитесь использовать уже выполненное вами ранее

Автор: Нагибин Владимир . Дата статьи: 24.02.2010 г.

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

Хорошую возможность не тратить время на набор одних и тех же команд подарили нам разработчики оболочки bash. Они предоставили возможность использовать историю команд, чтобы сократить время набора команд и сделать работу в командной строке более эффективной.

Сегодня мы поговорим о истории команд в Linux и научимся эффективно управлять ею.

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

Историю команд в Linux можно отключить, выполнив в командной строке команду:

$ set o history

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

$ set -o history

Как вы знаете, ничего не бывает бесконечного, и размер истории команд в Linux не исключение. Одна из переменных окружения, имеющая название HISTSIZE, хранит в себе количество выполненных команд. По умолчанию, ее значение — 1000, но в некоторых дистрибутивах встречается и значение 500. Вы можете посмотреть значение переменной HISTSIZE в вашей системе, выполнив в командной строке следующую команду:

$ echo $HISTSIZE

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

Если вы хотите посмотреть все содержимое истории, выполните в командной строке команду:

$ history

Для того, чтобы показать последние 12 выполненных команд, выполните:

$ history 12

Может случиться так, что вы случайно, вместо команды, наберете свой пароль.. Оставлять свой пароль где-либо — дурная примета и исправить вам это поможет команда:

$ history -d257

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

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

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

$ !-2

Если это будет двадцатая, с конца списка истории, команда, то вам поможет выполнение следующей команды:

$ !-20

Команду, выполненную ранее и начинающуюся с букв sud (многие догадались что это за команда?), вы можете повторить, используя следующую команду:

$ !sud

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

К примеру, вы добавили в систему несколько пользователей и назначали им пароль. Но после ввода последнего пароля, вы решили изменить пароль одному из пользователей (предположим его логин andy). В этом случае вам поможет следующая реализация:

$ !?andy

она позволит повторить команду passwd andy, выполненную вами ранее. Или, к примеру, выполненную ранее команду:

# less /var/log/messages | grep tty1

вам позволит повторить следующая команда:

# !?messages?

Работая с историей команд Linux, вы можете редактировать ее, используя для этого комбинации клавиш. Вот некоторые из них (приведен список основных комбинаций клавиш редактора Emacs):

Ctrl f — перемещение вправо на один символ;

Читайте также:  Как удалит windows mobile

Ctrl b — перемещение влево на один символ;

Ctrl a (или клавиша Home) — перемещение на начало строки;

Ctrl e (или клавиша End) — перемещение в конец строки;

Alt f — перемещение на начало предыдущего слова;

Alt-b — перемещение на начало последующего слова;

Ctrl d (или клавиша Delete) — удаление символа, на котором стоит курсор;

Ctrl k — удаление всех символов справа от курсора до конца строки с запоминанием удаленного для дальнейшего использования;

Alt d — удаление символов справа от курсора до конца текущего слова с запоминанием удаленного для дальнейшего использования;

Ctrl y — вставка удаленных символов и слов, удаленных при помощи двух предыдущих комбинаций.

Использование истории команд, на мой взгляд, крайне удобно в работе и помогает экономить время.

Понравилась статья? Оставайтесь со мной на Linuxway.ru, подписавшись на новые материалы сайта по RSS. Или просто добавьте статью в свои любимые закладки:

IT-поддержка

Оказываем квалифицированную помощь в поддержке Вашей IT-инфраструктуры

Источник

Команда 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

Оригинал: How To Use History Command Effectively In Linux
Автор: Magesh Maruthamuthu
Дата публикации: 28 февраля 2018 года
Перевод: А. Кривошей
Дата перевода: октябрь 2018 г.

Большинство администраторов Linux-серверов проводят много времени в командной строке, поэтому история команд — важная вещь для них.

BASH (Bourne Again SHell) — это оболочка командной строки, которая используется по умолчанию в большинстве основных дистрибутивов Linux.

Что такое история команд

Команда history используется для отображения журнала команд Bash, которые вы набирали ранее. Этот журнал называется «историей», которая позволяет нам быстро увидеть, какие команды выполнялись ранее в системе. Когда вы закрываете сеанс терминала, BASH записывает все команды, которые вы выполнили, в файл

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

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

Запустите команду history без каких-либо параметров для просмотра команд, которые вы запускали ранее. Если у вас огромные журналы истории команд, вы не можете их нормально просмотреть. В этом случае вы должны использовать команды просмотра файлов, такие как less, more и т. д.

Читайте также:  Mac os bootcamp windows 7 не грузится

Как просмотреть последние n команд

По умолчанию команда history показывает последние 1000 выполненных нами команд. Если вы хотите dsdtcnb только n команд, введите число n после команды history. Например, чтобы отобразить последние 10 команд, введите:

Как повторно выполнить введенную ранее команду

С помощью клавиш стрелок вверх и вниз перейдите к нужной команде. Затем нажмите Enter, чтобы выполнить ее или клавиши со стрелками влево и вправо, чтобы отредактировать команду.

Повтор последней команды

Повторить последнюю команду, которую вы выполнили, введите !! — двойной восклицательный знак.

Как повторить последнюю команду, используя ее номер

Повторите ранее выполненную команду, используя ее номер. Это позволит быстро запустить ранее выполненную команду, вместо ввода всей команды.

Поиск и выполнее ранее введенных команд

История команд предлагает множество вариантов поиска. Она позволяет нам выполнять поиск и выполнять ранее выполненные команды. Можно выполнить команду, которая соответствует строке в начале команды. Или выполнить команду, которая соответствует заданной строке

Чтобы выполнить эту операцию, я взял последние 30 команд в истории.

1) Предположим, вы хотите запустить команду, которая соответствует строке в начале команды. Используйте приведенный ниже формат. В нем будет запущена последняя команда, начинающаяся со строки doc.

В моем случае она выполнит команду запуска docker, которая находится в строке 756.

2) Если вы хотите запустить команду, которая соответствует заданной строке, используйте следующий формат команды:

В моем случае она выполнит команду docker ps, которая находится в строке 754.

Как заменить строку и выполнить ранее введенную команду

Если вы хотите повторить последнюю команду с новой строкой, просто замените string1 на string2 (эквивалентно «. s/string1/string2/»).

Используйте следующий формат команды. В приведенном ниже примере сначала я запустил образ Fedora docker, а затем запустил образ Centos docker, заменив строку Fedora на CentOS.

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

В моем случае строка 821 истории команд была fedora docker container. Чтобы запустить centos container, просто замените слово fedora на centos.

Вывод подходящих строк с помощью команды grep

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

Как в истории команд отобразить дату и время

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

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

Как использовать историю команд YUM для отката обновлений

Yum (Yellowdog Update Modified) — утилита для управления пакетами RPM в системах CentOS и Red Hat, история команд Yum позволяет администратору откатить систему в предыдущее состояние, но из-за некоторых ограничений откат работает не во всех ситуациях, то есть команда yum может просто ничего не делать, или она может удалить не те пакеты, которые вы ожидаете.

Как просмотреть историю команд других пользователей

Используйте следующий формат команды, чтобы просмотреть историю команд других пользователей:

Как искать в истории Bash

Мы можем выполнить поиск ранее выполненной команды с использованием ключевого слова, нажав CTRL-r (этот поиск отображает самый последний найденный результат). Нажмите CTRL-r еще раз, чтобы увидеть следующий результат.

Источник

Команда History в Linux (Bash History)

History Command in Linux (Bash History)

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

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

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

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

Читайте также:  Usb input device consumer control windows

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

Источник

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