웹사이트 검색

Linux에서 PowerShell 시작하기 [초보자 가이드]


Microsoft가 Linux(“Microsoft Loves Linux”로 널리 알려져 있음)와 사랑에 빠진 후 원래 Windows였던 PowerShell -전용 구성 요소는 오픈 소스로 제공되었으며 2016년 8월 18일에 Linux 및 Mac OS에서 사용할 수 있는 크로스 플랫폼으로 만들어졌습니다.

PowerShell은 Microsoft에서 개발한 작업 자동화 및 구성 관리 시스템입니다. 이는 명령 언어 해석기()와 .NET Framework에 구축된 스크립트 언어로 구성됩니다.

COM(구성 요소 개체 모델) 및 WMI(Windows Management Instrumentation)에 대한 완전한 액세스를 제공하여 시스템을 허용합니다. 관리자는 로컬 및 원격 Windows 시스템뿐만 아니라 WS-Management 및 CIM(공통 정보 모델)에서 관리 작업을 수행하여 원격 Linux 시스템과 네트워크 장치를 관리할 수 있습니다.

이 프레임워크에서 관리 작업은 기본적으로 cmdlet(커맨드렛으로 발음)이라는 특정 .NET 클래스에 의해 수행됩니다.

Linux의 셸 스크립트와 유사하게 사용자는 특정 규칙에 따라 파일에 cmdlet 그룹을 저장하여 스크립트나 실행 파일을 작성할 수 있습니다. 이러한 스크립트는 독립적인 명령줄 유틸리티 또는 도구로 사용할 수 있습니다.

Linux 시스템에 PowerShell 설치

Linux에 PowerShell을 설치하기 위해 apt-get, apt 및 yum 또는 dnf와 같은 가장 널리 사용되는 Linux 패키지 관리 도구를 통해 설치할 수 있는 공식 Microsoft 저장소를 사용합니다.

우분투에 PowerShell 설치

먼저 공개 저장소 GPG 키를 가져온 다음 APT 패키지 소스 목록에 Microsoft Ubuntu 저장소를 등록하여 Powershell 을 설치합니다. :

sudo apt-get update
sudo apt-get install -y wget apt-transport-https software-properties-common
wget -q "https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb"
sudo dpkg -i packages-microsoft-prod.deb
sudo apt-get update
sudo apt-get install -y powershell

Debian 11에 PowerShell 설치

Debian 배포 릴리스용 PowerShell은 간편한 설치 및 업데이트를 위해 패키지 저장소에 게시됩니다.

sudo apt update
sudo apt install -y curl gnupg apt-transport-https
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-debian-bullseye-prod bullseye main" > /etc/apt/sources.list.d/microsoft.list'
sudo apt update
sudo apt install -y powershell

Debian 10에 PowerShell 설치

wget https://packages.microsoft.com/config/debian/10/packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
sudo apt-get update
sudo apt-get install -y powershell

RHEL 시스템에 PowerShell 설치

CentOS Stream, RockyAlmaLinux와 같은 RHEL 기반 배포판용 PowerShell은 간편한 설치 및 업데이트를 위해 공식 Microsoft 리포지토리에 게시됩니다.

---------- On RHEL, CentOS, Rocky & AlmaLinux 9 ---------- 
curl https://packages.microsoft.com/config/rhel/9.0/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo
sudo dnf install --assumeyes powershell

---------- On RHEL, CentOS, Rocky & AlmaLinux 8 ----------
curl https://packages.microsoft.com/config/rhel/8/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo
sudo dnf install --assumeyes powershell

---------- On RHEL/CentOS 7 ----------
curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo
sudo dnf install --assumeyes powershell

Linux에서 Powershell을 사용하는 방법

