i9L5o

                  Огласите, пожалуйста, весь список!

## Сколько всего коммандлетов?

  > Get-Command > cmdlets

и посчитать в notepad++..

## Какие из них самые важные?

  1. взглядом историка:

    сортировать по версии Powershell

  2. есть алиасы:

    $1 == "alias"

  3. взглядом пингвина:

    bash adventures

Изучим цитату с https://habr.com/post/242425/

<<
  + ..
  + Командлеты именуются по правилу Глагол-Существительное, что упрощает их запоминание;
  + Командлеты выводят результаты в виде объектов или их коллекций;
  + Командлеты могут как получать данные для обработки, так и передавать данные по конвейеру;
  + Командлеты не чувствительны к регистру (можно написать и get-process, и Get-Process, и GeT-pRoCeSs);
  + После командлетов не обязательно ставить ";", за исключением, когда мы выполняем несколько командлетов в одну строку (Get-Process; Get-Services).
>> конец цитаты.

## Сколько глаголов?

  > Get-Command | Out-File cmdlets -Encoding ascii
  bash
  $ cat cmdlets | awk '{print $2}' | sed 's/-.*$//' | \
        grep -v ':' | sort | uniq | wc -l
  122
  $

выводы:

  + так много глаголов? нужно провести частотный анализ.

  + по стилю учитель явно любопытный пингвин-исследователь, но учится по ходу дела.

## Какие слова используются в качестве глаголов?

  $ cat Cmdlets | awk '{print $2}' | sed 's/-.*$//' | \
    grep -v ':' | sort | uniq -c | sort -nr | \
    awk 'BEGIN {n=0} {n+=$1;print $1 "\t" $2} END {print  n "\t*Total"}'
  392     Get
  203     Set
  121     Remove
  100     New
  70      Enable
  67      Disable
  60      Add
  25      Export
  23      Start
  22      Update
  21      Clear
  19      Rename
  18      Stop
  18      Import
  16      Invoke
  15      Test
  15      Register
  14      Reset
  13      Write
  12      Unregister
  9       Find
  9       Copy
  8       Save
  8       Install
  7       Show
  7       Repair
  7       Out
  7       Format
  7       Debug
  7       ConvertTo
  7       ConvertFrom
  6       Uninstall
  6       Resume
  6       Publish
  5       Suspend
  5       Restore
  5       Restart
  5       Optimize
  5       Move
  5       Mount
  4       Wait
  4       Unblock
  4       Send
  4       Initialize
  4       Disconnect
  4       Connect
  4
  3       Select
  3       Resize
  3       Receive
  3       Expand
  3       Dismount
  3       Complete
  2       Use
  2       Undo
  2       Sync
  2       Split
  2       Revoke
  2       Resolve
  2       Read
  2       Measure
  2       Join
  2       Grant
  2       Flush
  2       Exit
  2       Enter
  2       Convert
  2       Close
  2       Block
  2       Assert
  1       Where
  1       Unpublish
  1       Unprotect
  1       Unlock
  1       Trace
  1       Tee
  1       TabExpansion2
  1       Switch
  1       Sort
  1       Should
  1       Setup
  1       SafeGetCommand
  1       Push
  1       PSConsoleHostReadline
  1       Protect
  1       prompt
  1       Pop
  1       Pause
  1       oss
  1       Open
  1       Name
  1       more
  1       Mock
  1       mkdir
  1       Merge
  1       Lock
  1       Limit
  1       It
  1       InModuleScope
  1       In
  1       ImportSystemModules
  1       Hide
  1       help
  1       Group
  1       ForEach
  1       Edit
  1       Describe
  1       Context
  1       Confirm
  1       Configuration
  1       Compress
  1       Compare
  1       Checkpoint
  1       cd\
  1       cd..
  1       BeforeEach
  1       BeforeAll
  1       BackupToAAD
  1       Backup
  1       Apply
  1       AfterEach
  1       AfterAll
  1507    *Total

Показать, что скрывается за пустой строкой?:

  ..
  4       Connect
  4
  3       Select
  ..

Куда делись 26 командлетов?

  $ cat Cmdlets | awk '{print $2}' | sed 's/-.*$//' | \
  grep ':' | sort  | tr '\n' ' '; echo
  A: B: C: D: E: F: G: H:  ...  S: T: U: V: W: X: Y: Z:

Почему

  $ cat Cmdlets | wc -l
  1533

а

  > Get-Command | Measure-Object -Line

  Lines Words Characters Property
  ----- ----- ---------- --------
   1528

?

## Какие есть алиасы, сколько, скольким командлетам они принадлежат?

  > Get-Alias | Out-File aliases -Encoding ascii
  > bash
  $ cat aliases | wc -l
  163
  $ cat aliases | awk '{ print $4 }' | sort | uniq | wc -l
  129
  $ cat aliases | awk '{ print $4 }' | sort | uniq -c | \
      sort -rn | grep ' [2-9]' | wc -l
  22
  $ cat aliases | awk '{ print $4 }' | sort | uniq -c | \
      sort -rn | grep ' [2-9]'
      6 Remove-Item
      3 Set-Location
      3 Move-Item
      3 Invoke-WebRequest
      3 Get-History
      3 Get-Content
      3 Get-ChildItem
      3 Copy-Item
      2 Write-Output
      2 Where-Object
      2 Stop-Process
      2 Start-Process
      2 Set-Variable
      2 Rename-Item
      2 New-PSDrive
      2 Invoke-History
      2 Get-Process
      2 Get-Location
      2 ForEach-Object
      2 Compare-Object
      2 Clear-Host
