PowerShellとNode.js
PowerShell(パワーシェル)は、Microsoftが開発したコマンドラインシェルおよびスクリプト言語です。Windowsでよく使われる管理ツールの一つですが、現在はオープンソース化され、LinuxやmacOSでも利用できるようになっています。PowerShellの主な特徴は以下の通りです。
主な特徴
オブジェクト指向
PowerShellでは、従来のシェル(例えばBashなど)が文字列ベースでデータを扱うのに対し、オブジェクトをベースにデータを処理します。これにより、複雑なデータの操作が簡単になります。
各コマンド(「コマンドレット」と呼ばれる)は、オブジェクトを生成し、それを次のコマンドレットにパイプラインを通じて渡すことができます。
コマンドレット
PowerShellには、特定のタスクを実行する小さなプログラムが「コマンドレット」として組み込まれています。たとえば、ファイルをコピーするための`Copy-Item`や、プロセスを終了させる`Stop-Process`などがコマンドレットの例です。
コマンドレットは通常、「動詞-名詞」という形式で名前が付けられ、動詞部分が行動を、名詞部分が操作対象を示します。
スクリプト言語
PowerShellはシェルとしてだけでなく、スクリプト言語としても使用でき、複雑な管理タスクを自動化するためのスクリプトを作成できます。
`.ps1`という拡張子でスクリプトファイルを保存し、後で実行することが可能です。
管理者向けツール
PowerShellは特にシステム管理者に向けて設計されており、Active Directoryの管理、Windows Updateの操作、ネットワーク設定の自動化など、システム管理に必要な多くの機能を提供しています。
`Get-Help`コマンドを使用することで、利用可能なコマンドレットのヘルプを簡単に確認することができます。
パイプライン処理
PowerShellでは、パイプライン`|`を使用して、1つのコマンドレットの出力を次のコマンドレットの入力に渡すことができます。これにより、複数の処理を連結して実行できます。
例: `Get-Process | Where-Object { $_.CPU -gt 100 }`
これは、CPU使用率が100を超えるプロセスをリストするコマンドです。
リモート管理
PowerShellはリモートマシンの管理もサポートしており、ネットワーク越しに他のコンピュータの設定を管理できます。`Enter-PSSession`や`Invoke-Command`などのコマンドレットを使えば、他のコンピュータ上でコマンドを実行できます。
基本的なコマンドレット例
ファイルやディレクトリの操作:
`Get-ChildItem`:フォルダやファイルのリストを取得
`Copy-Item`:ファイルやフォルダをコピー
`Move-Item`:ファイルやフォルダを移動
`Remove-Item`:ファイルやフォルダを削除
プロセスやサービスの管理:
`Get-Process`:実行中のプロセスを取得
`Stop-Process`:指定したプロセスを停止
`Get-Service`:システム上のサービスを一覧表示
`Start-Service`:指定したサービスを開始
`Stop-Service`:指定したサービスを停止
システム情報の取得:
`Get-EventLog`:イベントログを取得
`Get-WmiObject`:WMI(Windows Management Instrumentation)経由でシステム情報を取得
PowerShellと従来のコマンドプロンプトの違い
オブジェクト指向: PowerShellはオブジェクトを扱いますが、従来のコマンドプロンプト(cmd.exe)は文字列を扱います。これにより、PowerShellではより柔軟で詳細な操作が可能です。
強力な自動化機能: PowerShellは、Windowsシステムの管理や操作を自動化するために設計されています。特に複雑なタスクをスクリプトで一括処理するのが得意です。
PowerShellを使う理由
Windowsの管理作業を効率化するため。ファイル管理からネットワーク設定まで、コマンドレットを使用して多様なタスクを自動化できます。
クロスプラットフォーム対応(Windowsだけでなく、LinuxやmacOSでも使える)ため、異なるOS間で共通のスクリプトを利用できる。
強力なスクリプト言語として、複雑なシステム管理や自動化のための高度なロジックを組み込んだスクリプトを書くことが可能です。
初心者でも、`Get-Help`コマンドを活用することで、すぐにPowerShellの基本的な使い方を学ぶことができます。
PowerShellでNode.jsのバージョンを確認する
node -v
コードをコピーする
node -v
または、以下の形式でも可能です。
node --version
コードをコピーする
node --version
これを実行すると、インストールされているNode.jsのバージョン(例: v16.13.0)が表示されます。Node.jsが正しくインストールされていれば、このコマンドでバージョンが表示されるはずです。
もしNode.jsがインストールされていない場合、コマンドが見つからないエラーメッセージが表示されるので、その際はNode.jsをインストールする必要があります。
PowerShellでnpm(Node Package Manager)をインストール
PowerShellでnpm(Node Package Manager)をインストールするためには、まずNode.js自体をインストールする必要があります。npmはNode.jsと一緒に自動的にインストールされるため、以下の手順に従ってNode.jsをインストールすれば、npmも同時にインストールされます。
手順 1: Node.jsの公式サイトからインストール
Node.jsの公式サイトにアクセスします:Node.js公式サイト
推奨される「LTS(長期サポート)」バージョンをダウンロードしてインストールすることをおすすめします。LTSは、より安定性が高いバージョンです。
インストーラーを実行し、画面の指示に従ってインストールを進めます。インストール中に「npmもインストールする」オプションがデフォルトで選択されています。
手順 2: インストール確認
Node.jsとnpmが正しくインストールされたかどうかを確認するには、以下のコマンドをPowerShellで実行します。
Node.jsのバージョン確認
node -v
コードをコピーする
node -v
npmのバージョン確認
npm -v
コードをコピーする
npm -v
これで、それぞれのバージョンが表示されればインストールは成功です。
手順 3: npmのアップデート(必要に応じて)
Node.jsのインストーラーで一緒にインストールされたnpmのバージョンが古い場合があります。その場合は、次のコマンドでnpmを最新バージョンにアップデートすることができます。
npm install -g npm
コードをコピーする
npm install -g npm
これで、最新のnpmがインストールされます。
補足
インストール中に管理者権限が必要な場合があるので、エラーが出た場合はPowerShellを「管理者として実行」してから再試行してください。
markedインストール
`marked`は、MarkdownをHTMLに変換するためのNode.js用のライブラリです。PowerShellで`marked`をインストールするには、以下の手順に従ってください。
手順 1: Node.jsとnpmがインストールされているか確認
まず、Node.jsとnpmが正しくインストールされているか確認します。以下のコマンドでそれぞれのバージョンを確認できます。
node -v
npm -v
もしNode.jsとnpmがインストールされていない場合、上記の手順に従ってインストールしてください。
手順 2: markedをインストール
次に、`marked`をインストールします。`marked`をローカルプロジェクト(カレントディレクトリ)にインストールする場合と、システム全体にインストールする場合があります。
プロジェクトにローカルインストールする場合
カレントディレクトリにインストールするには、以下のコマンドを実行します。
npm install marked
これで、現在のプロジェクトに`marked`がインストールされます。`node_modules`フォルダ内に保存され、`package.json`に依存関係として追加されます。
グローバルインストールする場合
システム全体に`marked`をインストールしたい場合は、以下のコマンドを使用します。
npm install -g marked
これで、`marked`はグローバルにインストールされ、システムのどこからでも利用できるようになります。
手順 3: markedの動作確認
`marked`が正しくインストールされたかを確認するために、PowerShellで次のコマンドを実行してみてください。
marked --version
これでバージョンが表示されれば、`marked`は正常にインストールされています。
markedの使用例
インストール後、PowerShellでMarkdownファイルをHTMLに変換する簡単なコマンドも実行できます。
marked example.md > example.html
これにより、`example.md`というMarkdownファイルが`example.html`というHTMLファイルに変換されます。