ウェブサイト検索

Linux での PowerShell 入門 [初心者ガイド]


Microsoft が Linux に夢中になった後 (一般に「Microsoft Loves Linux 」として知られるようになりました)、元々は Windows だったPowerShell -only コンポーネントは、2016 年 8 月 18 日にオープンソース化され、クロスプラットフォームになり、Linux および Mac OS で利用できるようになりました。

PowerShell は、Microsoft が開発したタスク自動化および構成管理システムです。コマンド言語インタープリター (シェル) と.NET Framework 上に構築されたスクリプト言語で構成されます。

COM (コンポーネント オブジェクト モデル) および WMI (Windows Management Instrumentation) への完全なアクセスを提供するため、システム管理者は、ローカルとリモートの Windows システムの両方で管理タスクを実行できるだけでなく、リモート Linux システムとネットワーク デバイスの管理を可能にする WS-Management および CIM (共通情報モデル) を実行できます。

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

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

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

Linux にPowerShell をインストールするには、Microsoft の公式リポジトリを使用します。これにより、apt-get や apt、yum や dnf などの最も一般的な Linux パッケージ管理ツールを通じてインストールできます。

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

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 StreamRockyAlmaLinuxなどの 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. 以下の 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 – プロセスがすべてのプロセッサで使用したプロセッサ時間 (秒単位)。
  • ID – プロセス ID (PID)。
  • プロセス名 – プロセスの名前。

7. 詳細については、さまざまなタスクのすべての Powershell コマンドのリストを取得してください。

get-command

8. コマンドの使用方法を学ぶには、そのヘルプ ページ (Unix/Linux のマニュアル ページに似ています) を参照してください。この例では、説明 コマンドのヘルプを表示できます。

get-help Describe

9. 使用可能なコマンド エイリアスをすべて表示し、次のように入力します。

get-alias

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

history

それだけです!とりあえず、この記事では Linux にMicrosoft の Powershell をインストールする方法を説明しました。私にとって、Powershell は、コマンド ラインから、そして重要なことに、プログラミング (スクリプト) 目的でマシンを操作するための、はるかに優れた、よりエキサイティングで生産的な機能を提供する従来の Unix/Linux シェルと比較して、まだまだ長い道のりです。同じように。

Powershell Github リポジトリにアクセスします: https://github.com/PowerShell/PowerShell

ただし、試してみて、コメントで意見を共有することはできます。