La command line

Gli amministratori di sistema Linux passano una quantità significativa del loro tempo su un prompt della riga di comando. Spesso automatizzano i vari compiti in questo ambiente di testo.

L'interfaccia a riga di comando (Command Line Interface aka CLI) fornisce i seguenti vantaggi:

  • Ogni compito può essere eseguito via CLI.
  • È possibile implementare script per compiti utilizzati spesso (e/o facili da dimenticare) e varie procedure.
  • È possibile accedere a macchine remote ovunque su Internet.
  • Si possono avviare applicazioni grafiche direttamente dalla linea di comando invece di cercare attraverso i menu.
  • Mentre gli strumenti grafici possono variare tra le distribuzioni Linux, la CLI non lo fa.

Per utilizzare un terminale di testo sul desktop grafico puoi utilizzare un emulatore di terminale. Un programma che simula la connessione ad una macchina da un terminale di puro testo senza interfaccia grafica in esecuzione. Per impostazione predefinita, negli ambienti desktop GNOME, l'applicazione gnome-terminal è usata per emulare un terminale in modalità testo in una finestra. Altri programmi di terminale disponibili includono:

  • xterm
  • rxvt
  • konsole (su KDE)
  • terminator

Per aprire un terminale su qualsiasi sistema che utilizza un recente desktop GNOME cliccare su Applicazioni > Strumenti di sistema > Terminale o Applicazioni > Utilità > Terminale. Se non si dispone del menu Applicazioni, si dovrà installare il pacchetto gnome-shell-extension appropriato e accendere con gnome-tweaks. Hai visto il termine shell, la shell è fondamentalmente un programma che prende i tuoi comandi dalla tastiera e li invia al sistema operativo per eseguirli.

Su qualsiasi distribuzione basata su GNOME, ma non su alcune delle più recenti, è sempre possibile aprire un terminale facendo clic con il tasto destro del mouse in qualsiasi punto dello sfondo del desktop e selezionando Apri in Terminale. Se questo non funziona, sarà necessario installare e attivare ancora una volta il pacchetto gnome-shell-extension appropriato.

Puoi anche premere Alt-F2 e digitare gnome-terminal o konsole, a seconda di quale dei due è appropriato.

La posizione nei menu può variare nell'interfaccia grafica del desktop.

La maggior parte dei comandi in input inserite nella CLI hanno tre elementi di base:

  • Comando
  • Opzioni
  • Argomenti

Il comando è il nome del programma che si sta eseguendo. Può essere seguito da una o più opzioni che modificano ciò che il comando può fare. Le opzioni di solito iniziano con uno o due trattini, ad esempio, -p o --print, per differenziarle dagli argomenti, che rappresentano ciò su cui il comando opera.

Tuttavia, molti comandi non hanno opzioni, non hanno argomenti o nessuno dei due. Inoltre, altri elementi (come l'impostazione delle variabili d'ambiente) possono anche apparire sulla riga di comando quando si lancia un'attività.

Ci sono alcune utilità di base a riga di comando che vengono utilizzate costantemente e sarebbe impossibile procedere oltre senza utilizzarne alcune in forma semplice prima di discuterne più dettagliatamente.

Da segnalare subito:

  • cat: utilizzato per stampare un file (o per combinare i file).
  • head: utilizzato per mostrare le prime righe di un file.
  • tail: utilizzato per mostrare le ultime righe di un file.
  • man: utilizzato per visualizzare la documentazione.

sudo

Tutte le distribuzioni hanno un utente configurato con le capacità di sudo per fornire all'utente i privilegi amministrativi quando richiesto.

sudo permette agli utenti di eseguire programmi utilizzando i privilegi di sicurezza di un altro utente, generalmente root (o superutente). 

Può capitare che sia necessario impostare e abilitare sudo per funzionare correttamente. Se il tuo sistema non ha già sudo impostato e abilitato, è necessario eseguire i seguenti passi:

  1. Al prompt della riga di comando, digitare su e premere Invio. Ti verrà poi richiesta la password di root, quindi digitala e premi Invio. Noterai che non viene stampato nulla, in questo modo gli altri non potranno vedere la password sullo schermo. Dovresti poi vedere un prompt dall'aspetto diverso, che spesso termina con '#'.
  2. Ora è necessario creare un file di configurazione per consentire al proprio account utente di utilizzare sudo. Di solito questo file viene creato nella directory /etc/sudoers.d/ con il nome del file stesso del tuo nome utente. Per esempio il tuo username è mario. Dopo aver fatto il passo 1, crea il file di configurazione per mario in questo modo: # echo "mario ALL=(ALL) ALL". > /etc/sudoers.d/mario .
  3. Alcune distribuzioni Linux richiedono la modifica dei permessi sul file facendo: # chmod 440 /etc/sudoers.d/mario .

Quando si utilizza sudo, per default ti verrà richiesto di fornire una password (la tua password utente) almeno la prima volta che lo farai entro un intervallo di tempo specificato. E' possibile (sconsiglio vivamente) configurare sudo per non richiedere una password o modificare la finestra temporale in cui la password non deve essere ripetuta con ogni comando sudo.

Vignetta sull'importanza del comando sudo.
Vignetta sull'importanza del comando sudo.

Ho creato un video che spiega la CLI, i comandi base ed anche qualche informazione aggiuntiva. Un mini-corso specifico per la comman line interface.