マイクロソフトがLinux(一般的に「マイクロソフトはLinuxを愛している」として知られている)と恋に落ちた後、もともとWindows専用コンポーネントであったPowerShellは、オープンソース化され、2016年8月18日にクロスプラットフォーム化され、LinuxやMac OSで利用可能になりました。
PowerShellは、マイクロソフトによって開発されたタスク自動化および設定管理システムです。シェルとして機能するコマンド言語インタプリタと、.NET Frameworkをベースにしたスクリプト言語で構成されています。
これにより、COM(コンポーネントオブジェクトモデル)とWMI(Windows管理インストェレーション)への完全なアクセスが可能となり、システム管理者がローカルおよびリモートのWindowsシステムの管理タスクを実行できるようになります。また、WS-ManagementとCIM(共通情報モデル)を利用して、リモートのLinuxシステムやネットワーク機器の管理も行えます。
このフレームワークの下では、管理タスクは基本的に、.NETクラスの特殊なものであるcmdlets(コマンドレットと発音)によって実行されます。
リナックスのシェルスクリプトと同様に、ユーザーは特定のルールに従ってcmdletsのグループをファイルに保存することでスクリプトや実行可能ファイルを構築できます。これらのスクリプトは独立したコマンドラインユーティリティやツールとして使用することができます。
目次
LinuxシステムにPowerShellをインストールする
PowerShellをLinuxにインストールするには、最も人気のあるLinuxパッケージ管理ツールであるapt-getやapt、そしてyumやdnfを介してインストールできるようにする公式の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 Stream、Rocky、AlmaLinuxなどに対して、簡単なインストールとアップデートのために公式の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. 以下の2つの方法で新しい空のファイルを作成します。
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) – プロセスが使用している非ページングメモリの量(キロバイト単位)。
- PM(K) – プロセスが使用しているページング可能なメモリの量(キロバイト単位)。
- WS(K) – プロセスのワーキングセットのサイズ(キロバイト単位)。ワーキングセットは、プロセスによって最近参照されたメモリのページで構成されます。
- CPU(s) – プロセスがすべてのプロセッサで使用したプロセッサ時間の量(秒単位)。
- ID – プロセスID(PID)。
- ProcessName – プロセスの名前。
7. 詳細情報を知りたい場合は、さまざまなタスクのすべてのPowershellコマンドのリストを取得します。
get-command

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

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

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

これでおしまいです!今回の記事では、LinuxにMicrosoftのPowershellをインストールする方法を紹介しました。私にとって、Powershellはまだ従来のUnix/Linuxシェルと比べて非常にまだまだです。コマンドラインからマシンを操作するためのより良く、より魅力的で生産的な機能を提供しています。そして、プログラミング(スクリプティング)の目的にも重要です。
PowershellのGithubリポジトリを訪問してください:https://github.com/PowerShell/PowerShell
ただし、試してみてコメントでご意見を共有していただけますと幸いです。
Source:
https://www.tecmint.com/install-powershell-in-linux/