【PowerShell】PowerShell のコマンドレットと Linuxコマンドの紐付け

PowerShell のコマンドレットと Linuxコマンドの紐付け

Linux(sh) vs PowerShell

Linux(sh) PowerShell 備考
$0 $myInvocation.ScriptName 実行時のスクリプト名取得
basename $1 [System.IO.Path]::GetFileName($1) $1 には PATH を指定する
cd Set-Location cd も可
cat Get-Content cat も可
cp Copy-Item -r でディレクトリコピーが可能になる
date Get-Date
diff Compare-Object 「$s.Substring(0,$url.LastIndexOf("/") + 1)」でも可.
$s は文字列である
dirname $1 Split-Path -parent $1 $1 には PATH を指定する
echo Write-Host
find Get-ChildItem -Include -Recurse
grep Select-String
head Get-Content a.txt -head 5 head -n 5 a.txt と同じ
kill Stop-Process -ProcessName vim vim プロセスを消す
ls Get-ChildItem
mkdir New-Item -ItemType Directory md も可
mktemp [System.IO.Path]::GetTempFileName()
mv Move-Item
ps Get-Process
pwd Get-Location
read Read-Host
realpath (Get-ChildItem a.log -File).FullName a.log の FullPath を取得する
rm Remove-Item
script Start-Transcript (終了は Stop-Transcript)
sleep Start-Sleep 単位は秒である
sort Sort-Object
tail -n 5 a.txt Get-Content a.txt -tail 5
tail -f X Get-Content X -Wait
test -d X if ( Test-Path X) ファイルとディレクトリは同じ
test -f X if ( Test-Path X )
test ! -f X if (-not ( Test-Path X ))
test -z "$var" if ( $var -eq $null ) もしくは [string]::IsNullOrEmpty($var)
touch New-Item -Type File
uniq Get-Unique Get-Content a.txt | Sort-Object | Get-Unique は sort -u a.txt と同じ
>/dev/null | out-null
出力ログをパイプで渡す | Out-String -Stream 例:"hoge" という行だけ抽出する
New-Item hoge.txt | Out-String -Stream | % { $_ -match "hoge" }
EOL<<
aaa
bbb
EOL
$str=@"
aaa
bbb
"@
ヒアドキュメント