Tempo di lettura stimato: 4 minuti

Primi passi con GNU/Linux: il terminale

Introduzione

In questo tutorial parleremo delle basi di Linux: il terminale, la linea di comando e l’esecuzione dei comandi. Se vi state avvicinando al mondo Linux avrete bisogno di familiarizzare un po’ con il terminale, che è anche il modo principale per interagire con un server Linux. All’inizio utilizzare la linea di comando potrebbe sembrare difficile e frustrante, ma appena comprenderete le basi sarà tutto molto più chiaro.

Emulatori di terminale

Un emulatore di terminale è un programma che consente l’uso del terminale in un ambiente grafico (GUI).
Qui di seguito, alcuni emulatori di terminale (gratuiti):

  • Mac OS X: terminale (default), iTerm 2
  • Windows: PuTTY
  • Linux: terminale, KDE Konsole, XTerm

Ogni emulatore di terminale ha un proprio insieme di funzionalità.

La Shell

In un sistema Linux la Shell è l’interfaccia a linea di comando che interpreta i comandi dell’utente e gli script. Le Shell più usate sono: Bash (Bourne Again Shell) e C Shell (csh).
Questo tutorial è stato scritto per la Bash, che è la shell di default per quasi tutte le distribuzioni Linux, come Ubuntu, CentOS e RedHat.

Il Prompt dei comandi

Quando effettuerete il primo login in un server, quasi sempre verrete accolti dal ‘Messaggio del Giorno’ (MOTD, Message Of The Day), che di solito è un messaggio che include svariate informazioni come ad esempio la versione della distribuzione Linux che il server sta utilizzando. Dopo il MOTD, verrete “portati” nel ‘Prompt dei comandi’ (o ‘Prompt di shell’) che è un programma nel quale potrete interagire con il server attraverso i comandi.
Di solito il Prompt dei comandi si presenta così:

Phreaker@0x90:-$

  • Phreaker: l’Username dell’utente connesso
  • 0x90: l’Hostname del server al quale si è effettuato l’accesso
  • -: la directory corrente, che in Bash è indicata dalla tilde
  • $: il simbolo del Prompt, che denota la posizione dalla quale appare l’input digitato dall’utente

Un esempio di come potrebbe apparire il tutto se si fosse utenti root:

root@0x90:/var/log#

Va notato che il simbolo ‘#’ è il carattere di default per indicare che siamo utenti con i privilegi di amministratore (root).

Eseguire i comandi

I comandi possono essere eseguiti dal Prompt dei comandi specificando semplicemente il nome del file eseguibile, che può essere un programma binario o uno script. Esistono molti comandi ed utility Linux “standard” che sono preinstallati con il sistema operativo. Questi comandi permettono per esempio di navigare tra i file presenti all’interno della macchina, installare software e configurare il sistema e le applicazioni. Quando un comando è in esecuzione viene chiamato “processo”. Quando un programma viene eseguito, l’utente deve aspettare che esso finisca per poi poter ritornare a digitare sul Prompt, (anche se solitamente è possibile fermare l’esecuzione di un comando attraverso la combinazione di tasti Ctrl+C). È inoltre importante notare che Linux è case-sensitive, cioè distingue le maiuscole dalle minuscole. Ad esempio ‘Script01’ è diverso da ‘script01’.

Esecuzione senza argomenti o parametri

Per eseguire un comando senza argomenti od opzioni, scrivete semplicemente il nome del comando e premete INVIO. Se ad esempio si lancia un comando come cd, senza specificare nessun parametro, verrete portati nella cartella ‘home’ dell’utente. Il comando ls invece stamperà a schermo la lista delle cartelle e file presenti nella directory in cui vi trovate. Se poi eseguirete ip senza argomenti, apparirà un messaggio che spiega come usare il comando.

Esecuzione con argomenti

Molti comandi accettano argomenti o parametri che possono modificare l’esecuzione del comando. Ad esempio, il modo più conosciuto di usare cd è quello di utilizzare un singolo argomento che specifica in quale directory bisogna spostarsi; per esempio se ci volessimo spostare nella cartella bin, dovremmo digitare:

cd /usr/bin

Esecuzione con parametri

La maggior parte dei comandi accettano i parametri, anche conosciute come ‘flag’, che possono modificare la funzionalità del comando. Di solito vengono precedute dal carattere ‘-‘ e consistono in una lettera maiuscola o minuscola. Per un esempio basilare di come funzionano i parametri, diamo un’occhiata al comando ls.

  • -l: stanpa una “lista lunga”, che include dettagli extra come i permessi, la grandezza del file e la data di creazione
  • -a: mostra tutti i file e le directory, comprese quelle nascoste (che iniziano con ‘.’)

I parametri, per questioni di comodità, possono essere raggruppati in questo modo:

ls -al

Esecuzione con parametri ed argomenti

Quando si eseguono dei comandi, parametri ed argomenti possono essere anche combinati tra loro. Per esempio, se si vuole controllare il contenuto della directory /home, con il comando ls, digitate:

ls -la /home

Variabili d’ambiente

Le variabili d’ambiente sono valori usati per cambiare il modo in cui vengono eseguiti i comandi.

Visualizzare tutte le variabili d’ambiente

Per vedere tutte le variabili d’ambiente del terminale impostate attualmente, eseguite il comando env:

env

In output vedrete un sacco di cose ma cercate di individuare la stringa del PATH:

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

La variabile d’ambiente PATH è una lista di directory. Sono le directory in cui la Shell cercherà di trovare un determinato programma o script digitato dall’utente nel Prompt dei comandi.

Visualizzare il valore di una variabile

Il valore di una variabile d’ambiente può essere visualizzato facendo precedere il simbolo ‘$’ al nome della variabile. Per esempio, se si vuole stampare a schermo il valore della variabile PATH, dovete usare il comando echo.

echo $PATH

Impostare le variabili

Ora che sapete come visualizzare il valore di una variabile, dovete imparare a modificarle. Tutto quello che vi serve per impostare una variabile è digitare il nome della variabile seguito dal simbolo ‘=’ e subito dopo il valore desiderato.

VAR=valore

Bisogna però notare che, se si modifica una variabile esistente, il suo valore verrà sovrascritto.

 

Riferimenti:
https://www.digitalocean.com/community/tutorials/an-introduction-to-the-linux-terminal

Facebooktwittergoogle_plusredditpinterestlinkedinmail

Informazioni su Phreaker

Sono un ragazzo appassionato di informatica e di retrocomputing.
Supporto il mondo dell’OpenSource e sono utilizzatore di GNU/Linux (Ubuntu 16.04 LTS, Debian Jessie, Slackware)…sono anche Radioamatore.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

*