Qual è la differenza tra Terminal, Console, Shell e Command Line?

169

Qual è la differenza tra Terminal, Console, Shell e Command Line?

    
posta Akiva 04.08.2014 - 06:35

10 risposte

118

La risposta breve è che

  • terminal = text input / output environment
  • console = terminale fisico
  • shell = interprete della riga di comando

Console e terminale sono strettamente correlati. Originariamente, significavano un pezzo di equipaggiamento attraverso il quale si poteva interagire con un computer: nei primi giorni di Unix, ciò significava un teleprinter

Nella terminologia Unix, un terminale è un particolare tipo di file del dispositivo che implementa un numero di comandi aggiuntivi ( ioctls ) oltre a leggere e scrivere. Alcuni terminali sono forniti dal kernel per conto di un dispositivo hardware, ad esempio con l'input proveniente dalla tastiera e l'uscita che va a una schermata in modalità testo, o con l'input e l'output trasmessi su una linea seriale. Altri terminali, a volte chiamati pseudo-terminali o pseudo-tty, sono forniti (attraverso un sottile strato del kernel) da programmi chiamati emulatori di terminali . Alcuni tipi di emulatori di terminale includono:

  • Applicazioni GUI in esecuzione nel X Window System : Xterm , Gnome Terminal, Konsole, Terminator, ecc.
  • Schermo e tmux , che fornisce uno strato di isolamento tra un programma e un altro terminale
  • Ssh , che collega un terminale su una macchina con programmi su un'altra macchina
  • Aspetti , per lo scripting delle interazioni con i terminali

La parola terminale può anche avere un significato più tradizionale di un dispositivo attraverso il quale si interagisce con un computer, in genere con una tastiera e un display. Ad esempio, un terminale X è un tipo di thin client , un computer per scopi speciali il cui unico scopo è guidare una tastiera, display, mouse e occasionalmente altre periferiche di interazione umana, con le applicazioni reali in esecuzione su un altro computer più potente.

Una console è generalmente un terminale nel senso fisico che per definizione è il terminale primario direttamente connesso a una macchina. La console appare al sistema operativo come un terminale (implementato dal kernel). Su alcuni sistemi, come Linux e FreeBSD, la console appare come diversi terminali (ttys) (combinazioni di tasti speciali commutano tra questi terminali); solo per confondere le cose, il nome assegnato a ciascun particolare terminale può essere "console", "console virtuale", "terminale virtuale" e altre varianti.

Vedi anche Perché un terminale virtuale è "virtuale" e che cosa / perché / dove è il "vero" terminale? .

Una riga di comando è un'interfaccia in cui l'utente digita un comando (che è espresso come una sequenza di caratteri - tipicamente un nome di comando seguito da alcuni parametri) e preme Invio chiave per eseguire quel comando.

Una shell è l'interfaccia principale che gli utenti vedono quando accedono in, il cui scopo principale è quello di avviare altri programmi. (Non so se la metafora originale è che la shell è l'ambiente domestico per l'utente, o che la shell è ciò che altri programmi sono in esecuzione.)

Nelle cerchie unix, shell si è specializzato nel significato di shell della riga di comando , centrata attorno all'inserimento del nome dell'applicazione che si desidera avviare, seguita dai nomi dei file o altri oggetti su cui l'applicazione dovrebbe agire e premendo il tasto Invio. Altri tipi di ambienti (con la notevole eccezione recente di Gnome Shell) di solito non usano la parola "shell"; ad esempio, i sistemi di finestre includono " gestori di finestre " e " ambienti desktop ", non una "shell".

Ci sono molte diverse shell Unix. La shell predefinita di Ubuntu è Bash (come la maggior parte delle altre distribuzioni Linux). Alternative popolari includono zsh (che enfatizza potenza e personalizzazione) e pesce (che sottolinea la semplicità) .

