ぱんだツールズぱんだツールズ

シェルコマンド横断検索

Linux (bash) / コマンドプロンプト / PowerShell のコマンドを横断比較

ぱんだツールズファイルはサーバーに送信されません
Linux: 69cmd: 54PowerShell: 67
最終更新: 2026-04-12
全69件を表示中
ファイル・ディレクトリの一覧を表示する基本
ファイル操作
Linux (bash)
ls
構文

ls [オプション] [パス]

ls -la /home

隠しファイルを含む詳細一覧を表示

公式ドキュメント
cmd
dir
構文

dir [パス] [/オプション]

dir /a C:\Users

隠しファイルを含む一覧を表示

公式ドキュメント
PowerShell
Get-ChildItem
構文

Get-ChildItem [-Path] パス [-Force]

Get-ChildItem -Force ~

隠しファイルを含む一覧を表示

💡 エイリアス: ls, dir, gci

公式ドキュメント
カレントディレクトリを移動する基本
ファイル操作
Linux (bash)
cd
構文

cd [ディレクトリ]

cd /var/log

/var/log に移動

💡 bash 組み込みコマンド

公式ドキュメント
cmd
cd
構文

cd [ディレクトリ]

cd C:\Windows

C:\Windows に移動

💡 /d オプションでドライブも変更

公式ドキュメント
PowerShell
Set-Location
構文

Set-Location [-Path] パス

Set-Location C:\Windows

C:\Windows に移動

💡 エイリアス: cd, sl, chdir

公式ドキュメント
現在のディレクトリパスを表示する基本
ファイル操作
Linux (bash)
pwd
構文

pwd

pwd

/home/user と表示される

公式ドキュメント
cmd
cd
構文

cd

cd

C:\Users\user と表示される(引数なしで現在地を表示)

公式ドキュメント
PowerShell
Get-Location
構文

Get-Location

Get-Location

現在のパスオブジェクトを返す

💡 エイリアス: pwd, gl

公式ドキュメント

比較メモ: cmd では cd を引数なしで実行すると現在のディレクトリが表示される

ファイルやディレクトリをコピーする基本
ファイル操作
Linux (bash)
cp
構文

cp [オプション] 元 先

cp -r src/ backup/

src ディレクトリを再帰的にコピー

公式ドキュメント
cmd
copy
構文

copy [/オプション] 元 先

copy file.txt backup.txt

file.txt を backup.txt にコピー

💡 ディレクトリコピーは xcopy または robocopy

公式ドキュメント
PowerShell
Copy-Item
構文

Copy-Item [-Path] 元 [-Destination] 先 [-Recurse]

Copy-Item -Recurse src/ backup/

ディレクトリを再帰的にコピー

💡 エイリアス: cp, copy, cpi

公式ドキュメント
ファイルやディレクトリを移動する基本
ファイル操作
Linux (bash)
mv
構文

mv [オプション] 元 先

mv old.txt /tmp/

old.txt を /tmp/ に移動

公式ドキュメント
cmd
move
構文

move [/オプション] 元 先

move old.txt C:\temp\

old.txt を C:\temp に移動

公式ドキュメント
PowerShell
Move-Item
構文

Move-Item [-Path] 元 [-Destination] 先

Move-Item old.txt C:\temp\

old.txt を C:\temp に移動

💡 エイリアス: mv, move, mi

公式ドキュメント
ファイルやディレクトリの名前を変更する基本
ファイル操作
Linux (bash)
mv
構文

mv 旧名 新名

mv old.txt new.txt

old.txt を new.txt にリネーム

💡 Linux では mv がリネームも兼ねる

公式ドキュメント
cmd
ren
構文

ren 旧名 新名

ren old.txt new.txt

old.txt を new.txt にリネーム

💡 rename でも可

公式ドキュメント
PowerShell
Rename-Item
構文

Rename-Item [-Path] 旧名 [-NewName] 新名

Rename-Item old.txt new.txt

old.txt を new.txt にリネーム

💡 エイリアス: ren, rni

公式ドキュメント
ファイルを削除する基本
ファイル操作
Linux (bash)
rm
構文

rm [オプション] ファイル

rm -f temp.txt

temp.txt を確認なしで削除

公式ドキュメント
cmd
del
構文

del [/オプション] ファイル

del /f temp.txt

temp.txt を強制削除

💡 erase でも可

公式ドキュメント
PowerShell
Remove-Item
構文

Remove-Item [-Path] パス [-Force]

Remove-Item -Force temp.txt

temp.txt を強制削除

💡 エイリアス: rm, del, ri

公式ドキュメント
ディレクトリを新規作成する基本
ファイル操作
Linux (bash)
mkdir
構文

mkdir [オプション] ディレクトリ名

mkdir -p a/b/c

中間ディレクトリも含めて作成

公式ドキュメント
cmd
mkdir
構文

mkdir ディレクトリ名

mkdir a\b\c

中間ディレクトリも自動作成

💡 md でも可

公式ドキュメント
PowerShell
New-Item
構文

New-Item -ItemType Directory -Path パス

New-Item -ItemType Directory -Path a/b/c

ディレクトリを作成

💡 mkdir エイリアスも使用可能

公式ドキュメント
ディレクトリを削除する基本
ファイル操作
Linux (bash)
rm
構文

rm -r ディレクトリ

rm -rf old_project/

ディレクトリを再帰的に強制削除

公式ドキュメント
cmd
rmdir
構文

rmdir /s [/q] ディレクトリ

rmdir /s /q old_project

確認なしで再帰削除

💡 rd でも可

公式ドキュメント
PowerShell
Remove-Item
構文

Remove-Item -Recurse [-Force] パス

Remove-Item -Recurse -Force old_project/

再帰的に強制削除

公式ドキュメント
空のファイルを作成する基本
ファイル操作
Linux (bash)
touch
構文

touch ファイル名

touch newfile.txt

空のファイルを作成(既存なら更新日時を変更)

公式ドキュメント
cmd
type nul >
構文

type nul > ファイル名

type nul > newfile.txt

空のファイルを作成

💡 copy nul newfile.txt でも可

公式ドキュメント
PowerShell
New-Item
構文

New-Item -ItemType File -Path ファイル名

New-Item -ItemType File newfile.txt

空のファイルを作成

公式ドキュメント

比較メモ: Linux の touch は既存ファイルのタイムスタンプ更新にもよく使われる

ファイルの内容を表示する基本
ファイル操作
Linux (bash)
cat
構文

cat [オプション] ファイル

cat /etc/hosts

hosts ファイルの内容を表示

公式ドキュメント
cmd
type
構文

type ファイル

type C:\Windows\System32\drivers\etc\hosts

