Linux等のUnixライクなCUIに慣れているユーザが、WindowsのPowerShellを利用して同様の操作を実行しようとすると、ちょっとした事でも手間取ることが多いです。
そこでこのページでは、利用頻度の高い基本的なLinuxコマンド(bash)と、同等の操作にあたるPowerShellコマンドをまとめます。
なお、Linuxではグループ化する単位を「ディレクトリ」(directory)と呼び、Windowsでは「フォルダ」(folder)と呼ぶことが多いです。当ページでは「ディレクトリ」に統一して記載することとします。
ファイル・ディレクトリ操作関連
操作 | Linux(bash) | PowerShell | 補足 |
現在のフォルダ内にあるファイル・ディレクトリ一覧を表示する | ls | Get-ChildItem dir ls | |
カレントディレクトリのパスを表示する | pwd | Get-Location pwd | |
カレントディレクトリを移動する | cd ディレクトリパス | Set-Location ディレクトリパス cd ディレクトリパス | |
ディレクトリを新規作成する | mkdir ディレクトリ名1 ディレクトリ名2 | New-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 -Character | Linuxでは改行コードも文字数に含まれるが、PowerShellでは含まれない |
ファイルの行数をカウントする | wc -l ファイル名 | Get-Content ファイル名 | Measure-Object -Line | PowerShellでは、改行のみの行があればその行はカウント数から除外される |
ファイルへ内容を書き込む | echo テキストの内容 > ファイル名 | New-Item ファイル名 -Value テキストの内容 | PowerShellでは、ファイルに書き出される際の文字コードは「UTF-8」(Shift-JISではない) |
検索関連
操作 | Linux(bash) | PowerShell | 補足 |
文字列で指定したファイル(ディレクトリ)を検索する | find ディレクトリ名 -name 検索ファイル名 | Get-ChildItem ディレクトリ名 検索ファイル名 -Recurse | PowerShellで指定したディレクトリ内に含まれる全ファイル・フォルダを検索対象とする場合、「-Recurse」を付ける |
ファイル(ディレクトリ)内の文字列を検索する | grep テキスト文字 ファイル名 grep -R テキスト文字 ディレクトリ名 | Select-String テキスト文字 ファイル名 Select-String ファイル名 -Pattern テキスト文字 | grepでは行番号を表示する際「-n」をつけるが、PowerShellではデフォルトで行番号も表示される PowerShellで大文字と小文字を区別して検索したい場合、「-CaseSensitive」を付ける |
文字列検索結果の行数をカウントする | grep テキスト文字 ファイル名 | wc -l | Select-String テキスト文字 ファイル名 | Measure-Object -Line |
システム関連
操作 | Linux(bash) | PowerShell | 補足 |
稼働中のプロセスを表示する | ps | Get-Process ps | |
日付情報を8桁数字(yyyymmdd)で表示する | date ‘+%Y%m%d’ | (Get-Date).ToString(“yyyyMMdd”) |