Chiarezza sulla differenza tra Console / Terminale / Shell

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Nilus
Linux 0.x
Linux 0.x
Messaggi: 11
Iscritto il: lun 21 feb 2011, 14:52
Slackware: 13.1
Desktop: KDE

Chiarezza sulla differenza tra Console / Terminale / Shell

Messaggio da Nilus »

Da buon utente Slackware mi trovo praticamente ogni giorno a fare i conti con la console ( in modo piacevole devo dire ) ma, sentendo parlare sempre anche di shell e terminale ho voluto approfondire la faccenda ed ho capito questo ( in modo molto semplicistico ):

Il terminale tempo fa era inteso come dell' hardware ( tastiera, schermo ) capace di connettersi ad un sistema Unix.

La console è l' interfaccia a riga di comando di un sistema Unix, Unix-like.

La shell è l' involucro che sta attorno al kernel e fornisce un' interazione tra l' uomo e la macchina, ne esistono di diverse sia grafiche che testuali e quindi credo che funga da interprete dei comandi.


Al giorno d' oggi quindi console e terminale sono simili oppure è errato l' idea che mi sono fatto io ?

Avatar utente
Eberoth
Linux 2.x
Linux 2.x
Messaggi: 403
Iscritto il: lun 24 ago 2009, 9:22
Slackware: -current
Kernel: 3.13.6
Desktop: KDE4
Distribuzione: Slackel64

Re: Chiarezza sulla differenza tra Console / Terminale / She

Messaggio da Eberoth »

Nella lingua comune, quella che si usa normalmente tutti i giorni tra "addetti ai lavori" che non vogliono essere estremamente formali, i tre termini identificano la stessa cosa, ovvero l'interfaccia testuale. Con la differenza che di solito console si riferisce all'interfaccia testuale vera e propria (quella fuori da X per intenderci), mentre per "terminale" si intendono ambienti come Konsole, XTerm eccetera.

Nilus
Linux 0.x
Linux 0.x
Messaggi: 11
Iscritto il: lun 21 feb 2011, 14:52
Slackware: 13.1
Desktop: KDE

Re: Chiarezza sulla differenza tra Console / Terminale / She

Messaggio da Nilus »

Si alla fine si usano tutti e tre indiscriminatamente, ma secondo me conoscere le cose a fondo non fa mai male ( o quasi... )

Avatar utente
Paoletta
Staff
Staff
Messaggi: 3975
Iscritto il: lun 25 apr 2005, 0:00
Slackware: 14.2 - 64 bit
Desktop: fluxbox
Località: Varese

Re: Chiarezza sulla differenza tra Console / Terminale / She

Messaggio da Paoletta »

Eberoth ha scritto:mentre per "terminale" si intendono ambienti come Konsole, XTerm eccetera.
in realta' questi sono definiti emulatori di terminale;

Avatar utente
conraid
Staff
Staff
Messaggi: 13631
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Chiarezza sulla differenza tra Console / Terminale / She

Messaggio da conraid »

leggendo wikipedia sembra che "shell" viene intesa come ambiente di lavoro che ti permette di interagire con il sistema, e può essere a linea di comando o grafico, da qui per esempio Gnome Shell.
http://en.wikipedia.org/wiki/Shell_%28computing%29

La console è appunto il pc fisicamente inteso
http://en.wikipedia.org/wiki/System_console
e quel che noi chiamiamo console è il
http://en.wikipedia.org/wiki/Virtual_console_%28PC%29

Terminale è appunto l'emulatore di terminale
http://en.wikipedia.org/wiki/Terminal_emulator
in quanto simula il "terminale" fisico, anche da remoto, soprattutto in origine
http://en.wikipedia.org/wiki/Computer_terminal

naturalmente wikipedia non è il vangelo :-)

Avatar utente
neongen
Packager
Packager
Messaggi: 827
Iscritto il: ven 25 mag 2007, 12:37
Nome Cognome: Enrico
Slackware: 14.0_64
Kernel: 3.4.4
Desktop: KDE 4.5.5
Distribuzione: Maemo 5
Contatta:

