리눅스

리눅스에서 윈도우 PowerShell 명령어 사용하기

리눅스 터미널에서는 일반적으로 bash 또는 sh 셸 환경을 사용하여 명령어를 주고받습니다. 윈도우에서는 cmd 프로그램을 사용하여 커맨드라인 기반(CLI)의 명령어 처리를 합니다.

파워셸(PowerShell)은 윈도우 cmd의 향상된 명령 인터프리터이며 텍스트로 구성된 명령어를 통해 운영체제 내의 대부분의 작업을 처리할 수 있습니다. 윈도우 XP부터 탑재되어왔으며 윈도우 10의 특정 빌드부터 기본 명령 프롬프트를 cmd에서 Powershell로 변경할 정도로 Windows 개발자에게는 중요한 환경이 되어가고 있습니다.

 

PowerShell의 명령어 체계는 리눅스와는 많이 다릅니다. 따라서 PowerShell 고급 사용자 입장에서는 리눅스 운영체제를 사용하기 위해서는 bash처럼 PowerShell과는 다른 명령어를 숙지해야하는 불편함이 있습니다.

마이크로소프트(Microsoft)에서는 리눅스 운영체제를 위한 PowerShell을 개발하기 시작했습니다. PowerShell의 명령어를 그대로 사용할 수 있을 뿐만 아니라, 리눅스 터미널에서 다른 셸 스크립트와 유사한 환경을 제공하여 다양한 명령 처리의 편의를 제공하게 됩니다.

 

리눅스 PowerShell 설치하기


리눅스 운영체제에서 파워셸을 사용하기 위해서는 먼저 아래 사이트에서 파일을 다운로드해야 합니다.

https://github.com/PowerShell/PowerShell/releases/

 

작성일 기준으로는 v6.1.0-preview.3 버전(베타)이 최신 버전으로 나와있습니다. 이 중 아래 이름으로 된 패키지를 다운로드 해보겠습니다. 다운로드는 Ubuntu 운영체제를 기준으로 진행하겠습니다. ubuntu.18.04_amd64 내용이 포함된 deb 파일을 리눅스 OS에서 다운로드합니다.

powershell-preview_6.1.0-preview.3-1.ubuntu.18.04_amd64.deb

만약 리눅스 터미널에서 바로 다운로드하려면 wget 명령어를 사용하여 아래와 같이 입력하시면 됩니다.

wget https://github.com/PowerShell/PowerShell/releases/download/v6.1.0-preview.3/powershell-preview_6.1.0-preview.3-1.ubuntu.18.04_amd64.deb

다운로드가 완료되면 위 파일이 위치한 디렉토리로 이동합니다.

그 후 dpkg 패키지를 이용하여 패키지를 설치합니다.

dpkg -i [패키지 파일명]

설치 도중 dpkg에서 패키지 의존성 문제로 아래와 같은 메세지가 출력될 수 있습니다. (출력되지 않는다면 건너뛰셔도 됩니다.)

root@testwork:~# dpkg -i powershell-preview_6.1.0-preview.3-1.ubuntu.18.04_amd64.deb
Selecting previously unselected package powershell-preview.
(Reading database ... 47321 files and directories currently installed.)
Preparing to unpack powershell-preview_6.1.0-preview.3-1.ubuntu.18.04_amd64.deb ...
Unpacking powershell-preview (6.1.0~preview.3-1.ubuntu.18.04) ...
dpkg: dependency problems prevent configuration of powershell-preview:
 powershell-preview depends on liblttng-ust0; however:
  Package liblttng-ust0 is not installed.
 powershell-preview depends on libicu60; however:
  Package libicu60 is not installed.

dpkg: error processing package powershell-preview (--install):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 powershell-preview

dependency problems – leaving unconfigured 에러가 발생했다면 아래 명령어를 사용하여 의존성 패키지를 별도로 설치합니다.

  • apt install -f 또는 apt-get install -f
root@testwork:~# apt install -f

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following package was automatically installed and is no longer required:
  grub-pc-bin
Use 'apt autoremove' to remove it.
The following additional packages will be installed:
  libicu60 liblttng-ust-ctl4 liblttng-ust0 liburcu6
The following NEW packages will be installed:
  libicu60 liblttng-ust-ctl4 liblttng-ust0 liburcu6
0 upgraded, 4 newly installed, 0 to remove and 8 not upgraded.
1 not fully installed or removed.
Need to get 8341 kB of archives.
After this operation, 33.2 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y

 

이제 모든 설치가 끝났습니다. 아래 명령어를 사용하여 PowerShell을 실행해보겠습니다.

$ pwsh

(만약 다운로드된 패키지가 Preview 빌드인 경우 아래와 같이 입력합니다.)
$ pwsh-preview

PowerShell 환경이 뜨며 파워셸 명령어를 입력하실 수 있게됩니다.

 

관련 문서 : https://docs.microsoft.com/ko-kr/powershell/scripting/setup/installing-powershell-core-on-linux?view=powershell-6

 

 

JooTC

안녕하세요. 테크놀로지에 관심이 많은 블로거입니다.

View Comments

Recent Posts

[iOS] Xcode ‘You do not have required contracts to perform an operation’ 해결

Xcode에서 iOS 애플리케이션을 빌드(Archive)하고 App Store Connect에 앱을 업로드하는 도중, 아래와 같은 에러가 발생하면서 더…

1개월 ago

[안드로이드] INSTALL_FAILED_INSUFFICIENT_STORAGE 해결

INSTALL_FAILED_INSUFFICIENT_STORAGE 문제 안드로이드 스튜디오에서 에뮬레이터를 실행하고 개발중인 애플리케이션을 실행하려 하면 로그 창에 아래와 같이 표시되면서…

7개월 ago

Zalgo 텍스트와 이를 방지하는 방법

인터넷 커뮤니티 사이트에서 게시글이나 댓글에 간혹 장난을 목적으로 작성된 특이한 글자를 볼 수 있습니다. 위…

9개월 ago

리눅스 kill, killall 명령어 – 특정 프로세스 종료하기

리눅스 명령어 - kill, killall 리눅스 kill 명령어는 특정 프로세스를 종료해주는 명령어입니다. 백그라운드에서 실행되고 있는…

9개월 ago

JavaScript typeof null이 ‘object’인 이유

JavaScript는 역사가 긴 스크립트 프로그래밍 언어입니다. 세월이 흐르면서 많은 자바스크립트 표준이 만들어졌고, 현재는 많은 문법적…

9개월 ago

Mocha Error: Resolution method is overspecified. 해결 방법

NodeJS 테스트 프레임워크인 Mocha는 비동기 테스트를 지원합니다. 간혹 특정 테스트 스크립트를 작성하고 실행하면 아래와 같이…

9개월 ago