본문 바로가기
development/Windows

알아 두면 편한 PowerShell 문법과 명령어

by 프리(freefly) 2023. 2. 12.
반응형

들어가면서...

윈도우에서 주로 개발하다보니 개발을 하거나 실습을 할 때 참고할 코드를 찾다보면

리눅스에서 돌아가는 코드밖에 없을 때가 많다.

이럴 경우 윈도우 용으로 포팅하거나 wsl 을 사용해야 하는데

wsl 은 제약이 많아서 윈도우 용 스크립트로 포팅하는 것이 더 편한 경우가 많다.

이 때 사용할 수 있는 유용한 문법과 명령어를 한 번 정리해 볼 필요가 있다.

 

PowerShell 문법

&: 호출 연산자

& 는 명령어 구문을 해석하여 실행해 줄 수 있다.

& 연산

스크립트를 실행할 때는 다른 스크립트의 텍스트나 명령의 실행결과를 받아서 실행해야 하는 경우가 많아서

이 경우 아주 유용하게 사용할 수 있다고 볼 수 있다.

다만 & 는 문자열을 구문 분석하지 않기 때문에 매개변수와 함께 사용할 경우에는

Invoke-Expression(IE) 를 사용해야 한다.

 

$: 변수 지정자

말 그대로 변수를 지정할 수 있는 연산자다.

주로 다른 명령의 결과를 담아놓고 & 나 Invoke-Expression 으로 실행하도록 스크립트를 짜는 경우가 많다.

$(): 하위 표현식

$() 는 여러 문장에 걸친 표현식을 가질 수 있다.

powershell 에는 (), @(), $() 세 가지의 표현식이 있는데, 개인적으로 가장 많이 사용하는 것은 $() 이다.

()는 단순한 표현식만 저장할 수 있기 때문에 $() 를 사용하는 편이다.

 

PowerShell 명령어

Get-Context(gc)

파일의 내용을 읽어서 출력할 수 있다. 리눅스의 cat 이나 tail 을 합쳐놓은 명령이라고 보면 된다.

주요 옵션

주요 옵션

줄여서 gc 로도 사용할 수 있다.

만약 로그파일과 같이 지속적으로 데이터가 쌓이는 파일을 추적하고 싶으면 몇 가지 옵션을 주면 된다.

Get-Content <파일경로> -Wait -Tail <표시할 라인 수>

 

Select-String

문자열을 포함한 구문을 찾는 명령어다.

Select-String <찾을 문자열> <경로>

와 같이 사용할 수 있다.

특정 로그를 찾을 때 유용하게 사용할 수 있다.

 

del

파일을 삭제하는 명령어다. powershell 뿐만 아니라 cmd 에서도 사용가능하다.

 

PowerShell 업데이트 하기

다음 명령어를 통해 powershell 을 업데이트 할 수 있다.

iex "& { $(irm https://aka.ms/install-powershell.ps1) } -UseMSI"

powershell 버전 마다 명령어나 문법이 약간 달라지니 주의할 필요가 있다.

 

반응형

댓글