Как использовать историю команд в Windows PowerShell

Windows PowerShell имеет встроенную функцию истории команд, которая предоставляет подробную информацию о командах, которые вы выполняли. Как и командная строка, PowerShell запоминает только историю команд для текущего сеанса.

Как использовать буфер командной строки

Технически PowerShell имеет два типа истории команд. Во-первых, это буфер командной строки, который фактически является частью графического терминального приложения PowerShell, а не частью базового приложения Windows PowerShell. Он предоставляет несколько основных функций:

  • Стрелка вверх . Вспомните предыдущую введенную команду. Нажмите клавишу несколько раз, чтобы просмотреть историю команд.
  • Стрелка вниз . Вспомните следующую введенную команду. Нажмите клавишу несколько раз, чтобы просмотреть историю команд.
  • F8 . Найдите в своей истории команд команду, соответствующую тексту в текущей командной строке. Итак, если вы хотите найти команду, которая начинается с «p», вы наберете «p» в командной строке, а затем несколько раз нажмите F8, чтобы просмотреть команды в вашей истории, которые начинаются с «a».

По умолчанию буфер запоминает последние 50 введенных вами команд. Чтобы изменить это, щелкните правой кнопкой мыши строку заголовка окна приглашения PowerShell, выберите «Свойства» и измените значение «Размер буфера» в разделе «История команд».

Как просмотреть историю PowerShell

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

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

 Get-History 

Вы можете выполнить поиск в своей истории, отправив полученный результат в командлет Select-String и указав текст, который вы хотите найти. Замените «Пример» в командлете ниже текстом, который вы хотите найти:

 Get-History | Select-String -Pattern "Пример" 

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

 Get-History | Format-List -Property * 

По умолчанию командлет Get-History отображает только 32 самых последних записи истории. Если вы хотите просмотреть или найти большее количество записей истории, используйте параметр -Count , чтобы указать, сколько записей истории PowerShell должно отображать, например:

 Get-History -Count 1000
Get-History -Count 1000 | Select-String -Pattern "Пример"
Get-History -Count 1000 | Format-List -Property * 

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

Чтобы запустить команду из своей истории, используйте следующий командлет, указав номер Id элемента истории, как показано в командлете Get-History :

 Invoke-History # 

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

 Invoke-History 1; Invoke-History 2 

Как очистить историю PowerShell

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

 Clear-History 

Обратите внимание, что буфер командной строки отделен от истории PowerShell. Таким образом, даже после запуска Очистить историю вы можете продолжать нажимать клавиши со стрелками вверх и вниз для прокрутки введенных вами команд. Однако если вы запустите Get-History , вы увидите, что ваша история PowerShell фактически пуста.

PowerShell не запоминает вашу историю между сессиями. Чтобы стереть обе истории команд для текущего сеанса, все, что вам нужно сделать, это закрыть окно PowerShell.

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

 Clear 

Как сохранить и импортировать историю PowerShell

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

 Get-History | Export-Clixml -Path c: \ users \ name \ desktop \ commands.xml 

Это экспортирует вашу историю команд в виде подробного XML-файла с полями «StartExecutionTime» и «EndExecutionTime» для каждой команды, которые сообщают вам, когда команда была выполнена и сколько времени потребовалось для ее завершения.

После того как вы экспортировали историю PowerShell в такой файл XML, вы (или любой другой пользователь, которому вы отправляете файл XML) можете импортировать ее в другой сеанс PowerShell с помощью командлета Add-History:

 История добавления -InputObject (Import-Clixml -Path C: \ users \ name \ desktop \ commands.xml) 

Если вы выполните командлет Get-History после импорта такого XML-файла, вы увидите, что команды из XML-файла были импортированы в историю текущего сеанса PowerShell.

Оцените статью
TutoryBird.Ru
Добавить комментарий