[リファレンス] Linux(bash)/PowerShell よく利用するコマンド比較一覧表

スポンサーリンク

Linux等のUnixライクなCUIに慣れているユーザが、WindowsのPowerShellを利用して同様の操作を実行しようとすると、ちょっとした事でも手間取ることが多いです。

そこでこのページでは、利用頻度の高い基本的なLinuxコマンド(bash)と、同等の操作にあたるPowerShellコマンドをまとめます。

なお、Linuxではグループ化する単位を「ディレクトリ」(directory)と呼び、Windowsでは「フォルダ」(folder)と呼ぶことが多いです。当ページでは「ディレクトリ」に統一して記載することとします。

ファイル・ディレクトリ操作関連

操作Linux(bash)PowerShell補足
現在のフォルダ内にあるファイル・ディレクトリ一覧を表示するlsGet-ChildItem
dir
ls
カレントディレクトリのパスを表示するpwdGet-Location
pwd
カレントディレクトリを移動するcd ディレクトリパスSet-Location ディレクトリパス
cd ディレクトリパス
ディレクトリを新規作成するmkdir ディレクトリ名1 ディレクトリ名2New-Item ディレクトリ名1,ディレクトリ名2 -ItemType Directory
mkdir ディレクトリ名1,ディレクトリ名2
PowerShellでは、複数のディレクトリを列挙して一括操作する場合は「,」を使って列挙する
ファイル・ディレクトリの移動、名前を変更mv ファイル名 ディレクトリ名
mv ファイル名1 ファイル名2
Move-Item ファイル名 ディレクトリ名
Move-Item ファイル名1 ファイル名2
ファイル・ディレクトリを削除するrm ファイル名1 ファイル名2
rm -r フォルダ名
rmdir ディレクトリ名
Remove-Item ファイル名1,ファイル名2
rm ディレクトリ名1,ディレクトリ名2
PowerShellではファイルとディレクトリで操作方法は同じ
ファイルの内容を表示するcat ファイル名Get-Content ファイル名
cat ファイル名
ファイルの文字数をカウントするwc -m ファイル名Get-Content ファイル名 | Measure-Object -CharacterLinuxでは改行コードも文字数に含まれるが、PowerShellでは含まれない
ファイルの行数をカウントするwc -l ファイル名Get-Content ファイル名 | Measure-Object -LinePowerShellでは、改行のみの行があればその行はカウント数から除外される
ファイルへ内容を書き込むecho テキストの内容 > ファイル名New-Item ファイル名 -Value テキストの内容PowerShellでは、ファイルに書き出される際の文字コードは「UTF-8」(Shift-JISではない)

検索関連

操作Linux(bash)PowerShell補足
文字列で指定したファイル(ディレクトリ)を検索するfind ディレクトリ名 -name 検索ファイル名Get-ChildItem ディレクトリ名 検索ファイル名 -RecursePowerShellで指定したディレクトリ内に含まれる全ファイル・フォルダを検索対象とする場合、「-Recurse」を付ける
ファイル(ディレクトリ)内の文字列を検索するgrep テキスト文字 ファイル名
grep -R テキスト文字 ディレクトリ名
Select-String テキスト文字 ファイル名
Select-String ファイル名 -Pattern テキスト文字
grepでは行番号を表示する際「-n」をつけるが、PowerShellではデフォルトで行番号も表示される
PowerShellで大文字と小文字を区別して検索したい場合、「-CaseSensitive」を付ける
文字列検索結果の行数をカウントするgrep テキスト文字 ファイル名 | wc -lSelect-String テキスト文字 ファイル名 | Measure-Object -Line

システム関連

操作Linux(bash)PowerShell補足
稼働中のプロセスを表示するpsGet-Process
ps
日付情報を8桁数字(yyyymmdd)で表示するdate ‘+%Y%m%d’(Get-Date).ToString(“yyyyMMdd”)

参考(外部リンク)

Copyrighted Image.