Re: Chiarezza sulla differenza tra Console / Terminale / She

Messaggio da neongen »

Nilus ha scritto: Al giorno d' oggi quindi console e terminale sono simili oppure è errato l' idea che mi sono fatto io ?
semplicemente un terminale può anche essere grafico (es. collegandosi ad X via xdmcp).

legura
Linux 0.x
Linux 0.x
Messaggi: 14
Iscritto il: mer 23 mar 2011, 12:07

Re: Chiarezza sulla differenza tra Console / Terminale / She

Messaggio da legura »

Semplificando al massimo: il terminale può essere visto come l'insieme dei flussi dati di input ( tastiera ) e di output (monitor).
La shell è un programma che gestisce questi due flussi, leggendo l'input da tastiera, ed eventualmente
scrivendo su monitotr (output). La shell interpreta i comandi inviati da tastiera e li esegue ( eventualmente
avviando altri programmi che a loro volta si interfacceranno con i flussi di input e output).
Esssendo un programma, esistono diversi tipi di shell ( bash, sh, zh, etc..)
Un terminale virtuale è un programma (che gira in un contesto grafico) in cui gira la shell, che si interfaccia,
per quanto riguarda i flussi di input e output, con il programma terminale virtuale ( e non con il trerminale
visto sopra).

Mario Vanoni
Iper Master
Iper Master
Messaggi: 3174
Iscritto il: lun 3 set 2007, 21:20
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey
Località: Cuasso al Monte (VA)

Re: Chiarezza sulla differenza tra Console / Terminale / She

Messaggio da Mario Vanoni »

legura ha scritto:Semplificando al massimo: il terminale può essere visto come l'insieme dei flussi dati di input ( tastiera ) e di output (monitor).
La shell è un programma che gestisce questi due flussi, leggendo l'input da tastiera, ed eventualmente
scrivendo su monitotr (output). La shell interpreta i comandi inviati da tastiera e li esegue ( eventualmente
avviando altri programmi che a loro volta si interfacceranno con i flussi di input e output).
Esssendo un programma, esistono diversi tipi di shell ( bash, sh, zh, etc..)
Un terminale virtuale è un programma (che gira in un contesto grafico) in cui gira la shell, che si interfaccia,
per quanto riguarda i flussi di input e output, con il programma terminale virtuale ( e non con il trerminale
visto sopra).
Quasi perfetto!

Il terminale, tastiera e schermo, dialoga con il computer,
a livello di boot non c'e` SO, ne alcuna shell, quindi dialoga con il BIOS.
Esempio classico Ctrl-Alt-Del per interrompere il boot.

Partito il SO, subentra una shell che dialoga con il SO,
vuole login e passwd, e hai a disposizione solo le utilities UNIX/Linux.

Sotto un DE qualunque serve anche un sorcio ed il terminale viene emulato,
ma non e` piu` puro, perche' il DE spesso usa tante/troppe risorse.

UPDATE:
tty deriva da teletype == telescrivente
ai tempi non esistevano schermi ne sorci

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6643
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: Chiarezza sulla differenza tra Console / Terminale / She

Messaggio da targzeta »

Mario Vanoni ha scritto:...
Partito il SO, subentra una shell che dialoga con il SO,
vuole login e passwd, e hai a disposizione solo le utilities UNIX/Linux.
...
In realtà, il SO esegue il processo padre di tutti i processi, che normalmente è /sbin/init. Questo esegue un processo che apre un terminale, sulla Slackware è /sbin/agetty, il quale una volta configurato il terminale esegue un altro processo che si occupa dell'autenticazione dell'utente, sotto Slackware è /bin/login. E' quest'ultimo (normalmente) che chiede la login e la password. Una volta verificate le credenziali /bin/login esegue un altro processo ancora che di solito è la shell dell'utente. La shell non è altro che un programma che interpreta i comandi dell'utente ed esegue quello che gli viene chiesto di fare.

