PowerShell/docs/learning-powershell
xtqqczze 921d36d9f4
Fix markdown ordered lists (#12657)
# PR Summary

* Replace an ordered list with sections
* Fix an ordered list to continue numbering in each item

## PR Context

<!-- Provide a little reasoning as to why this Pull Request helps and why you have opened it. -->

## PR Checklist

- [x] [PR has a meaningful title](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#pull-request---submission)
    - Use the present tense and imperative mood when describing your changes
- [x] [Summarized changes](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#pull-request---submission)
- [x] [Make sure all `.h`, `.cpp`, `.cs`, `.ps1` and `.psm1` files have the correct copyright header](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#pull-request---submission)
- [x] This PR is ready to merge and is not [Work in Progress](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#pull-request---work-in-progress).
    - If the PR is work in progress, please add the prefix `WIP:` or `[ WIP ]` to the beginning of the title (the `WIP` bot will keep its status check at `Pending` while the prefix is present) and remove the prefix when the PR is ready.
- **[Breaking changes](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#making-breaking-changes)**
    - [x] None
    - **OR**
    - [ ] [Experimental feature(s) needed](https://github.com/MicrosoftDocs/PowerShell-Docs/blob/staging/reference/6/Microsoft.PowerShell.Core/About/about_Experimental_Features.md)
        - [ ] Experimental feature name(s): <!-- Experimental feature name(s) here -->
- **User-facing changes**
    - [x] Not Applicable
    - **OR**
    - [ ] [Documentation needed](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#pull-request---submission)
        - [ ] Issue filed: <!-- Number/link of that issue here -->
- **Testing - New and feature**
    - [x] N/A or can only be tested interactively
    - **OR**
    - [ ] [Make sure you've added a new test if existing tests do not effectively test the code changed](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#before-submitting)
- **Tooling**
    - [x] I have considered the user experience from a tooling perspective and don't believe tooling will be impacted.
    - **OR**
    - [ ] I have considered the user experience from a tooling perspective and enumerated concerns in the summary. This may include:
        - Impact on [PowerShell Editor Services](https://github.com/PowerShell/PowerShellEditorServices) which is used in the [PowerShell extension](https://github.com/PowerShell/vscode-powershell) for VSCode (which runs in a different PS Host).
        - Impact on Completions (both in the console and in editors) - one of PowerShell's most powerful features.
        - Impact on [PSScriptAnalyzer](https://github.com/PowerShell/PSScriptAnalyzer) (which provides linting & formatting in the editor extensions).
        - Impact on [EditorSyntax](https://github.com/PowerShell/EditorSyntax) (which provides syntax highlighting with in VSCode, GitHub, and many other editors).
2020-05-28 08:29:56 +00:00
..
create-powershell-scripts.md Fix Enter-PSHostProcess tests flakiness (#9007) 2019-03-11 10:41:06 -07:00
debugging-from-commandline.md Fix markdown ordered lists (#12657) 2020-05-28 08:29:56 +00:00
powershell-beginners-guide.md Fix markdown ordered lists (#12657) 2020-05-28 08:29:56 +00:00
README.md Fix broken docs.microsoft.com link (#12776) 2020-05-27 17:59:47 -07:00
working-with-powershell-objects.md Documentation Cleanup (#8851) 2019-03-05 12:45:46 -08:00

Learning PowerShell

Whether you're a Developer, a DevOps or an IT Professional, this doc will help you getting started with PowerShell. In this document we'll cover the following: installing PowerShell, samples walkthrough, PowerShell editor, debugger, testing tools and a map book for experienced bash users to get started with PowerShell faster.

The exercises in this document are intended to give you a solid foundation in how to use PowerShell. You won't be a PowerShell guru at the end of reading this material but you will be well on your way with the right set of knowledge to start using PowerShell.

If you have 30 minutes now, lets try it.

Installing PowerShell

First you need to set up your computer working environment if you have not done so. Choose the platform below and follow the instructions. At the end of this exercise, you should be able to launch the PowerShell session.

Getting Started with PowerShell

PowerShell commands follow a Verb-Noun semantic with a set of parameters. It's easy to learn and use PowerShell. For example, Get-Process will display all the running processes on your system. Let's walk through with a few examples from the PowerShell Beginner's Guide.

Now you have learned the basics of PowerShell. Please continue reading if you want to do some development work in PowerShell.

PowerShell Editor

In this section, you will create a PowerShell script using a text editor. You can use your favorite editor to write scripts. We use Visual Studio Code (VS Code) which works on Windows, Linux, and macOS. Click on the following link to create your first PowerShell script.

PowerShell Debugger

Debugging can help you find bugs and fix problems in your PowerShell scripts. Click on the link below to learn more about debugging:

PowerShell Testing

We recommend using Pester testing tool which is initiated by the PowerShell Community for writing test cases. To use the tool please read Pester Guides and Writing Pester Tests Guidelines.

Map Book for Experienced Bash users

The table below lists the usage of some basic commands to help you get started on PowerShell faster. Note that all bash commands should continue working on PowerShell session.

Bash PowerShell Description
ls dir, Get-ChildItem List files and folders
tree dir -Recurse, Get-ChildItem -Recurse List all files and folders
cd cd, Set-Location Change directory
pwd pwd, $pwd, Get-Location Show working directory
clear, Ctrl+L, reset cls, clear Clear screen
mkdir New-Item -ItemType Directory Create a new folder
touch test.txt New-Item -Path test.txt Create a new empty file
cat test1.txt test2.txt Get-Content test1.txt, test2.txt Display files contents
cp ./source.txt ./dest/dest.txt Copy-Item source.txt dest/dest.txt Copy a file
cp -r ./source ./dest Copy-Item ./source ./dest -Recurse Recursively copy from one folder to another
mv ./source.txt ./dest/dest.txt Move-Item ./source.txt ./dest/dest.txt Move a file to other folder
rm test.txt Remove-Item test.txt Delete a file
rm -r <folderName> Remove-Item <folderName> -Recurse Delete a folder
find -name build* Get-ChildItem build* -Recurse Find a file or folder starting with 'build'
grep -Rin "sometext" --include="*.cs" Get-ChildItem -Recurse -Filter *.cs
| Select-String -Pattern "sometext"
Recursively case-insensitive search for text in files
curl https://github.com Invoke-RestMethod https://github.com Transfer data to or from the web

Commercial Resources