hosts ファイルの内容を表示

公式ドキュメント
PowerShell
Get-Content
構文

Get-Content [-Path] ファイル

Get-Content hosts.txt

ファイルの内容を表示

💡 エイリアス: cat, gc, type

公式ドキュメント
ファイルの先頭部分だけ表示する中級
ファイル操作
Linux (bash)
head
構文

head [-n 行数] ファイル

head -n 20 log.txt

先頭20行を表示

公式ドキュメント
cmd

直接対応するコマンドなし

set /p で1行だけ読むか、more を使う回避策あり

PowerShell
Get-Content
構文

Get-Content ファイル -Head 行数

Get-Content log.txt -Head 20

先頭20行を表示

💡 -TotalCount でも可

公式ドキュメント
ファイルの末尾部分だけ表示する中級
ファイル操作
Linux (bash)
tail
構文

tail [-n 行数] [-f] ファイル

tail -f /var/log/syslog

リアルタイムでログ末尾を監視

公式ドキュメント
cmd

直接対応するコマンドなし

直接対応なし。more コマンドの組み合わせで代替可能

PowerShell
Get-Content
構文

Get-Content ファイル -Tail 行数 [-Wait]

Get-Content log.txt -Tail 10 -Wait

末尾10行をリアルタイム監視

💡 -Wait は tail -f に相当

公式ドキュメント

比較メモ: tail -f のリアルタイム監視は Get-Content -Wait で再現可能

テキストを標準出力に表示する基本
テキスト処理
Linux (bash)
echo
構文

echo [オプション] 文字列

echo "Hello World"

Hello World と表示

公式ドキュメント
cmd
echo
構文

echo 文字列

echo Hello World

Hello World と表示

公式ドキュメント
PowerShell
Write-Output
構文

Write-Output オブジェクト

Write-Output "Hello World"

Hello World と表示

💡 echo はエイリアス。画面表示のみなら Write-Host

公式ドキュメント
ファイル内のテキストを検索する基本
テキスト処理
Linux (bash)
grep
構文

grep [オプション] パターン ファイル

grep -rn "TODO" ./src/

src 以下で TODO を再帰・行番号付きで検索

公式ドキュメント
cmd
findstr
構文

findstr [/オプション] 文字列 ファイル

findstr /s /n "TODO" src\*.txt

src 以下の txt から TODO を検索

💡 /r で正規表現対応

公式ドキュメント
PowerShell
Select-String
構文

Get-ChildItem -Recurse | Select-String -Pattern パターン

Get-ChildItem -Recurse -Filter *.txt src/ | Select-String -Pattern "TODO"

src 以下で TODO を再帰検索

💡 エイリアス: sls。正規表現をデフォルトでサポート

公式ドキュメント

比較メモ: grep は正規表現がデフォルト。findstr は /r を付けないとリテラル検索

テキストを置換する(ストリーム処理)中級
テキスト処理
Linux (bash)
sed
構文

sed 's/旧/新/g' ファイル

sed -i 's/foo/bar/g' file.txt

file.txt 内の foo を bar に一括置換

公式ドキュメント
cmd

直接対応するコマンドなし

PowerShell や外部ツール(sed for Windows)で代替

PowerShell
-replace
構文

(Get-Content ファイル) -replace '旧','新'

(Get-Content file.txt) -replace 'foo','bar' | Set-Content file.txt

file.txt 内の foo を bar に置換

💡 -replace 演算子は正規表現対応

公式ドキュメント

比較メモ: sed の -i オプション(in-place)は Linux/macOS で動作が異なる。macOS では -i "" が必要

テキストを列単位で処理する応用
テキスト処理
Linux (bash)
awk
構文

awk '{パターン}' ファイル

awk -F: '{print $1, $3}' /etc/passwd

passwd から ユーザー名とUID を抽出

💡 gawk も広く使われる

公式ドキュメント
cmd

直接対応するコマンドなし

for /f で簡易的な列処理は可能

PowerShell
ForEach-Object
構文

コマンド | ForEach-Object { $_.プロパティ }

Get-Process | ForEach-Object { "$($_.Name): $($_.CPU)" }

プロセス名と CPU 使用率を表示

💡 PowerShell はオブジェクトベースなので列番号ではなくプロパティ名でアクセス

公式ドキュメント

比較メモ: awk はテキスト列を番号($1, $2...)で参照。PowerShell はオブジェクトのプロパティ名で参照するため設計思想が異なる

テキスト行をソートする基本
テキスト処理
Linux (bash)
sort
構文

sort [オプション] ファイル

sort -n -r numbers.txt

数値として降順ソート

公式ドキュメント
cmd
sort
構文

sort [/オプション] ファイル

sort /r names.txt

降順ソート

💡 数値ソートは非対応

公式ドキュメント
PowerShell
Sort-Object
構文

コマンド | Sort-Object [-Property プロパティ] [-Descending]

Get-Content names.txt | Sort-Object

テキスト行を昇順ソート

💡 エイリアス: sort

公式ドキュメント
重複行を削除する中級
テキスト処理
Linux (bash)
uniq
構文

sort ファイル | uniq

sort data.txt | uniq -c

ソート後に重複を削除し出現回数を表示

💡 事前にソートが必要

公式ドキュメント
cmd

直接対応するコマンドなし

sort の後に findstr や for /f で代替可能だが煩雑

PowerShell
Get-Unique
構文

Sort-Object | Get-Unique

Get-Content data.txt | Sort-Object | Get-Unique

ソート後に重複行を削除

💡 Sort-Object -Unique でも可

公式ドキュメント

比較メモ: uniq も Get-Unique も事前にソートが必要。Sort-Object -Unique なら1コマンドで完結

行数・単語数・文字数をカウントする基本
テキスト処理
Linux (bash)
wc
構文

wc [オプション] ファイル

wc -l access.log

access.log の行数を表示

公式ドキュメント
cmd
find /c
構文

find /c /v "" ファイル

find /c /v "" access.log

access.log の行数を表示

💡 空でない行を数えて行数を取得するテクニック

公式ドキュメント
PowerShell
Measure-Object
構文

Get-Content ファイル | Measure-Object -Line -Word -Character

Get-Content access.log | Measure-Object -Line

access.log の行数を表示

公式ドキュメント
テキストから特定の列を抽出する中級
テキスト処理
Linux (bash)
cut
構文

cut -d 区切り -f フィールド番号 ファイル

cut -d',' -f1,3 data.csv

CSV の1列目と3列目を抽出

公式ドキュメント
cmd

直接対応するコマンドなし

for /f "tokens=1,3 delims=," で代替可能

PowerShell
-split
構文

