“LinuxでPowerShellを始める [初心者ガイド]”

マイクロソフトがLinux(一般的に「マイクロソフトはLinuxを愛している」として知られている)と恋に落ちた後、もともとWindows専用コンポーネントであったPowerShellは、オープンソース化され、2016年8月18日にクロスプラットフォーム化され、LinuxやMac OSで利用可能になりました。

PowerShellは、マイクロソフトによって開発されたタスク自動化および設定管理システムです。シェルとして機能するコマンド言語インタプリタと、.NET Frameworkをベースにしたスクリプト言語で構成されています。

これにより、COMコンポーネントオブジェクトモデル)とWMIWindows管理インストェレーション)への完全なアクセスが可能となり、システム管理者がローカルおよびリモートのWindowsシステムの管理タスクを実行できるようになります。また、WS-ManagementとCIM(共通情報モデル)を利用して、リモートのLinuxシステムやネットワーク機器の管理も行えます。

このフレームワークの下では、管理タスクは基本的に、.NETクラスの特殊なものであるcmdlets(コマンドレットと発音)によって実行されます。

リナックスのシェルスクリプトと同様に、ユーザーは特定のルールに従ってcmdletsのグループをファイルに保存することでスクリプトや実行可能ファイルを構築できます。これらのスクリプトは独立したコマンドラインユーティリティやツールとして使用することができます。

LinuxシステムにPowerShellをインストールする

PowerShellをLinuxにインストールするには、最も人気のあるLinuxパッケージ管理ツールであるapt-getapt、そしてyumdnfを介してインストールできるようにする公式のMicrosoftリポジトリを使用します。

UbuntuでのPowerShellのインストール

まず、公開リポジトリGPGキーをインポートし、Microsoft UbuntuリポジトリをAPTパッケージソースリストに登録して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のインストール

PowerShellは、Debianディストリビューションリリース用にパッケージリポジトリに公開されており、簡単なインストールとアップデートが可能です。

$ 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をインストールする

PowerShellはRHELベースのディストリビューションであるCentOS StreamRockyAlmaLinuxなどに対して、簡単なインストールとアップデートのために公式の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]
Running PowerShell Commands

Powershellでのファイルとディレクトリの操作

1. 以下の2つの方法で新しい空のファイルを作成します。

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

それにコンテンツを追加し、ファイルの内容を表示します。

set-content tecmint.tex -value "TecMint Linux How Tos Guides"
get-content tecmint.tex
Create New File in Powershell

2. PowerShellでファイルを削除します。

remove-item tecmint.tex
get-content tecmint.tex
Delete File in Powershell

3. 新しいディレクトリを作成します。

mkdir  tecmint-files
cd  tecmint-files
“”>domains.list
ls
Create a Directory in Powershell

4. ファイル/ディレクトリの詳細、モード(ファイルタイプ)、最終変更時間などを表示する長いリストを実行します。

dir
Directory Long Listing in Powershell

5. システム上で実行中のすべてのプロセスを表示します:

get-process
View Running Processes in Powershell

6. 特定の名前の実行中のプロセスの詳細を表示するには、前のコマンドにプロセス名を引数として渡します。

get-process apache2
View Specific Process in Powershell

上記の出力の単位の意味:

  • NPM(K) – プロセスが使用している非ページングメモリの量(キロバイト単位)。
  • PM(K) – プロセスが使用しているページング可能なメモリの量(キロバイト単位)。
  • WS(K) – プロセスのワーキングセットのサイズ(キロバイト単位)。ワーキングセットは、プロセスによって最近参照されたメモリのページで構成されます。
  • CPU(s) – プロセスがすべてのプロセッサで使用したプロセッサ時間の量(秒単位)。
  • ID – プロセスID(PID)。
  • ProcessName – プロセスの名前。

7. 詳細情報を知りたい場合は、さまざまなタスクのすべてのPowershellコマンドのリストを取得します。

get-command
List Powershell Commands

8. コマンドの使い方を学ぶには、そのヘルプページ(Unix/Linuxのmanページに似ています)を表示します。この例では、Describeコマンドのヘルプを取得できます。

get-help Describe
Powershell Help Manual

9.すべての利用可能なコマンドエイリアスを表示するには、次のように入力してください:

get-alias
List Powershell Command Aliases

10.最後に、次のようにコマンド履歴(以前に実行したコマンドのリスト)を表示します:

history
List Powershell Commands History

これでおしまいです!今回の記事では、LinuxにMicrosoftのPowershellをインストールする方法を紹介しました。私にとって、Powershellはまだ従来のUnix/Linuxシェルと比べて非常にまだまだです。コマンドラインからマシンを操作するためのより良く、より魅力的で生産的な機能を提供しています。そして、プログラミング(スクリプティング)の目的にも重要です。

PowershellのGithubリポジトリを訪問してください:https://github.com/PowerShell/PowerShell

ただし、試してみてコメントでご意見を共有していただけますと幸いです。

Source:
https://www.tecmint.com/install-powershell-in-linux/