コマンドプロンプトとPowershellの違い


windows10のコマンドプロントで新しいプロジェクトの初期設定を行おうとしています。  
ローカルでの環境設定の為teratermで使用していたcdやlsなどのコマンドがスムーズに使えず、調べていたところ以下2点気になったのでお力添え頂けますと幸いです。

  1. コードの一覧  
コマンドプロントの操作のコマンド一覧はどこにあるのでしょうか？  
Teratermでいう`ls`、`ls -l`など、に対応するものが調べられず困っています。

  2. PowerShellとの違い  
似たようなPowerShellだと比較的Teratermと同じコマンドが使用できている気がします。  
PowerShellとコマンドは何が違うのでしょうか？二つある意味がよく分かりません。

参考:  
[基本コマンドプロンプト25選！逆引きコマンド一覧](http://proengineer.internous.co.jp/content/columnfeature/5007)




まず最初に[端末エミュレータ](https://ja.wikipedia.org/wiki/%E7%AB%AF%E6%9C%AB%E3%82%A8%E3%83%9F%E3%83%A5%E3%83%AC%E3%83%BC%E3%82%BF)という概念を説明します。テレビの受像機をイメージしてください。メーカーは受像機を製造しているだけであり、そこに映し出されるのは放送局からの映像です。Tera
Termもあくまで接続先の出力を表示するものであり、Tera Term自身がコマンドを持つわけではありません。

次に[シェル](https://ja.wikipedia.org/wiki/%E3%82%B7%E3%82%A7%E3%83%AB)という概念を説明します。シェルはユーザーからの入力を受け取り、コマンドを実行します。コマンドは内部コマンドと外部コマンドに分かれます。内部コマンドは各シェルに特有のものであり、外部コマンドは対象マシンにインストールされている実行ファイルとなります。  
またコマンドプロンプトは`CMD.EXE`というシェルを指し、PowerShellはもちろんPowerShell自身を指します。ですので、

  * Tera Termで接続した先のシェルの持つ内部コマンド、Tera Termで接続した先のマシンにインストールされている実行ファイル
  * `CMD.EXE`の持つ内部コマンド、Windows 10にインストールされている実行ファイル
  * PowerShellの持つ内部コマンド、Windows 10にインストールされている実行ファイル

ということになります。

* * *

その上で回答となりますが、

`CMD.EXE`の持つ内部コマンドについてはコマンドプロンプト上で`HELP`を実行すると一覧が得られます。[Windows
Commands](https://docs.microsoft.com/en-us/windows-
server/administration/windows-commands/windows-
commands)に内部コマンド、外部コマンドが混在して列挙されています。

PowerShellの持つ内部コマンドについてはPowerShell上で`Get-
Command`を実行すると一覧が得られます。ただし、モジュールを読み込むことでいくらでも追加できます。  
なお、PowerShellで`ls`が使えるとお考えのようですが、単に`ls`は[`Get-
ChildItem`](https://docs.microsoft.com/en-
us/powershell/module/microsoft.powershell.management/get-
childitem?view=powershell-6)のエイリアスでしかなく、引数は`ls`とまったく異なります。




まず最初に[端末エミュレータ](https://ja.wikipedia.org/wiki/%E7%AB%AF%E6%9C%AB%E3%82%A8%E3%83%9F%E3%83%A5%E3%83%AC%E3%83%BC%E3%82%BF)という概念を説明します。テレビの受像機をイメージしてください。メーカーは受像機を製造しているだけであり、そこに映し出されるのは放送局からの映像です。Tera
Termもあくまで接続先の出力を表示するものであり、Tera Term自身がコマンドを持つわけではありません。

次に[シェル](https://ja.wikipedia.org/wiki/%E3%82%B7%E3%82%A7%E3%83%AB)という概念を説明します。シェルはユーザーからの入力を受け取り、コマンドを実行します。コマンドは内部コマンドと外部コマンドに分かれます。内部コマンドは各シェルに特有のものであり、外部コマンドは対象マシンにインストールされている実行ファイルとなります。  
またコマンドプロンプトは`CMD.EXE`というシェルを指し、PowerShellはもちろんPowerShell自身を指します。ですので、

  * Tera Termで接続した先のシェルの持つ内部コマンド、Tera Termで接続した先のマシンにインストールされている実行ファイル
  * `CMD.EXE`の持つ内部コマンド、Windows 10にインストールされている実行ファイル
  * PowerShellの持つ内部コマンド、Windows 10にインストールされている実行ファイル

ということになります。

* * *

その上で回答となりますが、

`CMD.EXE`の持つ内部コマンドについてはコマンドプロンプト上で`HELP`を実行すると一覧が得られます。[Windows
Commands](https://docs.microsoft.com/en-us/windows-
server/administration/windows-commands/windows-
commands)に内部コマンド、外部コマンドが混在して列挙されています。

PowerShellの持つ内部コマンドについてはPowerShell上で`Get-
Command`を実行すると一覧が得られます。ただし、モジュールを読み込むことでいくらでも追加できます。  
なお、PowerShellで`ls`が使えるとお考えのようですが、単に`ls`は[`Get-
ChildItem`](https://docs.microsoft.com/en-
us/powershell/module/microsoft.powershell.management/get-
childitem?view=powershell-6)のエイリアスでしかなく、引数は`ls`とまったく異なります。

