Interfaccia a riga di comando

Da Wikipedia, l'enciclopedia libera.
(Reindirizzamento da Command Line Interface)
Jump to navigation Jump to search
Screenshot di una sessione bash su Gentoo Linux
Screenshot di una sessione FreeDOS su emulatore Bochs
Cmd.exe di Microsoft Windows
Windows PowerShell

In informatica un'interfaccia a riga di comando[1] (dall'inglese command line interface, in acronimo CLI) o anche console, riga di comando, terminale o prompt dei comandi, è un tipo di interfaccia utente caratterizzata da un'interazione testuale tra utente ed elaboratore (vedi shell): l'utente impartisce comandi testuali in input mediante tastiera alfanumerica e riceve risposte testuali in output dall'elaboratore mediante display o stampante alfanumerici. Nei sistemi operativi moderni usati nei personal computer, al posto della CLI, in buona parte, c'è l'interfaccia grafica con caratteristiche tipicamente user friendly.

Descrizione[modifica | modifica wikitesto]

Questo tipo di approccio deriva dalla modalità di interazione con calcolatori di generazioni precedenti a quelli odierni, che avveniva attraverso terminali testuali non in grado di compiere alcuna elaborazione e connessi ad un elaboratore centrale (sistema mainframe). Attualmente un'interfaccia di tipo CLI si ottiene per mezzo di un programma che permette all'utente di interagire digitando opportuni comandi su un emulatore di terminale testuale: esempio tipico sono le shell, ma anche altri programmi utilizzano questo approccio.

Spesso in sistemi con duplice possibilità di interazione (grafica e testuale) esiste una stretta correlazione tra interfaccia grafica e interfaccia testuale: tipicamente tutto ciò che può essere fatto tramite interfaccia grafica può essere svolto tramite interfaccia testuale a riga di comando con gli opportuni comandi/istruzioni e viceversa. In molti casi anzi le operazioni su interfaccia grafica sono mappate (o tradotte) direttamente sui comandi dell'interfaccia testuale, che rappresenta dunque il vero motore o cuore del sistema, con la parte grafica che assume dunque a tutti gli effetti il significato di semplice interfaccia uomo-macchina user-friendly.

L'interfaccia a riga di comando è ancora molto diffusa per il controllo e la configurazione di dispositivi specializzati, come router, switch, server e stampanti di rete, ma anche per connettersi remotamente ad altri elaboratori in una rete di calcolatori, dotati di un opportuno interprete di comandi (come bash o CSH): in tal caso, vengono impiegati protocolli come Telnet o SSH.

Funzionamento[modifica | modifica wikitesto]

Il programma tipicamente non esegue alcunché fino a quando non riceve dall'utente un comando di input. Il cursore lampeggiante o evidenziato, detto prompt, indica la posizione nella schermata dove verrà eventualmente scritto il comando impartito dall'utente.

I comandi devono essere impartiti in forma di righe di testo rispettando una precisa sintassi. Spesso un comando presenta delle cosiddette opzioni, da inserire dopo il comando stesso, che specificano una funzionalità specifica o aggiuntiva del comando stesso. Dopo aver composto una riga di comando bisogna digitare il tasto "Invio" o "Enter".

A questo punto, il programma analizza (o meglio, interpreta) la riga di comando, e se questa è stata composta in modo sintatticamente corretto la esegue, altrimenti questi non esegue il comando restituendo all'utente una segnalazione del primo errore incontrato nella lettura e ripartendo dal prompt. Come effetto dell'esecuzione di un comando, si può ottenere la scrittura di un testo di risposta da parte del programma sul terminale o su un diverso dispositivo di output.

CLI su alcuni sistemi operativi[modifica | modifica wikitesto]

In ambiente Windows NT la CLI è ottenuta tramite il programma "Prompt dei comandi" (cmd.exe), che richiama nella grafica l'interfaccia del sistema operativo MS-DOS, Command.com. Una shell più avanzata in ambiente Windows è PowerShell.

In Unix, Linux e sistemi analoghi si parla di "terminale", perché l'interfaccia visuale è la stessa; la shell è il programma con interfaccia a riga di comando, che viene eseguito all'interno di un terminale testuale per impartire comandi al sistema. Possono esistere ed essere utilizzate contemporaneamente differenti shell (Bash, Korn shell, C shell).

Altre interfacce a riga di comando[modifica | modifica wikitesto]

La riga di comando fornisce un'interfaccia tra i programmi e l'utente. In questo senso, la riga di comando è un'alternativa alla finestra di dialogo. Gli editor e i database sono la riga di comando, in cui possono operare processori dei comandi alternativi.

Esistono diversi giochi in modalità testo, in cui l'utente inserisce i comandi nella parte inferiore dello schermo.[2] Si controlla il personaggio digitando comandi come "prendi l'anello" o "vedi". Il programma restituisce un testo che descrive come il personaggio vede o esegue un'azione.

La più nota di queste interfacce è quella dei flussi standard, che consente di passare l'output di un comando all'input di un altro. Anche i file di testo possono servire a qualsiasi scopo. Questo fornisce interfacce di pipelining, filtraggio e reindirizzamento. In Unix, i dispositivi sono anche file, quindi un tipo di cover comunemente utilizzato per stdin, stdout e stderr è il file del dispositivo tty.

L'altra interfaccia a riga di comando consente a un programma di cover di eseguire programmi ausiliari per avviare documenti o eseguire un programma. Il comando viene elaborato all'interno di cover e poi passato a un altro programma per avviare il documento. Esistono biblioteche JavaScript che consentono di scrivere applicazioni a riga di comando nel browser come applicazioni web separate o come parte di un'applicazione più ampia.

Esistono anche applicazioni web SSH che consentono di accedere all'interfaccia a riga di comando del server e di configurare il knock delle porte.[3]

Il text box dell'URL del browser Web può essere utilizzato come riga di comando. Può essere utilizzato per "lanciare" applicazioni web, per accedere alla configurazione del browser e per eseguire ricerche. Google, che è stato soprannominato la "riga di comando del web", cercherà un dominio specifico quando troverà i parametri di ricerca in un formato noto.[4]

Note[modifica | modifica wikitesto]

  1. ^ Il Glossario dei traduttori di programmi liberi suggerisce l'utilizzo del termine "interfaccia a riga di comando"
  2. ^ 5 Text-Based Adventure Games You Can Play in Your Browser, su makeuseof.com. URL consultato il 13 dicembre 2022.
  3. ^ How To Enable Port Knocking In Csf/lfd, su knownhost.com. URL consultato il 13 dicembre 2022.
  4. ^ Google strange goodness, su knaster.com. URL consultato il 13 dicembre 2022.

Voci correlate[modifica | modifica wikitesto]

  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica