最初に覚えたいPowerShellコマンド10選(Get-Process, Set-Locationなど)
PowerShellのインストール、お疲れ様でした!あなたのマシンには今、Web開発を加速させるモダンで強力なシェル環境が整っています。しかし、いざ黒い(あるいは青い)画面を前にして、「で、結局何を打てばいいの?」と固まってしまう…というのは、誰もが通る道です。
ご安心ください。PowerShellのコマンド(コマンドレット)は、動詞-名詞という一貫した命名規則のおかげで、一度コツを掴めば非常に覚えやすく、応用も効きます。この記事では、数あるコマンドレットの中から、Webクリエイターが日々の作業で本当に役立つ、最初に覚えるべき便利な基本コマンドレット10選を厳選しました。
ギタリストが最初に基本的なコードをいくつか覚えて、様々な曲を弾き始めるように、あなたも今日の10個のコマンドをマスターすることで、Windowsの管理やファイル操作を自由自在に行う第一歩を踏み出せます。さあ、実際にコマンドを打ち込みながら、そのパワーを体感していきましょう!
基本のキ:移動と表示のコマンドレット
まずは、ターミナル操作の基本である「現在地の確認」「移動」「中身の確認」を行う3つの必須コマンドレットです。これらはあなたの「目」と「足」になります。
1. Get-Location (エイリアス: pwd, gl)
今いるディレクトリのフルパスを確認します。Bashのpwdと同じ役割で、迷子になったときの生命線です。
Get-Location
2. Set-Location (エイリアス: cd, sl, chdir)
ディレクトリを移動します。Bashのcdと全く同じ感覚で使えます。cdというエイリアスが用意されているのが嬉しいですね。
# Cドライブの'work'フォルダに移動する
Set-Location C:\work
3. Get-ChildItem (エイリアス: ls, dir, gci)
現在のディレクトリにあるファイルやフォルダの一覧を表示します。Bashのls、コマンドプロンプトのdirと同じ役割です。
Get-ChildItem
PowerShellの真価はここから。-Recurseオプションを使えば、サブフォルダの中まで再帰的に、すべての項目を表示できます。
# サブフォルダ内も含めてすべて表示
Get-ChildItem -Recurse
ファイル操作:作成・閲覧・削除のコマンドレット
次に、ファイルやフォルダを直接操作するコマンドレットを見ていきましょう。これらはあなたの「手」となります。
4. New-Item (エイリアス: ni)
新しいファイルやフォルダを作成します。-ItemTypeでどちらを作るか指定します。
空のファイルの作成:
New-Item -Path ".\style.css" -ItemType File
新しいフォルダの作成:
New-Item -Path ".\assets" -ItemType Directory
5. Get-Content (エイリアス: cat, gc, type)
テキストファイルの中身を表示します。設定ファイルの内容をさっと確認したいときなどに便利です。
Get-Content -Path ".\style.css"
6. Remove-Item (エイリアス: rm, del, erase, rmdir)
ファイルやフォルダを削除します。【重要】このコマンドはファイルをゴミ箱に入れずに即座に完全削除します。元に戻せないので、細心の注意を払って使用してください。
Remove-Item -Path ".\style.css"
PowerShellの真髄:オブジェクトを扱うコマンドレット
ここからがPowerShellの本領発揮です。システムの状態や情報を「オブジェクト」として取得し、それを自在に加工するコマンドレットを紹介します。
7. Get-Process (エイリアス: ps)
現在実行中のプロセス(プログラム)の一覧をオブジェクトとして取得します。CPUやメモリの使用状況など、詳細な情報が含まれています。
Get-Process
8. Where-Object (エイリアス: where, ?)
パイプライン `|` から渡されたオブジェクトを、指定した条件で絞り込みます。SQLのWHERE句のように機能します。
例えば、全プロセスの中からGoogle Chromeのプロセスだけを抜き出してみましょう。
Get-Process | Where-Object { $_.ProcessName -eq "chrome" }
9. Sort-Object (エイリアス: sort)
オブジェクトを、指定したプロパティ(属性)の値で並べ替えます。
先ほどのChromeのプロセスを、メモリ使用量が多い順に並べ替えてみましょう。
Get-Process | Where-Object { $_.ProcessName -eq "chrome" } | Sort-Object -Property WS -Descending
10. Get-Help (エイリアス: help, man)
最後に紹介しますが、実はこれが最も重要なコマンドかもしれません。Get-Helpは、他のコマンドレットの使い方を教えてくれる、あなたの家庭教師です。使い方が分からないコマンドがあったら、まずこれを試しましょう。
Get-Help Get-Process
-Examplesオプションを付ければ、具体的な使用例を見ることができます。
Get-Help Get-Process -Examples
まとめ
お疲れ様でした!今回は、PowerShellの世界を探検するための、最初の武器となる10個の基本コマンドレットを紹介しました。どれもシンプルながら、パイプラインで繋ぐことで驚くほど複雑なタスクをこなせることを感じていただけたと思います。
覚えるコツは、エイリアスではなく、動詞-名詞の正式名称で覚えることです。そうすれば、未知のコマンドでも「〇〇を取得したいから、たぶん`Get-〇〇`だろう」と推測がつくようになり、学習がどんどん加速していきます。
コマンドの基本をマスターした今、次はいよいよこれらの知識を組み合わせて、あなただけの自動化ツール、つまり「PowerShellスクリプト」を作成するステップに進みます。次回の記事では、簡単なファイル操作を自動化するスクリプトの書き方をゼロから解説しますので、お楽しみに!