コマンド | ForEach-Object { ($_ -split '区切り')[インデックス] }

Get-Content data.csv | ForEach-Object { ($_ -split ',')[0,2] -join ',' }

CSV の1列目と3列目を抽出

公式ドキュメント

比較メモ: CSV処理には Import-Csv(PowerShell)がより適切。cut はバイト位置指定(-b)も可能

2つのファイルの差分を比較する中級
テキスト処理
Linux (bash)
diff
構文

diff [オプション] ファイル1 ファイル2

diff -u old.txt new.txt

unified 形式で差分を表示

公式ドキュメント
cmd
fc
構文

fc [/オプション] ファイル1 ファイル2

fc old.txt new.txt

2ファイルの差分を表示

公式ドキュメント
PowerShell
Compare-Object
構文

Compare-Object (Get-Content ファイル1) (Get-Content ファイル2)

Compare-Object (Get-Content old.txt) (Get-Content new.txt)

行単位で差分を比較

公式ドキュメント

比較メモ: diff は行単位・文字単位の差分を多彩な形式(unified, context 等)で出力可能。fc はシンプルな比較のみ

条件に合うファイルを再帰的に検索する基本
検索・フィルタ
Linux (bash)
find
構文

find パス [条件]

find /var -name "*.log" -mtime -7

/var 以下の7日以内に更新された .log を検索

公式ドキュメント
cmd
dir /s
構文

dir /s /b [パターン]

dir /s /b C:\Projects\*.log

Projects 以下の .log を再帰検索

💡 where コマンドでも検索可能

公式ドキュメント
PowerShell
Get-ChildItem
構文

Get-ChildItem -Path パス -Filter パターン -Recurse

Get-ChildItem -Path C:\Projects -Filter *.log -Recurse

Projects 以下の .log を再帰検索

💡 エイリアス: gci, ls, dir

公式ドキュメント

比較メモ: find は名前・サイズ・日付・権限など高度な条件を組み合わせ可能。-exec でマッチしたファイルにコマンド実行も可

コマンドの実行ファイルのパスを調べる中級
検索・フィルタ
Linux (bash)
which
構文

which コマンド名

which python3

/usr/bin/python3 と表示される

公式ドキュメント
cmd
where
構文

where コマンド名

where python

python.exe のパスを表示

公式ドキュメント
PowerShell
Get-Command
構文

Get-Command コマンド名

Get-Command python

python の詳細情報(パス・種類等)を表示

💡 gcm エイリアス。-All で全候補を表示

公式ドキュメント
標準入力からの値を引数としてコマンドを実行する応用
検索・フィルタ
Linux (bash)
xargs
構文

コマンド | xargs [オプション] 実行コマンド

find . -name '*.tmp' | xargs rm

見つかった .tmp ファイルを一括削除

公式ドキュメント
cmd

直接対応するコマンドなし

for /f で代替: for /f %i in ('command') do command %i

PowerShell
ForEach-Object
構文

コマンド | ForEach-Object { 処理 }

Get-ChildItem -Filter *.tmp | ForEach-Object { Remove-Item $_.FullName }

.tmp ファイルを一括削除

💡 エイリアス: %, foreach

公式ドキュメント

比較メモ: xargs は並列実行(-P オプション)が可能。PowerShell は ForEach-Object -Parallel(PS 7+)で同様のことが可能

出力を画面表示とファイル保存に分岐する中級
検索・フィルタ
Linux (bash)
tee
構文

コマンド | tee ファイル

ls -la | tee filelist.txt

画面に表示しつつ filelist.txt にも保存

公式ドキュメント
cmd

直接対応するコマンドなし

直接対応なし。PowerShell の Tee-Object を使うか、2回実行で代替

PowerShell
Tee-Object
構文

コマンド | Tee-Object -FilePath ファイル

Get-ChildItem | Tee-Object -FilePath filelist.txt

画面に表示しつつ filelist.txt にも保存

💡 エイリアス: tee

公式ドキュメント
コマンドの出力を次のコマンドの入力に渡す基本
検索・フィルタ
Linux (bash)
|
構文

コマンド1 | コマンド2

cat log.txt | grep ERROR | wc -l

ログからERROR行を抽出して行数をカウント

公式ドキュメント
cmd
|
構文

コマンド1 | コマンド2

type log.txt | findstr ERROR

ログからERROR行を抽出

公式ドキュメント
PowerShell
|
構文

コマンド1 | コマンド2

Get-Content log.txt | Select-String ERROR | Measure-Object -Line

ログからERROR行を抽出して行数をカウント

公式ドキュメント

比較メモ: Linux/cmd はテキスト(バイト列)を受け渡す。PowerShell はオブジェクトを受け渡す点が根本的に異なる

コマンドの出力をファイルにリダイレクトする基本
検索・フィルタ
Linux (bash)
> / >>
構文

コマンド > ファイル(上書き)/ >> ファイル(追記)

echo "log entry" >> app.log

app.log に追記

公式ドキュメント
cmd
> / >>
構文

コマンド > ファイル(上書き)/ >> ファイル(追記)

echo log entry >> app.log

app.log に追記

公式ドキュメント
PowerShell
Out-File / >>
構文

コマンド | Out-File ファイル / コマンド >> ファイル

"log entry" | Out-File -Append app.log

app.log に追記

💡 > は Out-File、>> は Out-File -Append のエイリアス。Add-Content でも追記可能

公式ドキュメント

比較メモ: PowerShell の > はデフォルトで UTF-16 出力。UTF-8 にするには Out-File -Encoding utf8 を使う

実行中のプロセス一覧を表示する基本
プロセス管理
Linux (bash)
ps
構文

ps [オプション]

ps aux

全プロセスをユーザー・CPU・メモリ付きで表示

公式ドキュメント
cmd
tasklist
構文

tasklist [/オプション]

tasklist /v

全プロセスの詳細情報を表示

公式ドキュメント
PowerShell
Get-Process
構文

Get-Process [名前]

Get-Process | Sort-Object CPU -Descending

CPU使用量順にプロセスを表示

💡 エイリアス: ps, gps

公式ドキュメント
プロセスを強制終了する基本
プロセス管理
Linux (bash)
kill
構文

kill [-シグナル] PID

kill -9 12345

PID 12345 のプロセスを強制終了(SIGKILL)

公式ドキュメント
cmd
taskkill
構文

taskkill /PID プロセスID [/F]

taskkill /PID 12345 /F

PID 12345 のプロセスを強制終了

💡 /IM でプロセス名指定も可

公式ドキュメント
PowerShell
Stop-Process
構文

Stop-Process -Id PID [-Force]

Stop-Process -Id 12345 -Force

