53852


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

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

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

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


CC BY-SA 4.0
2019-04-01T08:36:53.130
53850
2019-04-02T01:38:29.930
2019-04-02T01:28:52.583
3060
31799
question
powershell teraterm cmd
コマンドプロンプトとPowershellの違い


まず最初に[端末エミュレータ](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`とまったく異なります。


CC BY-SA 4.0
2019-04-01T10:04:50.913
53852
2019-04-01T10:04:50.913
4236
53850
answer


コマンドプロンプトは元々Windows登場前のOS（MS-DOS）の機能を使うために用意されていたものです。もうMS-
DOS目当てで使う人はほとんどいないでしょうから、互換性のために残されていると考えて良いと思います。操作はMS-
DOS時代の古い仕様のままになっており、ファイル一覧を出すのはlsではなくdir（MS-DOSのコマンド）になります。  
PowershellはOSがWindowsになってから登場したもので、コマンドプロンプトよりも多機能で拡張性の高いものになっています。操作も、他のOSのコマンドライン環境に似たものになっています。  
※正確には大きく分けて  
(1)MS-DOS～Windows 9x系＞COMMAND.COM  
(2)OS/2～Windows NT系＞CMD.EXE  
(3)一番新しいもの＞Powershell  
の３通りがあり、徐々に新しいもの1→2→3へ移行してきています。上記は(1,2)と(3)の話です。


CC BY-SA 4.0
2019-04-02T00:36:50.740
53858
2019-04-02T01:38:29.930
2019-04-02T01:38:29.930
32510
32510
53850
answer