본문 바로가기

IT/power_shell

파워쉘 커맨드(cmdlet)

반응형

유닉스에서 여러 커맨드 ( ls , find, awk, ... ) 를 쓸 수 있는 것처럼,

파워쉘에서도 여러 커맨드를 사용할 수 있습니다. 


특이한점은 파워쉘의 커맨드인 cmdlet 은 함수의 명명규칙 같이 하이픈으로 연결된 함수명 같이 생겼습니다.

ex) select-object , get-date, write-output ...


전체 적인 모양새는


command –parameter1 –parameter2 argument1 argument2


이런 형태로 사용 가능합니다. 


하지만, 이렇게만 정의해 놓으면 유닉스나 기존 윈도우 커맨드를 쓰는 사람에게는 명령어를 모두 새로 익혀야 합니다. 


(dir 이 get-childitem 과 동일함 )


그래서 친절하게(?)  별칭을 지정할 수 있게 되어 있어서 dir , ls, get-childitem 이 동일하게 현재 폴더의 폴더와 파일리스트를 보여주는 명령어로 사용 됩니다. 


!!확인방법!!


$get-alias ls
$get-alias dir

이렇게 입력해 보면, Name 항목에 get-childitem 이 써있는것을 볼 수 있습니다. 

ls , dir 이 모두 get-childitem 의 별칭인거죠~


get-alias 만 치면, 모든 별칭을 확인할 수 있습니다.


대애충 살펴보면 , 기존 유닉스 또는 윈도우 커맨드에서 쓰고 있었던

cat, cd, chdir, cls, copy, cp, del, dir, diff, echo, erase, kill ... 

등등이 확인되고 사용 가능합니다. 


물론, 재 생각에는 원래의 cmdlet 명칭을 이용해서 사용하는걸 권합니다! 


어쨌든 ~


별칭 말고 전체 cmdlet 을 보고 싶다면,


get-command 


라고 입력해 보면 됩니다. 


.... 엄청나게 쏟아집니다.


페이지가 넘어가서 볼 수 없으니, 드디어!!  파이프를 써서 봐봅시다.


get-command | more


페이지별로 나눠서 잘보입니다. 


우리가 보려고 하는 cmdlet 말고도 다른게 많이 보이네요.. 해당 내용을 파일로 쓴 후, cmdlet 만 찾아 봅시다


get-command > temp.txt
cat temp.txt | select-string "cmdlet" | more 


오~ 이제 깔끔하게 명령어들만 볼 수 있습니다. 


명명규칙에 따라 명령어들이 이름지어 있어서, 대충 눈치껏 때려 맞춰도 사용법을 알 수 있으나,

정확하게 알기 위해서는 get-help <cmdlet name> 해주시면 됩니다. 

친절하게 한글에, 샘플도 나옵니다 후훗~!


help 명령어에 online 인 인수를 주면 웹으로 도 확인 가능합니다. 


참고 링크

https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/select-object?view=powershell-5.1



이정도만 알고 있어도 유닉스 명령어로 쓰던거를 윈도우 파워쉘을 통해 모두다 구현이 가능합니다.


게다가 .net sdk 도 사용 가능하니, 살펴보진 않았지만 form 도 생성이 가능합니다.  윈도우에서는 매우매우 강려크 하지요 +ㅁ+


모두 상상력을 발휘해서 파워쉘을 잘 사용해 보시길!!

반응형