Jestem mylony z terminologią. Jaka jest różnica między powłoką, konsolą i terminalem?
Jestem mylony z terminologią. Jaka jest różnica między powłoką, konsolą i terminalem?
Odpowiedzi:
W świecie linuxa wszystkie mogą wyglądać tak samo z punktu widzenia użytkownika na klawiaturze. Różnice polegają na wzajemnym oddziaływaniu.
Powłoka jest program, który faktycznie przetwarza polecenia i zwraca wynik. Większość powłok zarządza również procesami pierwszego planu i tła, historią poleceń i edycją wiersza poleceń. Te funkcje (i wiele innych) są standardem w bash
najpopularniejszej powłoce w nowoczesnych systemach Linux.
Zacisk dotyczy programu owijkę, która prowadzi do powłoki. Dziesiątki lat temu było to fizyczne urządzenie składające się z niewiele więcej niż monitora i klawiatury. Ponieważ systemy unix / linux dodały lepsze systemy wieloprocesorowe i okienkowe, ta koncepcja terminali została przekształcona w oprogramowanie. Teraz masz takie programy, jak Gnome Terminal, który uruchamia okno w środowisku okienkowym Gnome, które uruchomi powłokę, w której możesz wprowadzać polecenia.
Konsola jest specjalny rodzaj terminala . Dawniej konsola była pojedynczą klawiaturą i monitorem podłączonymi do dedykowanego portu szeregowego konsoli na komputerze używanym do bezpośredniej komunikacji na niskim poziomie z systemem operacyjnym. Nowoczesne systemy Linux zapewniają wirtualne konsole . Są one dostępne poprzez kombinacje klawiszy (np. Alt+ F1Lub Ctrl+ Alt+ F1; klawisz funkcyjny numeruje różne konsole), które są obsługiwane na niskich poziomach systemu operacyjnego Linux - oznacza to, że nie ma specjalnej usługi, którą należy zainstalować i skonfigurować do działania . Interakcja z konsolą odbywa się również za pomocą programu powłoki .
Powłoka to program, który wyświetla monit i czeka na wpisanie poleceń. Wykonuje je, a następnie drukuje kolejny monit. Tak jak CMD w Windows lub Bash w Uniksie. Może działać w terminalu lub na konsoli.
Konsola była pierwotnie rzeczą fizyczną, panelem sterowania. W terminologii komputerowej oznacza to zwykle ekran, który widzisz przed uruchomieniem GUI lub po jego zakończeniu; czasami możesz przejść do wyświetlania zamiast GUI. To miejsce, w którym system operacyjny drukuje komunikaty o błędach. Na komputerze z wieloma użytkownikami jest to wyświetlacz, który jest faktycznie podłączony do komputera. Aby Cię pomylić, w systemie Windows może to również oznaczać okno z powłoką poleceń, tj. Terminalem.
Terminal był również pierwotnie sprzętowy, służący do komunikacji z komputerem. Obecnie zwykle odnosi się do okna z wierszem poleceń (powłoką), które może pojawić się w oknie GUI lub zamiast GUI.
Różnica między konsolą a powłoką jest tym, czego jeszcze nie rozumiem, ale mogę powiedzieć, jak terminal różni się od powłoki.
Zacisk jest ( w zależności od Wikipedia ) „szeregowy interfejs komputer do wprowadzania i wyświetlania tekstu. Informacja jest przedstawiona w postaci tablicy wybranych wstępnie ukształtowanych znaków”.
Możesz używać terminala do interakcji z powłoką, ale możesz także używać go do interakcji z tekstowym interfejsem GUI , zwanym czasem interfejsem użytkownika terminala . Na przykład:
W każdym przypadku elementy GUI są „rysowane” za pomocą tekstu, a nie pikseli.
Bardziej szczegółowy opis: https://askubuntu.com/a/506628/130518
W tym tekście opiszę najbardziej normalny przypadek użycia tego.
Terminal używa powłoki. Powłoka może działać bez terminala.
Aby odnosić się do przedmiotów codziennego użytku:
Inny sposób patrzenia na to: Twoje uszy (wejście) i usta (wyjście) są zaciskami dźwięku. Twój mózg interpretuje te dźwięki za pomocą określonej powłoki (przetwarzania).
Terminal jest dla nas ludzi, więc możemy czytać i pisać do powłoki. Powłoki mogą działać w procesach w tle, które nie wymagają interakcji człowieka, np. Zadanie cron, a zatem nie wymagają terminala.
Kilka przykładów istniejących terminali:
Kilka przykładów istniejących powłok:
Napisałem tylko, jak te dwa działają normalnie, są inne sposoby, ale są one dla bardziej zaawansowanych użytkowników.
Pomyśl o innym kontekście, jakim jest rozwój.
Nawet jeśli nie masz bardzo głębokiej wiedzy o programowaniu, prawdopodobnie znasz podstawy, to znaczy: edytujesz program, przekazujesz go do kompilatora lub interpretera, który tworzy skompilowaną aplikację.
Konsola jest jak edytor twojego programu; pomaga ci pisać, ale tak naprawdę nic nie wykonuje: po zakończeniu wyślij go do kompilatora.
Możesz użyć preferowanego edytora, vim, gedit, emacs, notepad ++, Netbeans, eclise itp. Itp., Ale na końcu są to po prostu różne narzędzia: jeśli napiszesz ten sam program, wynik będzie taki sam.
W tej metaforze powłoka jest kompilatorem. Polecenia wprowadzane do terminala są wysyłane do powłoki, która je interpretuje i wykonuje je natychmiast.
Tak więc, chociaż terminale są tylko frontonami dla powłoki, powłoka zawiera rzeczywisty język, jak to się dzieje w przypadku kompilatora.
Oczywiście terminal nie jest dokładnie edytorem tekstu, głównie dlatego, że nie tworzy pliku, ale wysyła tekst do podstawowej powłoki i pobiera z niego dane wyjściowe.
Powłoka nie jest kompilatorem, w rzeczywistości interpretuje twoje polecenie i wykonuje je natychmiast, zamiast budować plik wykonywalny.
Nawet z tą wielką różnicą, znajduję tę metaforę, która bardzo pomaga w zrozumieniu tego pomysłu.
Naprawdę nie ma dużej różnicy. Dawno temu, gdy „powłoka” była programem, „terminal” był nakładką na frontend tego programu, a „konsola” była fizycznym połączeniem z komputerem (klawiatura / ekran).
Różnica zależy od używanego systemu operacyjnego. „Standardową” powłoką jest BASH , która jest zwykle dostępna we wszystkich wersjach Linux / Unix. Windows używa zupełnie innej powłoki.
prompt
a nawetcommand line
?