about_History

간단한 설명

명령 기록에서 명령을 가져와서 실행하는 방법을 설명합니다.

자세한 설명

명령 프롬프트에서 명령을 입력하면 PowerShell은 명령 기록에 명령을 저장합니다. 기록의 명령을 작업의 레코드로 사용할 수 있습니다. 또한 명령 기록에서 명령을 회수하고 실행할 수 있습니다.

PowerShell에는 기본 제공 기록 및 PSReadLine 모듈에서 관리하는 기록이라는 두 가지 기록 공급자가 있습니다. 기록은 별도로 관리되지만 PSReadLine이 로드되는 세션에서 두 기록을 모두 사용할 수 있습니다.

PSReadLine 기록 사용

PSReadLine 기록은 모든 PowerShell 세션에서 사용되는 명령을 추적합니다. 기록은 호스트당 중앙 파일에 기록됩니다. 해당 기록 파일은 모든 세션에서 사용할 수 있으며 모든 과거 기록을 포함합니다. 세션이 종료되면 기록이 삭제되지 않습니다. 또한 해당 기록은 cmdlet에서 *-History 관리할 수 없습니다. 자세한 내용은 about_PSReadLine을 참조하세요.

기본 제공 세션 기록 사용

기본 제공 기록은 현재 세션에서 사용되는 명령만 추적합니다. 기록은 다른 세션에서 사용할 수 없으며 세션이 종료되면 삭제됩니다.

기록 Cmdlet

PowerShell에는 명령 기록을 관리하는 cmdlet 집합이 있습니다.

Cmdlet Alias 설명
Get-History h 명령 기록을 가져옵니다.
Invoke-History r 명령 기록에서 명령을 실행합니다.
Add-History 명령 기록에 명령을 추가합니다.
Clear-History clhy 명령 기록에서 명령을 삭제합니다.

기록 관리를 위한 바로 가기 키

PowerShell 콘솔에서 다음 바로 가기를 사용하여 명령 기록을 관리할 수 있습니다.

  • UpArrow - 이전 명령을 표시합니다.
  • DownArrow - 다음 명령을 표시합니다.
  • F7 - 명령 기록을 표시합니다.
  • ESC - 기록을 숨깁니다.
  • F8 - 명령을 찾습니다. 하나 이상의 문자를 입력한 다음 F8 키를 누릅니다. 다음 인스턴스에서 F8 키를 다시 누릅니다.
  • F9 - 기록 ID로 명령을 찾습니다. 기록 ID를 입력한 다음 F9 키를 누릅니다. F7 키를 눌러 ID를 찾습니다.
  • #<string>Tab - 기록을 *<string>* 검색하고 가장 최근 일치 항목을 반환합니다. Tab 키를 반복해서 누르면 기록에서 일치하는 항목이 순환됩니다.

참고 항목

이러한 키 바인딩은 콘솔 호스트 애플리케이션에서 구현됩니다. Visual Studio Code 또는 Windows 터미널 같은 다른 애플리케이션에는 서로 다른 키 바인딩이 있을 수 있습니다. 바인딩은 PSReadLine 모듈에서 재정의할 수 있습니다. PowerShell 세션을 시작할 때 PSReadLine이 자동으로 로드됩니다. PSReadLine이 로드되면 F7F9 가 함수에 바인딩되지 않습니다. PSReadLine은 동등한 기능을 제공하지 않습니다. 자세한 내용은 about_PSReadLine을 참조하세요.

MaximumHistoryCount

기본 설정 변수는 $MaximumHistoryCount PowerShell이 명령 기록에 저장하는 명령의 최대 수를 결정합니다. 기본값은 4096입니다.

예를 들어 다음 명령은 100개 $MaximumHistoryCount 명령으로 낮춥니다.

$MaximumHistoryCount = 100

설정을 적용하려면 PowerShell을 다시 시작합니다.

모든 PowerShell 세션에 대한 새 변수 값을 저장하려면 PowerShell 프로필에 할당 문을 추가합니다. 프로필에 대한 자세한 내용은 about_Profiles 참조하세요.

기본 설정 변수에 $MaximumHistoryCount 대한 자세한 내용은 about_Preference_Variables 참조하세요.

기록의 명령 순서

명령은 명령이 입력될 때가 아니라 실행이 완료될 때 기록에 추가됩니다. 명령을 완료하는 데 다소 시간이 걸리거나 중첩된 프롬프트에서 명령이 실행되는 경우 명령이 기록에서 순서가 벗어난 것처럼 보일 수 있습니다. 중첩된 프롬프트에서 실행되는 명령은 프롬프트 수준을 종료할 때만 완료됩니다.

참고 항목