Open棟梁Project - マイクロソフト系技術情報 Wiki
目次  †
概要  †
シェルとは対話型でOSをControl可能なUIのことである。
詳細  †
インタラクティブ・シェルのUI  †
インタラクティブ・シェルのUIには、
CUI型のものとGUI型のものがある。
CUI  †
GUI  †
シェル・スクリプト  †
- シェルのプログラミング言語をシェル・スクリプト
 
- シェル・スクリプトによるプログラミングをシェル・スクリプティング
 
と呼ぶ。
シェル言語のタイプ  †
シェルで使用される言語には以下の様なタイプがある。
※ リダイレクションとパイプがテキストか?オブジェクトか?(→詳細
シェル言語やスクリプト言語を使用した、シェル向けのスクリプティング。
インタラクティブ・シェルとシェル・スクリプトの違い  †
インタラクティブ・シェル  †
対話的に実行可能
シェル・スクリプト  †
スクリプト化して対話的にバッチ実行。
Windowsシェル  †
インタラクティブ・シェルのUI  †
GUIシェル  †
現代の Microsoft Windows はシェルとしてWindows shell を使用している。
CUIシェル  †
CUIシェルには、以下のものがある。
シェル・スクリプト  †
CUIシェルを持つスクリプト言語  †
- テキストベースのシェル言語、オブジェクトベースのシェル言語がある。
 
- 変数に文字列:"*.exe" を代入して、
変数に入れた文字列(というか文字列しか入らない)を「使う」と、
あたかもコマンドを手打ちしたようにそのまま動いてしまう。 
- CUIシェルの仕様は、プログラミング言語的には、違和感があるが、
これがCUIシェルの特性であると割り切ると理解しやすい。 
CUIシェルを持たないスクリプト言語  †
- VBS:WScript.Shellオブジェクト
 
- .NET:Processオブジェクト
 
- Perl:system関数か、exec関数
 
- Python:subprocessモジュール
 
を使わないとEXE起動できない。
- また、起動したEXEとは、標準入出力で明示的に通信する必要がある。
 
UNIX / Linuxのシェル  †
インタラクティブ・シェルのUI  †
GUIシェル  †
Linuxのデスクトップ環境
CUIシェル  †
Windowsの様に特別、名称は付与されていない
(ソフトウェアが複数存在したりしない)。
- コンソール
- 昔のハードの延長上で使われる言葉
 
- 物理的なハードウェア直でホストを触るケース
 
 
- ターミナル
- TSSでネットワーク経由でホストを触るケース
 
- リモート・シェルのSSH(プロトコル)が代表的な手段
 
 
シェル・スクリプト  †
CUIシェルを持つスクリプト言語  †
- B系
- Bash(Bourne-Again Shell)
 
- sh(Bourne Shell)
 
- ksh(Korn Shell)
 
 
CUIシェルを持たないスクリプト言語  †
Perl、Pythonなどの単なるスクリプト言語をシェル用に使うケース
その他、様々なシェル  †
ターミナル・アプリ  †
ターミナルとはシェルの外枠を意味する。
Windowsのターミナル  †
エミュレータ・シェルの類  †
リモート機能部分がシェルの外枠。
リモート・シェル  †
Windows  †
RDP、WinRM
Linux  †
- かつては、Telnetやrsh(remote shell)、rloginといった
プロトコル(ソフトウェア)も使用されていたらしい。 
※ 其々のプロトコルやソフトウェアのスタックがどうなっているか?は未調査
参考  †
UI (CUI)  †
UI (GUI)  †
体で覚えるLinuxの基本  †
シェルの基本操作法前編  †
- シェルの役割と種類
 
- シェルの使い方
 
- オンライン・マニュアルの使い方
 
- リダイレクションとパイプ
 
シェルの基本操作法後編  †
- エイリアスやヒストリの使い方
 
- 名前の補完とプロセスの実行
 
- シェル変数と環境変数
 
- シェルの設定ファイル
 
- シェルのプロンプト文字列
 
シェル・スクリプト  †
- シェル・スクリプトとは
 
- スクリプトのプログラミング
 
- シェルの基本文法
 
- スクリプトの引数
 
- 引数の高度な利用法
 
システム管理に役立つコマンド  †
- uname,hostname,uptime
 
- ps,date,whoami,last
 
Tags: :シェル, :インフラストラクチャ, :Windows