Windowsにおけるターミナルやインタラクティブシェルの関係
このページは「ターミナルやインタラクティブシェルの関係を調べる」みたいな名前にrenameしたい
一般名の下に具体例を並べてみる
コロンの後ろに仮名をつけておく
名前が確定したら置き換える
ラベル足らなかったら足してください
shell: A
fish
bash
zsh
ここであってる?
ここじゃない気がする
コマンドプロンプトかな DOSプロンプトは昔の名前(確か)
今は Windows Terminal という名前か
shellを動かすときに使う各言語
もうすこし詳しく説明してください
シェルスクリプトのこと?
これだー
C言語からも、RubyやPythonからもshellを呼び出すことはできるけど、そういうことではないよね?
コマンドラインのこと?(これは言語ではない)
わからん: C
わからん、わかる!
どういうレイヤーになってるんだろう
多分これは「ターミナル」かな?
terminalってこれのことでいいのか……いいのか?
VS codeのterminal tab
わからん: D
Dをterminalと呼んでいる……きがしなくもなくもなくもなくもない
上と同じ分類だとおもってた(全く自信がない)
cmd.exeで他のshellが動いてるのを見たことがないな
exeを呼び出せば動かせます
例:cmd.exeからwsl.exeからpowershell.exeからcmd.exeを動かしている様子
へー
同じexeでGUIアプリの側面とCLIアプリの側面があるのだろうか・・?
例えばwindows terminal(hyperやcomemuも同様)だと、このようにいろいろなDを呼び出せるようになっています
wsl.exe
cmd.exe
powershell.exe
editor
VS code
vim
neovim
わからん: E
version manager
git
svn
処理環境?
windows
linux
linux on WSL2
mac
わからん
既存のシェルをたくさん開いたりするのを便利にするやつ
おじさんはscreen
ターミナルマルチプレクサ(terminal multiplexer)
ターミナルを多重化するもの、という意味
こことか見ておくと良さげ?
まとめがMECEじゃなかったのでちゃんと読んでまとめないとだめそう
ターミナルはGUIでシェルを使えるようにしたもの
>簡単にいうとGUIの上でCUIの操作をしたいときに使用するアプリケーションのことである。
これはターミナルエミュレータの説明だ
今はターミナルエミュレータのこともターミナルということが多いから間違いではない
違う。GUIでないターミナルもある
ますますわからない...
コンピュータシステムの末端の入力装置と出力装置と考えたらいいかな?
シェルはOSに命令を伝えるもの
この場合は、OSのカーネルに命令を伝えるものと言ったほうが正確です
シェルはOSの一部です
つまり普段の暗い画面はターミナルで、コマンドを実行するとターミナル→シェル→OSと命令が渡されて処理される?
入力した文字をコンピュータに送るのがターミナル
送られてきた文送字列を編集してコマンドの形に編集するのがシェル
「TAB」が押されたら入力補完をするとかそういう処理
シェルを通してコマンドが起動し、コマンドを通してOSのカーネルに命令が実行される
コンソールとターミナルの違いはない?
> Linuxに限らずだが、現時点で「コンソール」というと一般的に黒い画面でコマンド入力を受け付ける画面を指すことが多い。
コンソールはコンピュータ本体に付属するもの、ターミナルはネットワーク経由でつなぐこともできる
ターミナルはコンピュータ本体につなぐこともできる。この場合はコンソールと大差がない
>ノイマン型コンピュータが作られだした1950~1960年代,コンピュータといえば部屋を埋め尽くす巨大な鉄のかたまりでした。当然直接いじるには手に余りますので,操作しやすいように専用の操作卓が用意されました。それが「コンソール」です
>現在のパソコンではコンソールもコンピュータに内蔵されてしまいました
>1960年代,1台の大型コンピュータを多人数で同時利用する「タイムシェアリングシステム(TSS)」という仕組みが作られます。TSSでは,コンピュータと多数のコンソールをシリアルケーブルで繋ぐことで,同時利用を実現しました。このとき,TSSを1つの通信ネットワークと捉え,各コンソールを“ターミナル”と呼ぶようになりました。
>UNIXでは,カーネルと直接対話する装置をコンソールと呼び,外部ネットワークから接続する装置をターミナルと呼ぶようです。例えば,UNIXの起動時に表示される操作画面は「コンソール」,シリアルケーブルで直結する装置は「シリアルコンソール」と呼び,ネットワーク越しで接続する装置や,Xウィンドウシステム上で動く仮想端末は「ターミナル」と呼びます。
cmd.exe, Git Bash, Windows Terminal, wsl.exeの関係について教えて下さい
cmd.exe、Git Bash、Windows Terminal、wsl.exeは、Windows上でのコマンドライン操作を行うために使用されるツールであり、それぞれ異なる役割を持っています。
cmd.exe: Windowsに標準で組み込まれているコマンドラインインターフェイスです。Windowsのコマンドライン操作を実行するために使用されます。
Git Bash: Gitをインストールすると同時にインストールされるUnixシェルであり、Linuxと同じように一般的なUnixコマンドを実行するためにも使用できます。Windows環境でUnixコマンドを実行するために使用されることがあります。
Windows Terminal: Windows上で複数のターミナルウィンドウを同時に開くことができるアプリケーションであり、cmd.exeやPowerShell、Git Bash、WSLなど、複数のターミナルエミュレータをサポートしています。
ターミナルエミュレータ=コマンドラインインターフェイス?
wsl.exe: Windows上でWSLを制御するためのコマンドラインツールであり、WSLディストリビューションの起動や停止、パッケージの管理、ファイルの操作などができます。
コマンドラインツールもコマンドラインインターフェイスかな?
これらのツールは、Windows上でのコマンドライン操作をより便利にするために、共同して使用されることがあります。たとえば、Windows Terminalを使用して、cmd.exeやPowerShell、Git Bash、WSLを同時に起動できます。また、Git BashやWSLを使用して、Windows上でLinuxベースの環境での開発作業を行うことができます。wsl.exeを使用して、WSLディストリビューションを管理し、WindowsとLinux間でファイルを共有することもできます。
なるほど、Windows Terminalがメタな概念のように見える
C: メタななにか(これもターミナルと呼ぶ気がするが、メタ・ターミナル?)
Windows Temial
ConEmu
Hyper
DとE: その中で動くなにか(ターミナル)
GitBash
cmd.exe
PowerShell
wsl.exe
A: それがLinux環境と似ている場合はLinuxのシェルがその中で動く
Bash
fish
zsh
まだわからない
PowerShell
Windowsコマンドプロンプト
いっぱいあって難しいな...
Windows terminalがメタっぽいのはわかる(色々起動できるため)
ここで
さんに聞けたら楽なんだけど
たすかる
これmermaid.jsなのでこっちにも貼りやすそう
コードコピーしようとおもったけど、ログインしないと記法がむき出しにならないみたいです?
ですね、ページのソースを見たら見える気がします
ここまでグチャッとなると
静かな部屋でまとめたくなるね
ここまで関係する要素が洗い出せたのはグチャッとしたおかげ
タイトルにあるのになぜか説明がない