PID 12345 のプロセスを強制終了

💡 エイリアス: kill, spps。-Name でプロセス名指定も可

公式ドキュメント
プロセスの CPU・メモリ使用状況をリアルタイム監視する中級
プロセス管理
Linux (bash)
top
構文

top [オプション]

top -o %CPU

CPU使用率順にリアルタイム監視

公式ドキュメント
cmd

直接対応するコマンドなし

taskmgr(タスクマネージャー GUI)で代替

PowerShell

直接対応するコマンドなし

Get-Process をループで実行して代替: while($true){ Get-Process | Sort CPU -Desc | Select -First 10; Start-Sleep 2; Clear-Host }

比較メモ: htop(Linux)はより見やすいインタラクティブ版。Windows は GUI のタスクマネージャーが標準的

コマンドをバックグラウンドで実行する中級
プロセス管理
Linux (bash)
&
構文

コマンド &

python server.py &

サーバーをバックグラウンドで起動

公式ドキュメント
cmd
start /b
構文

start /b コマンド

start /b python server.py

サーバーをバックグラウンドで起動

公式ドキュメント
PowerShell
Start-Job
構文

Start-Job -ScriptBlock { コマンド }

Start-Job -ScriptBlock { python server.py }

サーバーをバックグラウンドジョブとして起動

💡 Receive-Job で結果を取得。& 演算子も PS 7+ で使用可能

公式ドキュメント
ターミナルを閉じてもプロセスを継続する中級
プロセス管理
Linux (bash)
nohup
構文

nohup コマンド &

nohup python server.py > server.log 2>&1 &

ターミナル切断後もサーバーを継続

公式ドキュメント
cmd
start
構文

start コマンド

start python server.py

新しいウィンドウでプロセスを起動

公式ドキュメント
PowerShell
Start-Process
構文

Start-Process コマンド [-WindowStyle Hidden]

Start-Process python -ArgumentList "server.py" -WindowStyle Hidden

非表示ウィンドウでプロセスを起動

公式ドキュメント

比較メモ: Linux では tmux や screen も長時間実行のプロセス管理によく使われる

指定時間だけ待機する基本
プロセス管理
Linux (bash)
sleep
構文

sleep 秒数

sleep 5

5秒間待機

公式ドキュメント
cmd
timeout
構文

timeout /t 秒数 [/nobreak]

timeout /t 5 /nobreak

5秒間待機(キー入力で中断不可)

公式ドキュメント
PowerShell
Start-Sleep
構文

Start-Sleep -Seconds 秒数

Start-Sleep -Seconds 5

5秒間待機

💡 エイリアス: sleep

公式ドキュメント
コマンドを定期的に自動実行する(タスクスケジュール)応用
プロセス管理
Linux (bash)
crontab
構文

crontab -e(編集)/ crontab -l(一覧)

crontab -e

cron ジョブを編集する

公式ドキュメント
cmd
schtasks
構文

schtasks /create /tn 名前 /tr コマンド /sc 頻度

schtasks /create /tn "Backup" /tr "backup.bat" /sc daily /st 02:00

毎日2時にバックアップを実行

公式ドキュメント
PowerShell
Register-ScheduledTask
構文

Register-ScheduledTask -TaskName 名前 -Trigger トリガー -Action アクション

Register-ScheduledTask -TaskName "Backup" -Trigger (New-ScheduledTaskTrigger -Daily -At 2am) -Action (New-ScheduledTaskAction -Execute "backup.ps1")

毎日2時にバックアップを実行

公式ドキュメント

比較メモ: crontab は「分 時 日 月 曜日」の5フィールド形式。schtasks / ScheduledTask はGUIからも設定可能

ネットワークの疎通を確認する基本
ネットワーク
Linux (bash)
ping
構文

ping [オプション] ホスト

ping -c 4 google.com

google.com に4回 ping を送信

公式ドキュメント
cmd
ping
構文

ping [オプション] ホスト

ping -n 4 google.com

google.com に4回 ping を送信

公式ドキュメント
PowerShell
Test-Connection
構文

Test-Connection -TargetName ホスト [-Count 回数]

Test-Connection -TargetName google.com -Count 4

google.com に4回 ping を送信

💡 ping エイリアスも使用可能

公式ドキュメント

比較メモ: Linux は -c(回数指定しないと無限)、cmd は -n(デフォルト4回)と動作が逆

HTTP/HTTPSリクエストを送信する中級
ネットワーク
Linux (bash)
curl
構文

curl [オプション] URL

curl -s https://api.example.com/data | jq .

API を呼び出して JSON を整形表示

公式ドキュメント
cmd
curl
構文

curl [オプション] URL

curl -s https://api.example.com/data

API を呼び出してレスポンスを表示

💡 Windows 10 以降は curl.exe を同梱

公式ドキュメント
PowerShell
Invoke-WebRequest
構文

Invoke-WebRequest -Uri URL

