Поделиться через


о_Истории

Краткое описание

Описывает, как получить и выполнить команды в журнале команд.

Длинное описание

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

PowerShell имеет два разных поставщика журнала: встроенный журнал и журнал, управляемый модулем PSReadLine. Журналы управляются отдельно, но обе истории доступны в сеансах, в которых загружается PSReadLine.

Использование журнала PSReadLine

Журнал PSReadLine ведёт историю команд, использованных во всех сеансах PowerShell. История записывается в центральный файл для каждого хоста. Этот файл истории доступен для всех сеансов и содержит всю прошлую историю. Журнал не удаляется при завершении сеанса. Кроме того, этой историей не могут управлять командлеты *-History. Дополнительные сведения см. в разделе about_PSReadLine.

Использование встроенного журнала сеансов

Встроенный журнал отслеживает только команды, используемые в текущем сеансе. Журнал недоступен другим сеансам и удаляется при завершении сеанса.

Командлеты истории

PowerShell содержит набор командлетов, которые управляют журналом команд.

Командлет Псевдоним Описание
Get-History h Возвращает журнал команд.
Invoke-History r Выполняет команду из журнала команд.
Add-History Добавляет команду в журнал команд.
Clear-History clhy Удаляет команды из журнала команд.

Сочетания клавиш для управления журналом

В консоли PowerShell можно использовать следующие сочетания клавиш для управления журналом команд.

  • UpArrow — отображает предыдущую команду.
  • DownArrow — отображает следующую команду.
  • F7 — отображает журнал команд.
  • ESC — скрыть историю.
  • F8 — находит команду. Введите один или несколько символов, а затем нажмите клавишу F8 . Нажмите F8 еще раз в следующий раз.
  • F9 — поиск команды по идентификатору журнала. Введите идентификатор журнала, а затем нажмите клавишу F9 . Нажмите F7, чтобы найти идентификатор.
  • # <string> вкладка — выполните поиск по истории *<string>* и верните последнее совпадение. Если вы нажимаете вкладку неоднократно, происходит переключение между соответствующими элементами в журнале.

Заметка

Эти ключевые привязки реализуются приложением узла консоли. Другие приложения, такие как Visual Studio Code или терминал Windows, могут иметь разные ключевые привязки. Привязки можно переопределить модулем PSReadLine. PSReadLine загружается автоматически при запуске сеанса PowerShell. При загрузке PSReadLine F7 и F9 не привязаны к какой-либо функции. PSReadLine не предоставляет эквивалентную функциональность. Дополнительные сведения см. в разделе about_PSReadLine.

МаксимальноеКоличествоИстории

Переменная предпочтения $MaximumHistoryCount определяет максимальное количество команд, сохраненных PowerShell в журнале команд. Значение по умолчанию — 4096.

Например, следующая команда снижает $MaximumHistoryCount до 100 команд:

$MaximumHistoryCount = 100

Чтобы применить этот параметр, перезапустите PowerShell.

Чтобы сохранить новое значение переменной для всех сеансов PowerShell, добавьте инструкцию назначения в профиль PowerShell. Дополнительные сведения о профилях см. в about_Profiles.

Дополнительные сведения о переменной предпочтения $MaximumHistoryCount см. в about_Preference_Variables.

Порядок команд в истории

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

См. также