이 섹션에서는 Powershell에 대해 간략하게 소개합니다. 여기서는 powershell을 시작하는 방법, 몇 가지 기본 명령을 실행하는 방법, 파일, 디렉터리 및 프로세스를 사용하여 작업하는 방법을 살펴보겠습니다. 그런 다음 나중에 사용 가능한 모든 명령을 나열하고 명령 도움말 및 별칭을 표시하는 방법을 자세히 알아보세요.

Powershell을 시작하려면 다음을 입력하십시오.

pwsh

PowerShell 7.3.3
PS /root> 

아래 명령을 사용하여 Powershell 버전을 확인할 수 있습니다.

PS /root> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      7.3.3
PSEdition                      Core
GitCommitId                    7.3.3
OS                             Linux 5.10.0-9-amd64 #1 SMP Debian 5.10.70-1 (2021-09-30)
Platform                       Unix
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0

Linux에서 몇 가지 기본 Powershell 명령을 실행합니다.

get-date          [# Display current date]
get-uptime        [# Display server uptime]
get-location      [# Display present working directory]

Powershell에서 파일 및 디렉터리 작업

1. 아래 두 가지 방법을 사용하여 새로운 빈 파일을 만듭니다.

new-item  tecmint.tex
OR
“”>tecmint.tex

그런 다음 콘텐츠를 추가하고 파일 콘텐츠를 확인하세요.

set-content tecmint.tex -value "TecMint Linux How Tos Guides"
get-content tecmint.tex

2. Powershell에서 파일을 삭제합니다.

remove-item tecmint.tex
get-content tecmint.tex

3. 새 디렉토리를 만듭니다.

mkdir  tecmint-files
cd  tecmint-files
“”>domains.list
ls

4. 모드(파일 유형) 및 마지막 수정 시간을 포함하여 파일/디렉토리의 세부 정보를 표시하는 긴 목록을 수행합니다.

dir

5. 시스템에서 실행 중인 모든 프로세스를 확인합니다.

get-process

6. 특정 이름을 가진 실행 중인 프로세스의 단일/그룹에 대한 세부정보를 보려면 다음과 같이 이전 명령에 대한 인수로 프로세스 이름을 제공합니다.

get-process apache2

위 출력의 단위 의미:

  • NPM(K) – 프로세스가 사용하고 있는 비페이징 메모리의 양(KB)입니다.
  • PM(K) – 프로세스가 사용하고 있는 페이징 가능한 메모리 양(KB)입니다.
  • WS(K) – 프로세스의 작업 세트 크기(KB)입니다. 작업 세트는 최근 프로세스에서 참조한 메모리 페이지로 구성됩니다.
  • CPU – 프로세스가 모든 프로세서에서 사용한 프로세서 시간(초)입니다.
  • ID – 프로세스 ID(PID).
  • ProcessName – 프로세스의 이름입니다.

7. 자세한 내용을 알아보려면 다양한 작업에 대한 모든 Powershell 명령 목록을 확인하세요.

get-command

8. 명령 사용 방법을 알아보려면 도움말 페이지(Unix/Linux의 매뉴얼 페이지와 유사)를 확인하세요. 이 예에서는 Describe 명령에 대한 도움말을 볼 수 있습니다.

get-help Describe

9. 사용 가능한 모든 명령 별칭을 보려면 다음을 입력하세요.

get-alias

10. 마지막으로 다음과 같이 명령 기록(이전에 실행한 명령 목록)을 표시합니다.

history

그게 다야! 지금은 이 문서에서 Linux에 Microsoft의 Powershell을 설치하는 방법을 보여 드렸습니다. 나에게 있어 Powershell은 명령줄에서 기계를 작동하고 중요한 프로그래밍(스크립팅) 목적을 위해 훨씬 더 좋고 더 흥미롭고 생산적인 기능을 제공하는 전통적인 Unix/Linux 셸과 비교할 때 여전히 갈 길이 매우 멀습니다. 또한.

Powershell Github 저장소를 방문하세요: https://github.com/PowerShell/PowerShell

하지만 한 번 시도해 보시고 의견을 댓글로 공유해 주실 수 있습니다.