PowerShell
Pipelines between cmdlets carry objects. Use Get-Member to inspect properties; format only at the end. Examples target modern PowerShell unless noted. Windows-only modules and Windows PowerShell 5.1 can differ.
PowerShell · Bash · CMD
53 original reference entries · Updated 14 September 2026Find a command by the job. Use the reference to understand a command before running it. PowerShell, Bash and CMD differ in syntax and in what passes through a pipeline.
Match the page to the terminal you are actually using. A Linux Bash example is not automatically valid in Windows CMD.
Replace placeholders deliberately. Understand the target path and permissions before using a command that changes files or configuration.
Create a scratch directory, run the smallest example, inspect the result, then adapt it to your task.
Try this: Look up a listing command in two shells. Compare a text listing with PowerShell objects and inspect the page’s cross-shell links.
You should get: You understand the task in both shells without assuming the switches or pipeline behavior are interchangeable.
Know the limit: The desk is a curated reference, not a complete manual or a terminal that executes commands for you.
Follow the Linux guide53 command entries
Write file contents to standard output.
cdBashChange the shell’s directory.
cdCMDShow or change the current directory.
copyCMDCopy a file.
Copy-ItemPowerShellCopy a file.
cpBashCopy files.
delCMDDelete named files.
dirCMDList files and directories.
duBashMeasure a directory's allocated file space before blaming free-disk totals.
findBashFind filesystem entries by criteria.
findstrCMDSearch text with literals or limited regex.
forBashRepeat commands over words.
forCMDRepeat a command.
ForEach-ObjectPowerShellProcess each pipeline object.
Get-ChildItemPowerShellList files and directories.
Get-CommandPowerShellDiscover available commands.
Get-ContentPowerShellRead text from a file.
Get-HelpPowerShellRead command help.
Get-LocationPowerShellShow the current location.
Get-NetTCPConnectionPowerShellInspect local TCP endpoints and their owning process IDs.
Get-ProcessPowerShellInspect running processes.
Get-ServicePowerShellInspect Windows service state without starting or stopping anything.
grepBashPrint lines matching a pattern.
helpBashRead Bash builtin help.
helpCMDRead CMD command help.
ifCMDRun a command conditionally.
ipconfigCMDInspect Windows network configuration.
lsBashList directory contents.
mkdirBashCreate a directory.
mkdirCMDCreate a directory.
moveCMDMove or rename a file.
Move-ItemPowerShellMove or rename an item.
mvBashMove or rename a file.
netstatCMDInspect Windows TCP listeners, connections and owning PIDs.
New-ItemPowerShellCreate a file or directory.
printfBashPrint formatted text predictably.
psBashTake a process snapshot with explicitly selected fields.
pwdBashPrint the working directory.
readBashRead input into a variable.
Remove-ItemPowerShellDelete an item.
rmBashRemove a file.
sc.exe queryCMDQuery Windows Service Control Manager state by service name.
Select-StringPowerShellFind matching text.
setCMDSet or display environment variables.
Set-LocationPowerShellChange the current location.
ssBashList TCP listeners without triggering hostname lookups.
tasklistCMDList running processes.
testBashEvaluate a file or value condition.
Test-NetConnectionPowerShellTest a specific TCP destination and distinguish it from an application test.
Test-PathPowerShellCheck whether a path exists.
typeCMDPrint a text file.
whereCMDLocate executable files.
Where-ObjectPowerShellKeep objects meeting a condition.
A terminal hosts a shell; the shell interprets your command. Open PowerShell or Command Prompt by name on Windows. On Linux, check which shell you are using before applying Bash syntax. Examples that read files assume those files already exist in your current directory.
Pipelines between cmdlets carry objects. Use Get-Member to inspect properties; format only at the end. Examples target modern PowerShell unless noted. Windows-only modules and Windows PowerShell 5.1 can differ.
Common pipelines carry text or byte streams. Quote "$variable" to keep its value together. This desk assumes Bash with GNU utilities on Linux; macOS BSD utility flags can differ.
CMD has its own builtins, percent-variable expansion, and batch syntax. %V at an interactive prompt becomes %%V inside a batch file. Similar command names across shells do not imply the same options.
| Task | PowerShell | Bash | CMD |
|---|---|---|---|
| List files | Get-ChildItem | ls | dir |
| Read a file | Get-Content | cat | type |
| Find text | Select-String | grep | findstr |
| Variable value | $name | $name | %name% |
Inspired by SS64’s command-reference approach. These entries and examples are written for AUWEN; the index is a growing foundation, not an exhaustive shell manual.