(Invoke-WebRequest -Uri https://api.example.com/data).Content

API を呼び出してレスポンス本文を表示

💡 エイリアス: iwr。JSON には Invoke-RestMethod が便利

公式ドキュメント

比較メモ: PowerShell の curl は Invoke-WebRequest のエイリアスなので、curl.exe を使いたい場合は curl.exe と明示する

ファイルをダウンロードする中級
ネットワーク
Linux (bash)
wget
構文

wget [オプション] URL

wget -O output.zip https://example.com/file.zip

file.zip をダウンロード

公式ドキュメント
cmd
curl
構文

curl -o ファイル名 URL

curl -o output.zip https://example.com/file.zip

file.zip をダウンロード

💡 bitsadmin でも可能だが非推奨

公式ドキュメント
PowerShell
Invoke-WebRequest
構文

Invoke-WebRequest -Uri URL -OutFile ファイル名

Invoke-WebRequest -Uri https://example.com/file.zip -OutFile output.zip

file.zip をダウンロード

公式ドキュメント
リモートマシンに接続する中級
ネットワーク
Linux (bash)
ssh
構文

ssh [ユーザー@]ホスト

ssh [email protected]

リモートサーバーに SSH 接続

公式ドキュメント
cmd
ssh
構文

ssh [ユーザー@]ホスト

ssh [email protected]

リモートサーバーに SSH 接続

💡 Windows 10 以降は OpenSSH クライアントを同梱

公式ドキュメント
PowerShell
Enter-PSSession
構文

Enter-PSSession -ComputerName ホスト [-Credential ユーザー]

Enter-PSSession -ComputerName Server01

Server01 に PowerShell リモーティングで接続

💡 SSH も使用可能: Enter-PSSession -HostName host -UserName user

公式ドキュメント

比較メモ: Enter-PSSession は PowerShell リモーティング(WinRM)。SSH とは別プロトコル。PS 7+ では SSH 経由の PSSession も可能

リモートマシンとファイルをコピーする中級
ネットワーク
Linux (bash)
scp
構文

scp [オプション] 元 先

scp file.txt user@server:/home/user/

ファイルをリモートサーバーにコピー

公式ドキュメント
cmd
scp
構文

scp 元 先

scp file.txt user@server:/home/user/

ファイルをリモートサーバーにコピー

💡 Windows 10 以降で利用可能

公式ドキュメント
PowerShell
Copy-Item
構文

Copy-Item -Path ローカル -Destination リモート -ToSession セッション

$s = New-PSSession Server01; Copy-Item -Path file.txt -Destination C:\temp\ -ToSession $s

PSSession 経由でリモートにコピー

💡 scp コマンドも PS から直接使用可能

公式ドキュメント
ネットワーク接続・ポートの状態を確認する中級
ネットワーク
Linux (bash)
ss
構文

ss [オプション]

ss -tlnp

リスニング中の TCP ポートとプロセスを表示

💡 netstat は非推奨。ss が後継

公式ドキュメント
cmd
netstat
構文

netstat [オプション]

netstat -an

全接続とリスニングポートを数値表示

公式ドキュメント
PowerShell
Get-NetTCPConnection
構文

Get-NetTCPConnection [-State 状態]

Get-NetTCPConnection -State Listen

リスニング中の TCP 接続を表示

公式ドキュメント

比較メモ: Linux では ss(socket statistics)が netstat の後継。Windows では netstat がまだ現役

IPアドレスやネットワーク設定を確認する基本
ネットワーク
Linux (bash)
ip
構文

ip addr show

ip addr show

全インターフェースの IP アドレスを表示

💡 ifconfig は非推奨。ip コマンドが後継

公式ドキュメント
cmd
ipconfig
構文

ipconfig [/all]

ipconfig /all

すべてのネットワーク設定を詳細表示

公式ドキュメント
PowerShell
Get-NetIPAddress
構文

Get-NetIPAddress [-AddressFamily IPv4]

Get-NetIPAddress -AddressFamily IPv4

IPv4 アドレスを表示

公式ドキュメント

比較メモ: Linux では ifconfig は非推奨で ip コマンドが後継。ipconfig /flushdns は DNS キャッシュクリアによく使われる

DNSの名前解決を行う中級
ネットワーク
Linux (bash)
dig
構文

dig [@サーバー] ドメイン [タイプ]

dig google.com A

google.com の A レコードを問い合わせ

公式ドキュメント
cmd
nslookup
構文

nslookup ドメイン [サーバー]

nslookup google.com

google.com の IP アドレスを問い合わせ

公式ドキュメント
PowerShell
Resolve-DnsName
構文

Resolve-DnsName ドメイン [-Type タイプ]

Resolve-DnsName google.com -Type A

google.com の A レコードを問い合わせ

公式ドキュメント

比較メモ: dig はより詳細な出力で開発者に好まれる。nslookup は全OS共通で使える

OS・カーネルの情報を表示する基本
システム情報
Linux (bash)
uname
構文

uname [オプション]

uname -a

カーネル名・バージョン・アーキテクチャ等を全表示

公式ドキュメント
cmd
ver
構文

ver

ver

Windows のバージョンを表示

💡 systeminfo でより詳細な情報を取得可能

公式ドキュメント
PowerShell
[Environment]::OSVersion
構文

[System.Environment]::OSVersion

[System.Environment]::OSVersion

OS のバージョン情報を表示

💡 $PSVersionTable で PowerShell バージョンも確認可能

公式ドキュメント
ホスト名(コンピュータ名)を表示する基本
システム情報
Linux (bash)
hostname
構文

hostname

hostname

マシンのホスト名を表示

公式ドキュメント
cmd
hostname
構文

hostname

hostname

マシンのホスト名を表示

公式ドキュメント
PowerShell
hostname
構文

hostname

hostname

マシンのホスト名を表示

💡 $env:COMPUTERNAME でも取得可能

公式ドキュメント
現在の日付・時刻を表示する基本
システム情報
Linux (bash)
date
構文

date [+フォーマット]

date "+%Y-%m-%d %H:%M:%S"

2026-04-12 15:30:00 のような形式で表示

公式ドキュメント
cmd
date /t
構文

date /t(日付)/ time /t(時刻)

date /t

現在の日付を表示

公式ドキュメント
PowerShell
Get-Date
構文

Get-Date [-Format フォーマット]

Get-Date -Format "yyyy-MM-dd HH:mm:ss"

2026-04-12 15:30:00 のような形式で表示

公式ドキュメント

比較メモ: date コマンドのフォーマット指定子は Linux(%Y)と PowerShell(yyyy)で異なる

システムの稼働時間を確認する中級
システム情報
Linux (bash)
uptime
構文

uptime

uptime

稼働時間・ログインユーザー数・負荷平均を表示

公式ドキュメント
cmd

直接対応するコマンドなし

systeminfo | find "Boot Time" で起動時刻を取得可能

PowerShell
Get-CimInstance
構文

(Get-CimInstance Win32_OperatingSystem).LastBootUpTime

(Get-Date) - (Get-CimInstance Win32_OperatingSystem).LastBootUpTime

起動からの経過時間を計算して表示

公式ドキュメント
環境変数の一覧を表示する基本
システム情報
Linux (bash)
env
構文

env / printenv

env | grep PATH

PATH 環境変数を表示

公式ドキュメント
cmd
set
構文

set [変数名]

set PATH

PATH 環境変数を表示

公式ドキュメント
PowerShell
Get-ChildItem Env:
構文

Get-ChildItem Env: [名前]

Get-ChildItem Env:PATH

PATH 環境変数を表示

💡 $env:PATH でも直接参照可能

公式ドキュメント
環境変数を設定する基本
システム情報
Linux (bash)
export
構文

export 変数名=値

export API_KEY="abc123"

API_KEY 環境変数を設定

💡 現在のシェルセッションのみ有効。永続化は .bashrc 等に記述

公式ドキュメント
cmd
set
構文

set 変数名=値

set API_KEY=abc123

API_KEY 環境変数を設定

💡 現在のセッションのみ有効。永続化は setx を使用

公式ドキュメント
PowerShell
$env:
構文

$env:変数名 = "値"

$env:API_KEY = "abc123"

API_KEY 環境変数を設定

💡 現在のセッションのみ有効。永続化は [Environment]::SetEnvironmentVariable() を使用

公式ドキュメント

比較メモ: いずれもセッション限定。永続化するには Linux は .bashrc、cmd は setx、PS は [Environment]::SetEnvironmentVariable を使う

メモリの使用状況を確認する中級
システム情報
Linux (bash)
free
構文

free [オプション]

free -h

メモリ使用量を人間が読みやすい単位で表示

公式ドキュメント
cmd

直接対応するコマンドなし

systeminfo | find "Memory" でメモリ情報を取得可能

PowerShell
Get-CimInstance
構文

Get-CimInstance Win32_OperatingSystem | Select *Memory*

Get-CimInstance Win32_OperatingSystem | Select FreePhysicalMemory,TotalVisibleMemorySize

物理メモリの合計と空き容量を表示

公式ドキュメント
ディスクの空き容量を確認する基本
システム情報
Linux (bash)
df
構文

df [オプション] [パス]

df -h

ディスク使用量を人間が読みやすい単位で表示

公式ドキュメント
cmd
wmic
構文

wmic logicaldisk get size,freespace,caption

wmic logicaldisk get size,freespace,caption

各ドライブのサイズと空き容量を表示

💡 wmic は非推奨。PowerShell の Get-PSDrive を推奨

公式ドキュメント
PowerShell
Get-PSDrive
構文

Get-PSDrive -PSProvider FileSystem

Get-PSDrive -PSProvider FileSystem

全ドライブの使用量・空き容量を表示

公式ドキュメント
ファイルのアクセス権限を変更する中級
権限・ユーザー
Linux (bash)
chmod
構文

chmod [モード] ファイル

chmod 755 script.sh

オーナーに全権限、他は読み取り・実行のみ

公式ドキュメント
cmd
icacls
構文

icacls ファイル /grant ユーザー:権限

icacls file.txt /grant Everyone:R

Everyone に読み取り権限を付与

公式ドキュメント
PowerShell
Set-Acl
構文

Set-Acl -Path パス -AclObject ACL

$acl = Get-Acl file.txt; $rule = New-Object System.Security.AccessControl.FileSystemAccessRule("Everyone","Read","Allow"); $acl.SetAccessRule($rule); Set-Acl file.txt $acl

Everyone に読み取り権限を付与

公式ドキュメント

比較メモ: Linux は数値(755)やシンボリック(u+x)で簡潔に指定可能。Windows の ACL はより細かい制御ができるが記述が複雑

ファイルの所有者を変更する応用
権限・ユーザー
Linux (bash)
chown
構文

chown [ユーザー]:[グループ] ファイル

chown www-data:www-data /var/www/html

Web ディレクトリの所有者を www-data に変更

公式ドキュメント
cmd
takeown
構文

takeown /f ファイル [/r]

takeown /f C:\data /r

data ディレクトリの所有権を再帰的に取得

公式ドキュメント
PowerShell
Set-Acl
構文

$acl = Get-Acl パス; $acl.SetOwner(ユーザー); Set-Acl パス $acl

$acl = Get-Acl file.txt; $acl.SetOwner([System.Security.Principal.NTAccount]"DOMAIN\User"); Set-Acl file.txt $acl

所有者を変更

公式ドキュメント

比較メモ: takeown は自分自身への所有権取得のみ。他ユーザーへの変更は icacls や Set-Acl が必要

管理者権限でコマンドを実行する基本
権限・ユーザー
Linux (bash)
sudo
構文

sudo コマンド

sudo apt update

管理者権限でパッケージ一覧を更新

公式ドキュメント
cmd
runas
構文

runas /user:管理者 コマンド

runas /user:Administrator cmd

管理者として新しい cmd を起動

💡 右クリック→「管理者として実行」が一般的

公式ドキュメント
PowerShell
Start-Process
構文

Start-Process コマンド -Verb RunAs

Start-Process powershell -Verb RunAs

管理者権限で新しい PowerShell を起動

公式ドキュメント

比較メモ: Linux は sudo で現在のシェルから昇格可能。Windows は新しいプロセスを管理者として起動する方式

現在のユーザー名を表示する基本
権限・ユーザー
Linux (bash)
whoami
構文

whoami

whoami

現在のユーザー名を表示

公式ドキュメント
cmd
whoami
構文

whoami

whoami

現在のユーザー名を表示(DOMAIN\username 形式)

公式ドキュメント
PowerShell
whoami
構文

whoami

whoami

現在のユーザー名を表示

💡 $env:USERNAME でも取得可能

公式ドキュメント
新しいユーザーアカウントを作成する応用
権限・ユーザー
Linux (bash)
useradd
構文

useradd [オプション] ユーザー名

sudo useradd -m -s /bin/bash newuser

ホームディレクトリ付きで新ユーザーを作成

公式ドキュメント
cmd
net user
構文

net user ユーザー名 パスワード /add

net user newuser P@ssw0rd /add

新しいユーザーを追加

💡 管理者権限が必要

公式ドキュメント
PowerShell
New-LocalUser
構文

New-LocalUser -Name 名前 -Password (ConvertTo-SecureString パスワード -AsPlainText -Force)

New-LocalUser -Name "newuser" -Password (ConvertTo-SecureString "P@ssw0rd" -AsPlainText -Force)

新しいローカルユーザーを追加

公式ドキュメント
tar アーカイブを作成・展開する基本
圧縮・展開
Linux (bash)
tar
構文

tar [オプション] アーカイブ名 [ファイル...]

tar czf backup.tar.gz ./project/

project ディレクトリを gzip 圧縮して tar 作成

公式ドキュメント
cmd
tar
構文

tar [オプション] アーカイブ名 [ファイル...]

tar czf backup.tar.gz project\

project ディレクトリを tar.gz 作成

💡 Windows 10 以降で利用可能(bsdtar 同梱)

公式ドキュメント
PowerShell

直接対応するコマンドなし

tar.exe は PowerShell からも呼び出せるが、ネイティブ cmdlet はなし。Compress-Archive は ZIP のみ対応

比較メモ: Linux の tar は gzip/bzip2/xz 圧縮を統合。Windows の tar は Windows 10 (1803) 以降で同梱

ZIP アーカイブを作成する基本
圧縮・展開
Linux (bash)
zip
構文

zip [オプション] アーカイブ名 ファイル...

zip -r backup.zip ./project/

project ディレクトリを再帰的に ZIP 圧縮

公式ドキュメント
cmd

直接対応するコマンドなし

PowerShell の Compress-Archive か、tar -a -cf archive.zip で代替

PowerShell
Compress-Archive
構文

Compress-Archive -Path 元パス -DestinationPath ZIP名

Compress-Archive -Path ./project/ -DestinationPath backup.zip

project ディレクトリを ZIP 圧縮

公式ドキュメント
ZIP アーカイブを展開する基本
圧縮・展開
Linux (bash)
unzip
構文

unzip [オプション] アーカイブ名 [-d 展開先]

unzip backup.zip -d /tmp/restore/

/tmp/restore/ に展開

公式ドキュメント
cmd

直接対応するコマンドなし

PowerShell の Expand-Archive か、tar -xf archive.zip で代替

PowerShell
Expand-Archive
構文

Expand-Archive -Path ZIP名 -DestinationPath 展開先

Expand-Archive -Path backup.zip -DestinationPath ./restore/

restore ディレクトリに展開

公式ドキュメント
ディレクトリのサイズを確認する中級
ディスク・ストレージ
Linux (bash)
du
構文

du [オプション] [パス]

du -sh /var/log/*

/var/log 内の各ディレクトリサイズを表示

公式ドキュメント
cmd

直接対応するコマンドなし

dir /s で合計サイズは表示されるが個別ディレクトリのサイズ比較は困難

PowerShell
Get-ChildItem + Measure-Object
構文

(Get-ChildItem -Recurse パス | Measure-Object Length -Sum).Sum

(Get-ChildItem -Recurse ./logs | Measure-Object Length -Sum).Sum / 1MB

logs ディレクトリの合計サイズを MB で表示

公式ドキュメント

比較メモ: du -sh は最も簡潔。PowerShell ではパイプラインで計算する必要がある

シンボリックリンク(ショートカット)を作成する中級
ディスク・ストレージ
Linux (bash)
ln
構文

ln -s リンク先 リンク名

ln -s /var/log/app.log ./app.log

app.log へのシンボリックリンクを作成

公式ドキュメント
cmd
mklink
構文

mklink [/d] リンク名 リンク先

mklink app.log C:\var\log\app.log

app.log へのシンボリックリンクを作成

💡 管理者権限が必要(開発者モード有効時は不要)

公式ドキュメント
PowerShell
New-Item
構文

New-Item -ItemType SymbolicLink -Path リンク名 -Target リンク先

New-Item -ItemType SymbolicLink -Path app.log -Target C:\var\log\app.log

app.log へのシンボリックリンクを作成

💡 管理者権限が必要(開発者モード有効時は不要)

公式ドキュメント

比較メモ: Windows ではシンボリックリンク作成に管理者権限または開発者モードが必要。Linux では一般ユーザーで作成可能

ディスク・ブロックデバイスの一覧を表示する応用
ディスク・ストレージ
Linux (bash)
lsblk
構文

lsblk [オプション]

lsblk -f

デバイス一覧をファイルシステム情報付きで表示

公式ドキュメント
cmd
wmic
構文

wmic diskdrive list brief

wmic diskdrive list brief

ディスクドライブの概要を表示

💡 wmic は非推奨。PowerShell の Get-Disk を推奨

公式ドキュメント
PowerShell
Get-Disk
構文

Get-Disk

Get-Disk | Format-Table

ディスク一覧をテーブル形式で表示

公式ドキュメント
コマンドの実行履歴を表示する基本
その他
Linux (bash)
history
構文

history [件数]

history | grep git

git 関連のコマンド履歴を検索

公式ドキュメント
cmd
doskey /history
構文

doskey /history

doskey /history

現在のセッションのコマンド履歴を表示

💡 セッション終了で履歴が消える

公式ドキュメント
PowerShell
Get-History
構文

Get-History [-Count 件数]

Get-History | Select-String git

git 関連のコマンド履歴を検索

💡 エイリアス: h, history。PSReadLine で永続化される

公式ドキュメント

比較メモ: Linux の history は .bash_history に永続保存。cmd の doskey /history はセッション限り。PS は PSReadLine モジュールで永続化

コマンドのエイリアス(別名)を設定する中級
その他
Linux (bash)
alias
構文

alias 別名="コマンド"

alias ll="ls -la"

ll で ls -la を実行できるように設定

💡 永続化は .bashrc や .zshrc に記述

公式ドキュメント
cmd
doskey
構文

doskey 別名=コマンド

doskey ll=dir /a

ll で dir /a を実行できるように設定

💡 セッション終了で消える。永続化は AutoRun レジストリが必要

公式ドキュメント
PowerShell
Set-Alias
構文

Set-Alias -Name 別名 -Value コマンド

Set-Alias -Name ll -Value Get-ChildItem

ll で Get-ChildItem を実行できるように設定

💡 永続化は $PROFILE に記述。引数付きエイリアスは function で定義

公式ドキュメント
コマンドのヘルプ・マニュアルを表示する基本
その他
Linux (bash)
man
構文

man コマンド名

man grep

grep のマニュアルを表示

公式ドキュメント
cmd
help / /?
構文

コマンド /?

dir /?

dir コマンドのヘルプを表示

💡 一部コマンドは help コマンドでも表示可能

公式ドキュメント
PowerShell
Get-Help
構文

Get-Help コマンド名 [-Full]

Get-Help Get-Process -Full

Get-Process の詳細ヘルプを表示

💡 help エイリアス。Update-Help で最新ヘルプをダウンロード

公式ドキュメント
画面をクリアする基本
その他
Linux (bash)
clear
構文

clear

clear

画面をクリア

公式ドキュメント
cmd
cls
構文

cls

cls

画面をクリア

公式ドキュメント
PowerShell
Clear-Host
構文

Clear-Host

Clear-Host

画面をクリア

💡 エイリアス: cls, clear

公式ドキュメント
シェル・ターミナルを終了する基本
その他
Linux (bash)
exit
構文

exit [終了コード]

exit 0

終了コード 0 でシェルを終了

💡 Ctrl+D でも終了可能

公式ドキュメント
cmd
exit
構文

exit [/b] [終了コード]

exit

cmd を終了

公式ドキュメント
PowerShell
exit
構文

exit [終了コード]

exit

PowerShell を終了

公式ドキュメント
スクリプトファイルを実行する中級
その他
Linux (bash)
bash / ./script.sh
構文

bash スクリプト名 / ./スクリプト名

bash deploy.sh

deploy.sh を bash で実行

💡 実行権限(chmod +x)を付ければ ./script.sh で直接実行可能

公式ドキュメント
cmd
script.bat
構文

スクリプト名.bat

deploy.bat

deploy.bat を実行

💡 .cmd 拡張子でも可

公式ドキュメント
PowerShell
.\script.ps1
構文

.\スクリプト名.ps1

.\deploy.ps1

deploy.ps1 を実行

💡 初回は Set-ExecutionPolicy の設定が必要な場合がある

公式ドキュメント

比較メモ: PowerShell はセキュリティのためデフォルトでスクリプト実行が制限されている。Set-ExecutionPolicy RemoteSigned で解除可能

スクリプトに実行権限を付与する中級
その他
Linux (bash)
chmod +x
構文

chmod +x スクリプト名

chmod +x deploy.sh

deploy.sh に実行権限を付与

公式ドキュメント
cmd

直接対応するコマンドなし

Windows のバッチファイル(.bat/.cmd)は実行権限の概念がない

PowerShell
Set-ExecutionPolicy
構文

Set-ExecutionPolicy ポリシー [-Scope スコープ]

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

現在のユーザーに対してローカルスクリプトの実行を許可

💡 Restricted(デフォルト)→ RemoteSigned が推奨

公式ドキュメント

比較メモ: Linux はファイル単位の実行権限。PowerShell はシステム/ユーザー単位の実行ポリシーで制御する

よくある質問

Linux・コマンドプロンプト・PowerShell の違いは何ですか?

Linux シェル(bash/zsh)は macOS/Linux で使われる標準シェルです。コマンドプロンプト(cmd)は Windows に古くから搭載されている CUI 環境で、バッチファイル(.bat)を実行できます。PowerShell は Microsoft が開発した高機能シェルで、オブジェクトベースのパイプラインが特徴です。Windows 10 以降では PowerShell が標準となりつつあります。

コマンドプロンプト(cmd)はまだ使われていますか?

はい、Windows のバッチファイル(.bat/.cmd)は企業の自動化スクリプトとして現在も広く使われています。レガシーシステムとの互換性維持のため、cmd を使い続けている現場は多数あります。ただし、新規開発では PowerShell への移行が推奨されています。

PowerShell のエイリアスとは何ですか?

PowerShell では ls(Get-ChildItem)、cat(Get-Content)、rm(Remove-Item)など、Linux コマンドに似たエイリアスが多数定義されています。これにより Linux に慣れたユーザーが移行しやすくなっていますが、動作は PowerShell のネイティブ cmdlet に準じるため、完全に同じ挙動ではありません。

Windows で Linux コマンドを使う方法はありますか?

WSL(Windows Subsystem for Linux)を利用すれば、Windows 上で Linux シェル環境を使えます。また、Git for Windows に付属する Git Bash でも基本的な Linux コマンドが使えます。PowerShell にも ls, cat, rm 等の Linux 風エイリアスがあります。

データはいつ更新されますか?

最終更新日: 2026-04-12。各シェルの主要コマンドを網羅的に掲載しています。新しいコマンドや変更があれば随時更新します。

難易度はどのように決まりますか?

「基本」は最初に覚えるべき必須コマンド、「中級」は日常的に使う実用コマンド、「応用」は特定の場面で役立つ上級コマンドです。まずは「基本」から覚えるのがおすすめです。

Linux のコマンドと PowerShell のコマンドはどう違いますか?

根本的な違いはパイプラインの仕組みです。Linux のパイプ(|)はテキスト(バイト列)を次のコマンドに渡しますが、PowerShell のパイプはオブジェクト(構造化データ)を渡します。そのため PowerShell では grep のようなテキストパターンマッチではなく、プロパティ名でデータにアクセスする設計になっています。

開発者ツール一覧

すべて見る

このツールについて

使い方

  1. 検索欄にコマンド名(例: grep)や操作内容(例: ファイル削除)を入力する
  2. 「Linux」「cmd」「PowerShell」のフィルターで見たいシェルに絞り込む
  3. カテゴリドロップダウンでファイル操作・ネットワーク等の種類別に絞り込む
  4. 難易度フィルター(基本・中級・応用)で自分のレベルに合ったコマンドを探す

このツールの特徴

  • 3つのシェル環境を横断比較:Linux (bash)・コマンドプロンプト・PowerShell の同じ操作に対応するコマンドを並べて表示します。OS間の移行や併用時に「あのコマンド、このOSではなんだっけ?」をすぐ解決できます
  • 「やりたいこと」から逆引き:「ファイル一覧を表示したい」「プロセスを終了したい」など、操作の目的からコマンドを検索できます
  • 構文と実行例をセットで掲載:各コマンドに基本構文(syntax)と具体的な実行例を掲載しているため、コピー&ペーストですぐ使えます
  • 公式ドキュメントへのリンク付き:man ページ(Linux)、Microsoft Docs(cmd/PowerShell)への直リンクで、詳細な仕様をすぐ確認できます
  • 比較メモで違いを解説:同名コマンドでもOS間で動作が異なる箇所(例: ping の回数指定オプション)を比較メモで補足しています

こんなときに便利

  • Linux に慣れていて、Windows(cmd/PowerShell)での対応コマンドを知りたい
  • Windows から macOS/Linux に移行して、対応するコマンドを探している
  • コマンドプロンプトから PowerShell に移行したい
  • クロスプラットフォームのスクリプトを書く際に、各OS での書き方を確認したい
  • 「ls に相当する Windows コマンドは?」のような疑問をすぐ解決したい

なぜ「シェルコマンド横断検索」が必要なのか

開発者は日常的に複数の OS 環境を行き来しています。ローカル開発は macOS、CI/CD は Linux、社内ツールは Windows——こうした環境で「grep に相当するコマンドは cmd だと findstr、PowerShell だと Select-String」といった知識が必要になりますが、毎回検索するのは非効率です。

既存のコマンドリファレンスは「Linux コマンド一覧」「PowerShell コマンドレット一覧」のように単一のシェル環境に特化したものがほとんどです。3つのシェル環境を横断的に比較し、「やりたい操作」をキーにしてコマンドを逆引きできるツールはほとんど存在しません。

このツールは「操作の目的」を起点に、3つのシェル環境のコマンドを一覧比較することで、OS間の移行コストを最小化することを目指しています。

各シェル環境の概要

  • Linux シェル(bash / zsh):macOS と Linux の標準シェル。テキスト処理に強く、パイプラインで小さなコマンドを組み合わせる「UNIX 哲学」に基づいた設計です。シェルスクリプト(.sh)で自動化できます。
  • コマンドプロンプト(cmd.exe):Windows に古くから搭載されている CUI 環境。MS-DOS 時代からの互換性を維持しており、バッチファイル(.bat / .cmd)による自動化が可能です。機能は限定的ですが、企業の既存スクリプトで現在も広く使われています。
  • PowerShell:Microsoft が開発した次世代シェル。最大の特徴はオブジェクトベースのパイプラインで、コマンドの出力をテキストではなく構造化されたオブジェクトとして受け渡します。.NET フレームワークと統合されており、Windows 管理タスクに特に強力です。PowerShell 7 以降はクロスプラットフォーム対応で macOS/Linux でも動作します。