generated at
Windowsにおけるターミナルやインタラクティブシェルの関係
まとめをshell周りの用語の分類に書くtakker
このページは「ターミナルやインタラクティブシェルの関係を調べる」みたいな名前にrenameしたい

一般名の下に具体例を並べてみる
コロンの後ろに仮名をつけておく
名前が確定したら置き換える
ラベル足らなかったら足してくださいtakker

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