I'm new to PowerShell and coming from shells like Bash, where commands are often very short. Do most people simply get used to typing full cmdlet names such as Get-ChildItem, or do you create aliases for commands you use frequently? I'm especially interested in the usual approach for interactive terminal work versus scripts that other people may need to read and maintain.
4 Answers
Tab completion is the main solution. Type enough of a cmdlet or parameter to make it unique, then press Tab; PowerShell can complete both command names and arguments. IntelliSense and command history help too, so you usually don’t have to type the entire name repeatedly. Once you use the full names for a while, many of them become familiar anyway.
I rarely create aliases myself. The extra typing is usually minor because completion handles most of it, while descriptive names make searching, troubleshooting, and reviewing scripts much easier. If a task is repeated often, a function with sensible parameters is generally better than a private alias because it can document the operation and provide consistent behavior.
Use aliases at the prompt if they make you faster, but prefer full cmdlet and parameter names in scripts. A script written with Get-ChildItem, Where-Object, and ForEach-Object is much easier for someone else—or future you—to understand. PowerShell already includes useful aliases such as ls, gci, ?, and %, and you can inspect them with Get-Alias.
There’s a useful middle ground: learn the standard built-in aliases and use shortened parameters interactively, but don’t depend on personal aliases when sharing code. PowerShell also supports unambiguous parameter abbreviations, so something like -r can often stand for -Recurse. Be careful with aliases such as ls, though—on another operating system it may resolve differently or conflict with the native command. The long Verb-Noun naming is intentional: it makes PowerShell commands more discoverable and scripts more readable than cryptic two-letter shell commands.

You can also type a dash and press Tab to cycle through parameter names, or use Ctrl+Space in editors that support IntelliSense to see the available options.