Computer >> 컴퓨터 >  >> 시스템 >> Windows

Windows 10에서 PowerShell 명령 기록 확인 및 활용하는 완벽 가이드

Windows PowerShell에는 사용자가 실행한 모든 명령을 기억하는 내장 기록(History) 기능이 있습니다. 일반적으로 활성 세션의 기록만 저장되는 것으로 알려져 있지만, 실제로는 그 이상의 정보를 보존하고 있습니다. 이 글에서는 PowerShell 명령 기록을 확인하는 방법과 이를 효율적으로 활용하는 다양한 팁을 소개합니다.

PowerShell 명령 기록을 확인하는 방법

기록 기능의 가장 큰 장점은 한 번 실행했던 명령을 다시 입력할 필요가 없다는 것입니다. 하지만 수백 개의 명령 사이를 일일이 넘겨가며 찾는 것은 비효율적입니다. 기록을 검색하거나 명령어 일부만 기억나는 경우에도 찾을 수 있다면 훨씬 편리할 것입니다. 아래 방법들을 따라 해 보세요.

  1. 키보드 단축키 활용
  2. 기록에서 앞뒤로 검색하기
  3. 현재 세션의 전체 기록 보기
  4. 기록에서 특정 명령 실행하기
  5. 기록 내에서 검색하기

마지막으로 PowerShell 기록을 삭제, 내보내기, 가져오기 하는 방법까지 설명합니다. 반복적으로 동일한 명령을 실행해야 하는 경우 매우 유용합니다.

1] 키보드 단축키 활용

Windows를 한동안 사용해 왔다면 명령 프롬프트(Command Prompt)를 사용해 본 적이 있을 것입니다. 위쪽·아래쪽 화살표 키를 누르면 실행했던 명령을 앞뒤로 탐색할 수 있는데, PowerShell에서도 동일하게 작동합니다. 여기에 흥미로운 팁이 하나 더 있습니다. 명령어의 일부만 기억나는 경우 다음과 같이 검색할 수 있습니다.

  • 기억나는 명령어의 일부를 입력합니다.
  • F8 키를 누르고 원하는 명령을 찾을 때까지 계속 누릅니다.
  • 검색어는 형광 녹색으로 강조 표시되며, 뒤에 나머지 명령이 함께 표시됩니다.

단점은 검색어가 반드시 명령어의 시작 부분이어야 한다는 점입니다.

2] 기록에서 앞뒤로 검색하기

기록을 앞쪽 또는 뒤쪽 방향으로 검색하려면 Ctrl + RCtrl + S 단축키를 사용하세요. 전자는 과거 기록을 거슬러 올라가며 검색하고, 후자는 최신 방향으로 검색합니다. 단축키를 누르면 화면 하단에 (bck-i-search 또는 fwd-i-search) 프롬프트가 나타납니다. 검색할 텍스트를 입력하면 명령어 중간에 포함된 문자열이라도 찾아냅니다. 앞서 소개한 F8 방식보다 훨씬 강력한 검색 기능입니다.

3] 현재 세션의 전체 명령 기록 보기

History라고 입력하고 Enter 키를 누르면 현재 세션에서 실행한 모든 명령 목록을 볼 수 있습니다. 화살표 키로 이전 세션의 명령을 불러올 수는 있지만, History 명령 출력에는 이전 세션의 기록이 표시되지 않습니다. 참고로 "H" 키만 입력하고 Enter를 눌러도 명령 기록이 표시되는데, 이는 History 명령의 축약형입니다.

4] 기록에서 특정 명령 실행하기

History 명령의 출력 결과를 보면 각 명령 옆에 ID가 표시됩니다. 목록에서 특정 명령을 바로 실행하려면 Invoke-History cmdlet을 사용하면 됩니다.

  • 실행하려는 명령의 ID를 확인합니다.
  • Invoke-History <ID> 형식으로 입력합니다. <ID> 부분에 실제 숫자를 넣으세요.
  • Enter 키를 누르면 해당 기록의 명령이 즉시 실행됩니다.

5] 기록 내에서 검색하기

명령 기록 내에서 검색하는 가장 쉬운 방법은 History 출력 결과에 Select-String을 조합하는 것입니다.

  • 아래 명령을 입력하고, "Get." 부분을 원하는 검색어로 바꿉니다.
  • Get-History | Select-String -Pattern "Get."
  • 검색 조건과 일치하는 모든 명령이 표시됩니다.

결과와 함께 ID도 출력되므로 Invoke-History 명령으로 해당 명령을 즉시 재실행할 수 있습니다.

PowerShell 기록 삭제, 내보내기, 가져오기

기록의 모든 명령을 삭제하려면 Clear-History 명령을 실행하면 됩니다. 단, 이 명령을 실행한 후에도 위·아래 화살표 키로는 여전히 이전 명령에 접근할 수 있다는 점에 유의하세요.

모든 명령을 내보내려면 Export-Clixml 또는 Export-CSV cmdlet을 사용할 수 있습니다. 예시 명령은 다음과 같습니다.

Get-History | Export-Clixml -Path <경로>\PSHistorycommands.xml

Get-History | Export-Csv -Path <경로>\PSHistorycommands.csv

내보낸 명령을 다른 세션 또는 새 세션으로 가져오려면 아래 명령을 사용하세요.

Add-History -InputObject (Import-Clixml -Path <경로>\PSHistorycommands.xml)

Add-History -InputObject (Import-Csv -Path <경로>\PSHistorycommands.csv)

저장해 둔 CSV 또는 XML 파일은 언제든 열어서 PowerShell 명령 기록을 즉시 확인할 수 있습니다. 지금까지 살펴본 내용을 통해 PowerShell 명령 기록을 조회하고, 검색하고, 재실행하고, 파일로 백업했다가 다음 날 다시 불러오는 등 기록 기능을 최대한 활용하는 방법을 익히셨기를 바랍니다.