PowerShell vs Bash
This pages shows the common tasks in both bash and PowerShell.
Simple Commands
The following bash commands have PowerShell alias. (but the options are not the same)
• cd
• pwd
• ls
• pushd
• popd
• cp
• rm
• rmdir
• mv
• cat
• echo
• set
• ps
• kill
• clear
• man
New File
touch name
ni name
New Directory
mkdir name
mkdir name
Copy Directory
cp -r sourceDir destDir
cp -r sourceDir destDir
Directory Size
# current dir size, in kilo bytes du . -sk
"{0:N2}" -f ((dir -Recurse | measure -Property Length -sum).sum / 1MB)
find program
which myCommandName
gcm myCommandName
Print File Content
cat fname
cat fname
Print First/Last n Lines of File
head -n 9 fname
cat -totalcount 9 fname
tail -n 9 fname
cat -tail 9 fname
Join Files
cat fname1 fname2 > newFileName
cat fname1, fname2 > newFileName
unzip
unzip fname.zip
Expand-Archive fname.zip
List Files by File Name Extension
find . -name "*html"
dir -Recurse -filter *html
List Backup Files
find . -name "*~"
dir -Recurse -filter *~
List Directories
find . -type d
dir -Directory -Recurse
List Files Not Directory
find . -type f
dir -File -Recurse
List Empty Files
find . -size 0
dir -recurse | where {$_.length -eq 0}
delete file
find . -name "*~" -delete
dir -Recurse -filter *~ | rm
List Files that Contains Search Text
grep myRegex *html
sls *html -pattern myRegex -CaseSensitive
Diff Files
diff f1 f2
diff (cat f1) (cat f2)
sort, uniq
sort
sort
uniq
sort -Unique
word count, line count
wc
measure
Redirect
# put content in a file echo "some" > myfile.txt echo "some more" >> myfile.txt # append
# put content in a file "some" > myfile.txt "some more" >> myfile.txt # append
thanks to Jeffrey Snover of Microsoft for helping on about 10 of the items. (Jeffrey created PowerShell)