Le shell della riga di comando includono costrutti di controllo del flusso per combinare i comandi. Oltre a digitare i comandi su un prompt interattivo, gli utenti possono scrivere script. Le shell più comuni hanno una sintassi comune basata su Bourne_shell . Quando si parla di " programmazione di shell ", la shell è quasi sempre implicita come shell di tipo Bourne. Alcune shell spesso utilizzate per lo scripting ma prive di funzionalità interattive avanzate includono la shell Korn (ksh) e molti ash varianti. Praticamente qualsiasi sistema simile a Unix ha una shell in stile Bourne installata come /bin/sh , di solito ash, ksh o bash. Su Ubuntu, /bin/sh è Dash , una variante di cenere (scelta perché è più veloce e usa meno memoria che bash).

Nell'amministrazione di sistema unix, la shell di un utente è il programma che viene richiamato quando accedono. Gli account utente normali hanno una shell della riga di comando, ma gli utenti con accesso limitato possono avere un shell ristretta o qualche altro comando specifico (ad es. per account con trasferimento di file).

La divisione del lavoro tra terminale e shell non è completamente ovvia. Ecco i loro compiti principali.

  • Input: il terminale converte le chiavi in ​​sequenze di controllo (ad es. Sinistra \e[D ). La shell converte le sequenze di controllo in comandi (ad esempio \e[Dbackward-char ).
  • L'edizione lineare, la cronologia degli input e il completamento sono forniti dalla shell.
    • Il terminale può invece fornire la propria edizione di linea, la cronologia e il completamento e invia solo una linea alla shell quando è pronta per essere eseguita. L'unico terminale comune che funziona in questo modo è M-x shell in Emacs.
  • Output: la shell emette istruzioni come "display foo ", "cambia il colore di primo piano in verde", "sposta il cursore sulla riga successiva", ecc. Il terminale agisce su queste istruzioni.
  • Il prompt è puramente un concetto di shell.
  • La shell non vede mai l'output dei comandi che esegue (a meno che non sia reindirizzato). La cronologia dell'output (scrollback) è puramente un concetto di terminale.
  • Copia-incolla tra applicazioni è fornita dal terminale (di solito con il mouse o sequenze di tasti come Ctrl + Maiusc + V o Maiusc + Inserisci ). La shell può avere anche il proprio meccanismo di copia-incolla (es. Meta + W e Ctrl + Y ).
  • Controllo dei processi (l'avvio dei programmi in background e la loro gestione) viene eseguito principalmente dalla shell. Tuttavia, è il terminale che gestisce combinazioni di tasti come Ctrl + C per uccidere il lavoro in primo piano e Ctrl + Z per sospenderlo.

riciclato da Unix & amp; Linux

    
risposta data Gilles 04.08.2014 - 12:30
52

Una rappresentazione visiva.

Terminale

Qualcosa su cui puoi sederti e lavorare come un boss.

Console

Alcuni hardware che fanno un sacco di cose.

Un altro esempio di console, sarebbe una console per videogiochi come un Super Nintendo [in cui puoi giocare ad Actraiser]

shell

Fondamentalmente un'applicazione per l'esecuzione di comandi.

Riga di comando [Interfaccia]

In pratica qualsiasi cosa in cui inserisci comandi.

    
risposta data Akiva 04.08.2014 - 22:09
19

Dal Linux Information Project :

  

Terminale : tecnicamente, una finestra di terminale, anche chiamata emulatore di terminale, è una finestra di solo testo in un'interfaccia utente grafica (GUI) che emula una console.

Nelle nostre parole Un'applicazione GUI, da cui possiamo accedere alla console di un utente.

  

Console : un pannello degli strumenti contenente i controlli per un computer

     

Shell : Una shell è un programma che fornisce la tradizionale interfaccia utente di solo testo per Linux e altri Unix- come i sistemi operativi

     

Riga di comando : una riga di comando è lo spazio a destra del prompt dei comandi su una visualizzazione tutto testo modalità su un monitor del computer (in genere un pannello CRT o LCD) in cui un utente immette comandi e dati

    
risposta data Ten-Coin 04.08.2014 - 06:39
14

Le risposte qui sembrano molto buone. Tuttavia sono troppo asciutti e tecnici per i miei gusti, quindi darò un tocco ..

Terminal è la fine di qualcosa - dove termina. Ad esempio se prendi la metropolitana in qualche città, la stazione in cui scendi è il tuo terminale. O in un aeroporto il luogo in cui le persone escono quando raggiungono il loro paese di destinazione è considerato il terminale. Il motivo per cui il terminal dell'aeroporto è al giorno d'oggi sia il luogo in cui si trovano le persone a bordo che il luogo in cui li si prende dall'aereo è per ovvi motivi economici.

Lo scopo di un computer è ottenere dati, fare qualcosa con esso e sputare il risultato. Quindi il terminale è qualsiasi dispositivo da cui è possibile ottenere il risultato del calcolo .. uno schermo per esempio. È appena successo che nei primi computer di solito si disponesse l'input (tastiera) e l'output (schermo) come un singolo dispositivo. A causa di ciò al giorno d'oggi i terminali sono considerati dispositivi di input / output. Un mouse, una tastiera, uno schermo, una telecamera, sono tutti terminali.

Shell è una cosa del sistema operativo. Su un computer hai il kernel che su Ubuntu per esempio è la parte Linux. Dato che il kernel è veramente di basso livello, viene fornita una shell - un programma che consente all'utente di interagire con il kernel in modo semplice. Questo è quello che BASH è ad esempio.

Console è (da un dizionario)

  

una superficie piatta che contiene i controlli per una macchina, per un pezzo   di materiale elettrico, ecc.

Ecco perché nell'industria musicale il tabellone con tutte le manopole, o in uno space shuttle il tavolo di comando, sono tutte considerate console. Super Nintendo e PS2 sono anche chiamati storicamente console dal momento che i primi dispositivi di intrattenimento simili sembravano scatole con un gruppo di pulsanti su di essi.

Command line è solo un'interfaccia, l'opposto della GUI. Vale a dire ci sono due tipi di interfacce su un computer; CLI (interfaccia a riga di comando) e GUI (interfaccia utente grafica). La differenza principale è che il primo riceve input dalla tastiera mentre il secondo viene immesso dal mouse.

    
risposta data Pithikos 06.08.2014 - 12:40
7

Per riassumere la mia risposta:

Shell è un programma che processes comanda e returns produce, come bash in Linux.

Terminale è un programma che run a shell , in passato era un dispositivo fisico (Prima i terminali erano monitor con tastiere , erano teletypes ) e quindi il suo concetto è stato trasferito in software , come Gnome-Terminal .

Quindi apro Gnome-Terminal , viene visualizzata una finestra nera che esegue Shell così posso eseguire i miei comandi.

Console è un tipo speciale di terminale , era anche un dispositivo fisico. esempio in Linux abbiamo virtual console a cui posso accedere tramite la combinazione di Ctrl + Alt + da F1 a F7 .

Console indica a volte la tastiera e il monitor fisicamente collegati a questo computer.

    
risposta data nux 05.08.2014 - 13:59
7

Questi termini vanno spesso insieme, quindi le persone usano uno dei termini per fare riferimento alla collezione. (di solito è ovvio dal contesto che intendono una finestra terminale che fornisce un'interfaccia a una shell della riga di comando).

Per evitare che questo diventi prolisso, sto solo per dire xterm come sostituto per XTerm / Gnome Terminal / Konsole / mrxvt / etc / ecc. Lo stesso per bash.

La console ha altri significati specifici, quindi lasciatelo fuori per ora.

Terminale : qualcosa che fornisce interazione umana con i programmi attraverso un flusso bidirezionale di ASCII / UTF8 / altri caratteri, in genere con VT100 o analoghi processi di escape code. Ad esempio, backspace, delete, tasti freccia, ecc. Generano codici di escape I programmi possono stampare i codici di escape per spostare il cursore sullo schermo del terminale, passare al grassetto e / o al colore, cancellare o scorrere lo schermo, ecc. i vecchi tempi, questo era spesso un apparecchio dedicato con uno schermo e una tastiera e una porta seriale. Ora, di solito è un programma come xterm.

Ci sono file di dispositivo per programmi da leggere / scrivere da / a terminali, e i terminali virtuali hanno anche l'altro lato accessibile come un file di dispositivo. Qui è dove xterm scrive il tuo input in modo che bash possa leggerlo.

Ogni terminale, inclusi quelli virtuali, fornisce un editing di base della linea quando è in modalità cotta (al contrario di quella raw). Questo è gestito dal codice del kernel. È il bash che fornisce la modifica della riga che puoi fare con i tasti freccia. (Prova a eseguire cat e digita se vuoi vedere come funziona la modifica di base del kernel. Backspace funziona, e un altro paio di cose secondo le tue impostazioni stty.)

Anche se c'è un sacco di codice del kernel dietro ai dispositivi terminali, questo sarebbe indicato come codice di gestione dei terminali, non come terminale stesso.

Modifica: Gilles mi ha convinto che riferirsi a un tty come terminale è un uso corretto. Gli emulatori di terminale e i programmi interattivi che vengono eseguiti collegati a un terminale dipendono tutti dalla semantica terminale implementata dal kernel. (La maggior parte di questo comportamento è standardizzata da POSIX ed è la stessa su Linux / * BSD / altri Unix.) Un editor di testo a schermo intero dipende dal comportamento di roba Unix tty e dalla gestione del codice di escape del movimento del cursore, e molte altre caratteristiche dell'emulatore di terminale.

Tuttavia, un VT100 fisico con schermo, tastiera e porta seriale è un'istanza di un terminale. Non richiede che un kernel Unix all'altra estremità della sua porta seriale sia completo. Qualcosa di completamente diverso potrebbe essere inviare codici di escape e testo ASCII, e ricevere lo stesso da esso. Sarebbe solo un VT100, non un terminale Unix. Un emulatore di terminale più la semantica Unix tty costituiscono il pacchetto completo di un terminale Unix su cui normalmente gira un programma come bash.

Riga di comando è uno stile di interfaccia utente, in cui digiti qualcosa, quindi premi Invio per far accadere qualcosa. È anche usato come una scorciatoia per una shell da riga di comando, come bash o MS-DOS, ma puoi anche dire "è uno strumento da riga di comando" su qualcosa come fdisk. Considerando solo i programmi che utilizzano un terminale per l'interfaccia utente, le due famiglie principali sono la riga di comando e il testo a schermo intero (ad esempio un editor come vi o emacs -nw ).

I programmi a riga di comando che normalmente funzionano sui terminali funzionano quasi sempre con i loro input e output reindirizzati ai file, ma programmi a schermo intero basati su terminale come editor o client di posta elettronica sono solo interattivi e non funzionano.

Una shell è un programma per l'avvio di altri programmi. In un contesto Unix, è comune significare shell a riga di comando (ad esempio shell Bourne o equivalente a shell C). Le shell Unix possono anche leggere il loro input da file, ad esempio gli script di shell. Sono linguaggi di programmazione completi, con variabili, loop e condizionali, e molti programmi sono scritti in bash (o con solo le caratteristiche della shell POSIX /bin/sh , per una maggiore portabilità). È anche possibile scrivere rapidamente un for i in *.something; do some_program "$i";done in una shell interattiva.

Mettendo tutto insieme, una shell come bash (o qualsiasi altro programma avviato eseguendo un comando shell) riceverà caratteri dal dispositivo terminale /dev/pts/N dopo che xterm scrive il tuo input nel suo lato dello pseudo-terminale. Se si esegue cat , quindi si preme ^c , il codice tty del kernel agirà su ^c e invierà un SIGINT al processo in primo piano su quel terminale. (Si noti l'uso di terminale in questo contesto per indicare Unix tty, non un emulatore di terminale o qualcosa collegato a una porta seriale.) Questo accade perché la shell pone il terminale in modalità "cotta" prima avviare qualsiasi programma, il che significa che il kernel agisce su alcune sequenze di controllo. (Il codice tty non ha ancora nulla a che fare con la gestione dei codici di escape VT100, solo alcuni codici di controllo basso-ASCII.) Se invece di un xterm, si utilizza il terminale di testo della console Linux, quindi il kernel sta eseguendo l'emulazione VT100 e sta gestendo tutte queste cose. Linux può essere compilato senza supporto per il terminale di testo della console virtuale, ma non senza supporto tty.

Console è talvolta usato come sinonimo di terminale (KDE ha anche un emulatore di terminale chiamato Konsole).

Come sottolinea 0xSheepdog, ha anche un altro significato: hardware di interazione umana collegato localmente.

In un contesto del kernel, la console ha un altro significato specifico: è il terminale in cui vengono scritti i messaggi di avvio. Questa può essere una porta seriale. Normalmente, naturalmente, è la console di testo implementata dal kernel in cima ai driver per l'hardware grafico e le tastiere USB / ps2 / AT. Se avvii Linux con console=tty0 console=ttyS0,115200n8 sulla riga di comando, otterrai i messaggi del kernel sullo schermo E sulla porta seriale.

Linux implementa le console virtuali ( /dev/tty1 in N ). Puoi scambiare quale schermo fisico / tastiera stai controllando con Ctrl + Alt + F N . Tipiche distribuzioni Linux creano 6 e iniziano getty su tutte, quindi anche se non puoi o non vuoi avviare X11, puoi effettuare il login 6 volte e passare da un comando a una pagina man e qualsiasi altra cosa altrimenti, senza eseguire un programma come schermo. Linux (il kernel) include un emulatore di terminale in stile VT100 per fornire un'interfaccia terminale attraverso lo schermo e la tastiera sulle console virtuali.

I 6 terminali virtuali standard con prompt di accesso è il motivo per cui Ctrl + Alt + F7 ti riporta alla tua sessione X11: il server X afferra la prossima console virtuale disponibile. (Il server X apre direttamente /dev/input/... , invece di ottenere i tasti da /dev/tty7 , però.)

Quindi "scambiare su una console di testo" significa premere Ctrl + Alt + F1 e usare quel terminale. Quando i computer erano lenti e non avevano molta RAM, alcune persone passavano molto del loro tempo sulle console di testo, dato che erano veloci, si poteva impostare un font carino e persino cambiare le dimensioni del terminale per avere caratteri più piccoli, ma avere più sullo schermo in una volta. Alt + Sinistra e Alt + A destra passa a prev / next console. (X11 disabilita questo per la sua console, ovviamente lasciando solo la combinazione Ctrl + Alt + F N . )

Quindi console è l'unico di questi termini che non ha un singolo significato tecnico ben definito. Ne ha un paio in più. (A seconda di come ti senti rispetto al terminale e alla gestione del terminale più tty, potresti dire che il terminale ha anche più significati.)

    
risposta data Peter Cordes 05.08.2014 - 11:16
5

Penso che nei primi tempi dei computer con condivisione del tempo, ogni utente avesse un terminale (quando poteva ottenerlo!), ma solo gli operatori di sistema avevano una console. La console può essere utilizzata per attività come il riavvio della macchina o la diagnostica di sistema che non erano possibili dai terminali utente. La console era nella sala macchine, una parte intrinseca del computer, mentre i terminali potevano essere remoti. La console includerebbe anche luci e interruttori hardware, non solo input e output di testo.

Direi che la riga di comando è un'area in cui un utente può digitare un comando, mentre la shell è il programma che interpreta / obbedisce a quel comando. Il termine "shell" è molto particolare per i derivati ​​Unix; "command-line" è più nella tradizione Windows / DOS. L'equivalente sui mainframe è solitamente chiamato "linguaggio di controllo del lavoro".

Chiaramente, queste distinzioni originali si sono offuscate nel tempo man mano che la tecnologia cambia.

    
risposta data Michael Kay 05.08.2014 - 00:35
3

Cercando una risposta breve incentrata sull'utente:

riga comandi - la riga in cui inserisci i comandi. Di solito si diceva che è necessario eseguire qualcosa nella finestra in modalità testo (interfaccia a riga di comando) fornita dal proprio sistema operativo.

shell - il programma effettivo eseguito dal sistema operativo per elaborare le cose che inserisci in command line . Da qui il nome - shell user-friendly per il core del SO non amichevole. Fornisce prompt dei comandi, come $ o > , esegue i propri comandi e app. Lavorate sempre attraverso il programma shell e non utilizzate mai direttamente la console o il terminale.

console - è una finestra in cui sono in esecuzione i tuoi programmi in modalità testo. Questa finestra elabora le pressioni dei tasti, sa che è larghezza e altezza. Può essere a schermo intero.

terminal - è un dispositivo con display per umani che accetta flussi di input di caratteri e li mostra. Non ci sono feedback per l'utente su altezza o larghezza (solo hack) o tasti premuti con la tastiera - solo i caratteri ci stanno viaggiando. Terminal elabora sequenze speciali in questo stream per rendere le cose colorate, ripulire lo schermo e fare altre cose cattive. I terminali sono traballanti, perché è facile rovinare le cose se il file che si sta canalizzando per l'output contiene sequenze speciali. Sono popolari nelle interfacce di debug di rete e dispositivo, perché è sufficiente un singolo flusso per inviare l'output e controllare il dispositivo di output e puoi solo tap in conversazione senza la necessità di inizializzare o creare una finestra.

console seriale - è una console che elabora il flusso di input come un terminale.

    
risposta data anatoly techtonik 24.10.2014 - 12:42
3

Questo è un argomento vago, perché i termini sono molto ambigui. Raccomando vivamente di leggere i link che ho fornito in questa risposta, che sono anche le mie fonti per questa risposta.

Una shell è il livello sopra il kernel:

  • Interpreta i comandi inseriti dall'utente e li elabora. La shell ha accesso al kernel, a differenza degli utenti. Gli utenti possono accedere al kernel solo immettendo comandi usando una shell e usando i processi (cioè programmi in esecuzione). I programmi utilizzano chiamate di sistema per accedere alle funzionalità del kernel. Tutte le chiamate di sistema costituiscono l'API di sistema.
  • Gli esempi di shell sono forniti nella seconda definizione del terminale.

Un terminale ha molti significati:

  • (1) A terminale di testo . Questa è la combinazione di un monitor e una tastiera. Un cavo ha collegato il terminale al computer (spesso indirettamente). È stato chiamato terminale poiché si trovava all'estremità terminale di questo cavo. Solitamente questi terminali erano fisicamente separati dal computer, perché nel passato molti terminali erano collegati a un singolo mainframe / computer, in modo che più utenti potessero avere accesso al computer allo stesso tempo.
  • (2) Una finestra terminale a.k.a. emulatore di terminale . In Linux, una finestra di terminale è l'emulazione di una console, contenuta in una finestra della GUI. È la CLI in cui scrivi il tuo testo, e questo input viene letto dalla shell che stai usando. Esistono molti tipi di shell (ad esempio bash, dash, ksh88) e terminali (ad esempio konsole, gnome).
  • (3) Per una spiegazione su pseudo terminali , visualizza questo . Si tratta di una coppia di due "file di dispositivo" utilizzati per la comunicazione tra un processo e un emulatore di terminale.

Una console ha molti significati:

  • (1) un pannello strumenti contenente i controlli per un computer.
  • (2) Una console di sistema a.k.a. console del computer . Questa è la combinazione del monitor del display e di una tastiera collegata a un computer. Questo è sinonimo di ciò che chiamiamo "terminale di testo". A volte anche altre periferiche di input dell'utente come un mouse fanno parte di una console.
  • (3) Un'interfaccia della riga di comando che copre l'intero schermo. Ciò è in contrasto con una finestra di terminale, che è una GUI con una X nell'angolo in alto a destra per chiuderla. Queste sono le due modalità di visualizzazione per CLI (interfacce della riga di comando) in sistemi simil-Unix. Analogamente a una finestra di terminale, la console può eseguire anche molte shell.

Spesso i sistemi operativi consentono di eseguire più console su una console fisica (definizione della console 2). Queste sono chiamate console virtuali alias terminali virtuali e sono accessibili tramite ctrl + alt + Fx combinazioni. Ad esempio, se vuoi aprire la 3a console virtuale, usa la combinazione ctrl + alt + F3 .

Le console (definizione 3) potrebbero apparire come un anacronismo, ma gli esperti dovrebbero essere a loro agio nell'utilizzarle, poiché ci sono molti sistemi operativi che non supportano le GUI. Inoltre, se una GUI non risponde, la console potrebbe ancora funzionare.

    
risposta data user1534664 03.12.2015 - 06:13
2

La maggior parte dei terminali al giorno d'oggi sono in pratica emulatori di terminali . È un tipo di ruolo nel funzionamento di un sistema simile a UNIX e allo stesso tempo l'interfaccia di base offerta dai sistemi. In effetti tutto, inclusa la GUI, si basa su di esso.
Colloquialmente "terminale" può anche riferirsi a punti finali in una rete di computer con una topografia a stella.

Console fa riferimento alle interfacce (hardware) per i terminali. Cioè ci sono le console seria e al giorno d'oggi principalmente virtuali .
La finestra colloquialmente denominata "console" -window è una shell, connessa a un terminale del sistema, tramite una console virtuale.

Ai tempi in cui i computer erano costosi, una struttura poteva avere un computer reale e diversi terminali che si collegavano ad esso, tramite cavi seriali ("console seriale"). Il sistema operativo, le operazioni, ecc. Sono state eseguite sul computer fisico, l'input e l'output sono avvenuti sulle console.
Puoi passare da un terminale virtuale all'altro premendo CTRL + ALT + F1 (fino a F6 ): un residuo di quelle volte.
Oggi il concetto di "thin client" torna in questa direzione centralizzando enormi quantità di risorse e fornendo un numero sufficiente di hardware per fornire un'interfaccia all'avanguardia nel luogo di lavoro effettivo.

shell è il "motore" che vedi nel terminale. Fornisce interoperabilità con il sistema stesso e aggiunge funzioni interessanti come il completamento automatico, variabili ecc.
Trasloca avanti e indietro tra l'effettivo OS / kernel che usa le chiamate di sistema e te. Le chiamate di sistema con shell sono un po 'come la codifica di assembler e una shell almeno ti dà C .

riga di comando fa riferimento al metodo di scambio di input e output tramite una finestra di testo. Strettamente parlando la riga in cui si digita è la (corrente) riga di comando. Il metodo in generale è più correttamente definito interfaccia a riga di comando o CLI.

  1. kernel
  2. offre il terminale
  3. Il terminale
  4. è connesso tramite una console
  5. console esegue shell
  6. I comandi
  7. e l'output vengono scambiati tramite la riga di comando (interfaccia)
risposta data Mark 04.08.2014 - 14:17

Leggi altre domande sui tag