Sulla definizione di terminale, console, terminale virtuale e console virtuale non saprei che dire. Anche io ho letto che con terminale generalmente viene indicata la coppia tastiera+monitor, in pratica una postazione. Però non aggiungo altro perché non so :)

Emanuele
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

Mario Vanoni
Iper Master
Iper Master
Messaggi: 3174
Iscritto il: lun 3 set 2007, 21:20
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey
Località: Cuasso al Monte (VA)

Re: Chiarezza sulla differenza tra Console / Terminale / She

Messaggio da Mario Vanoni »

spina ha scritto:
Mario Vanoni ha scritto:...
Partito il SO, subentra una shell che dialoga con il SO,
vuole login e passwd, e hai a disposizione solo le utilities UNIX/Linux.
...
In realtà, il SO esegue il processo padre di tutti i processi, che normalmente è /sbin/init. Questo esegue un processo che apre un terminale, sulla Slackware è /sbin/agetty, il quale una volta configurato il terminale esegue un altro processo che si occupa dell'autenticazione dell'utente, sotto Slackware è /bin/login. E' quest'ultimo (normalmente) che chiede la login e la password. Una volta verificate le credenziali /bin/login esegue un altro processo ancora che di solito è la shell dell'utente. La shell non è altro che un programma che interpreta i comandi dell'utente ed esegue quello che gli viene chiesto di fare.
Perfetta descrizione di quanto ho omesso per pigrizia.

Reminiscenza di >15 anni:
sul computer esposto alla rete usavo /bin/restrict non /bin/login,
programma degli anni 1980-1990 che permetteva solo quanto definito.
Da quello, superati gli ostacoli, si accedeva al server.

Nilus
Linux 0.x
Linux 0.x
Messaggi: 11
Iscritto il: lun 21 feb 2011, 14:52
Slackware: 13.1
Desktop: KDE

Re: Chiarezza sulla differenza tra Console / Terminale / She

Messaggio da Nilus »

Innanzitutto vi ringrazio per le risposte, dopo aver dato un' occhiata alle pagine del wiki e letto appunto le vostre risposte mi sono fatto un' idea, magari andando più a fondo con lo studio del kernel ed O.S. poi le cose diverrano ancora più chiare.

Diciamo che quelle applicazioni che girano sotto un' ambiente grafico sono tutte emulatori di terminale( funzionanti sia da locale che da remoto ), la console è da intendere proprio come postazione fisica di un pc.
Quindi quando faccio il login per entrare nel sistema mi trovo in console ( che poi attraverso un meccanismo al momento a me ignoto possono essere 6 o più console virtuali ).
Nel momento in cui parte il Desktop Environment per interagire testualmente col sistema posso richiamare un emulatore di terminale ( tipo konsole in KDE ) o al massimo switchare in un' altra console virtuale.

In generale quindi le operazioni che posso fare in console le posso fare anche dal terminale virtuale ( o almeno credo quasi tutte ), per questo motivo credo che la differenza tra le due per un utente desktop come me possa apparire sottile.

Avatar utente
giberg
Linux 4.x
Linux 4.x
Messaggi: 1282
Iscritto il: mer 21 set 2005, 17:28
Nome Cognome: Gianni
Slackware: current64
Kernel: 3.7.1
Desktop: 4.8.5
Località: S. Biagio di Callalta (TV)

Re: Chiarezza sulla differenza tra Console / Terminale / She

Messaggio da giberg »

Io uso la shell "bash" in un terminale.

Può essere giusto dire così?

Bash (sh) è una shell testuale. L'interfaccia grafica (Gnome, Kde, l'interfaccia di Windows ecc...) è una shell grafica (giusto?).
C Shell (csh) e Korn Shell (ksh) sono altre shell testuali che posso eseguire in un terminale.

Rispondi