Basi della linea di comando (CLI): struttura dei comandi, lavoro con il terminale
1. Introduzione alla linea di comando Linux
Perché la linea di comando?
Prima di andare a fondo, rispondiamo alla domanda principale: perché serve la linea di comando, se in Linux ci sono delle belle interfacce grafiche? La linea di comando (Command Line Interface, CLI) è lo strumento dei professionisti, degli amministratori di sistema e dei programmatori. Con la CLI puoi eseguire i compiti più velocemente, automatizzare attività noiose e persino fare magie dietro le quinte senza staccare le mani dalla tastiera. La CLI, in sostanza, è una superpotenza nel mondo Linux, che ti permetterà di essere più efficiente.
Terminali, shell e CLI
Prima di digitare il tuo primo comando, capiamo cosa si cela dietro la magia del terminale.
1. Terminale
Il terminale è un programma che offre accesso alla linea di comando. Ti permette di interagire con il sistema operativo tramite testo. In Linux ci sono i seguenti terminali popolari:
- GNOME Terminal (su GNOME).
- Konsole (su KDE).
- xterm (leggendario, ma vecchiotto).
- Windows Terminal per WSL
2. Shell
La shell è un software che interpreta i comandi e li passa al sistema operativo. In Linux la shell più popolare è Bash (Bourne Again Shell). Alternative:
- Zsh: una shell avanzata per gli appassionati di personalizzazione.
- Sh: la shell classica di Unix (minimalista).
Per iniziare, lavoreremo con Bash, essendo lo standard.
2. Struttura del comando
Un comando in CLI ha un formato rigoroso, e capirlo è la chiave per fare il botto.
Formato base del comando
Ogni comando è composto da tre parti:
[Comando] [Opzioni] [Argomenti]
- Comando: quello che stai chiedendo al sistema di fare. Per esempio,
ls
(mostra la lista di file). - Opzioni (o flag): modificano il comportamento del comando. Per esempio,
-l
(lista dettagliata per il comandols
). - Argomenti: dati extra che passi al comando, tipo il percorso di un file o una cartella.
Esempio:
ls -l /home
Qui:
ls
: è il comando;-l
: è l'opzione per mostrare una lista dettagliata;/home
: è l'argomento (la cartella di cui vogliamo vedere il contenuto).
3. Navigazione e comandi di base CLI
Iniziamo con i comandi più semplici che dimostrano l'interazione con il sistema.
1. Chi sono? Dove sono?
whoami
: mostra l'utente attuale.$ whoami student
pwd
(print working directory): mostra la directory attuale.$ pwd /home/student
Nella maggior parte delle shell Unix/Linux, il simbolo $
viene utilizzato come prompt nel terminale. Indica che il sistema è pronto per accettare un comando. Il simbolo $
viene utilizzato per separare i comandi che l'utente deve inserire dall'output di questi comandi.
2. Guardiamoci intorno
ls
(list): mostra il contenuto della directory attuale.$ ls Documenti Download Musica
Opzioni utili:
-l
: informazioni dettagliate su file e cartelle.-a
: visualizzazione dei file nascosti.
Esempio:
ls -la
3. Navigazione tra cartelle
cd
(change directory): consente di spostarsi tra le directory.$ cd /home $ pwd /home
4. Scorciatoie del terminale
La Command Line offre una serie di combinazioni di tasti utili:
Ctrl+C
: interrompe l'esecuzione del comando corrente.Ctrl+D
: termina la sessione corrente.Tab
: autocompletamento di file o cartelle. Una funzione super utile - usala spesso.Arrow Up/Down
: navigazione tra gli ultimi comandi.
Nota pratica: se vuoi sentirti come un hacker, premereCtrl+C
guardando di lato è lo stile perfetto.
5. Esempi di comandi semplici: iniziamo a creare!
Creiamo un semplice esercizio pratico e risolviamolo usando il CLI.
Compito:
- Scoprire l'utente corrente.
- Muoversi nella directory principale.
- Guardare cosa c'è dentro.
- Creare una cartella
test_folder
. - Verificare se la cartella è stata creata.
Soluzione:
# Scopriamo l'utente corrente
whoami
# Andiamo nella directory principale
cd ~
# Guardiamo il contenuto della directory
ls
# Creiamo una cartella
mkdir test_folder
# Verifichiamo che sia presente
ls -l
Spiegazione dei passaggi:
- Con il comando
whoami
abbiamo verificato con quale utente stiamo lavorando. - Usando
cd ~
siamo passati alla directory principale. Il simbolo~
indica sempre la cartella home dell'utente corrente. - Il comando
ls
ha mostrato il contenuto della directory prima e dopo la creazione della cartella.
6. Errori tipici e come evitarli
Lavorare con la linea di comando porta sempre a errori, soprattutto all'inizio. Ecco alcune situazioni comuni:
Spazi nei nomi di file/cartelle. Se stai lavorando con nomi che contengono spazi, assicurati di racchiuderli tra virgolette. Per esempio:
mkdir "La Mia Cartella"
Percorsi sbagliati. Se vedi il messaggio
No such file or directory
, significa che hai indicato un percorso che non esiste.cd /percorso/inesistente
Errori di battitura nei comandi. Il terminale non tollera errori:
lss
invece dils
è un altro comando (o potrebbe non esistere affatto).
7. Perché tutto questo è importante?
CLI è uno strumento potente per la gestione di qualsiasi sistema. Si usa ovunque: dalla configurazione dei server alla scrittura di script automatizzati. Nei colloqui spesso chiedono comandi per svolgere attività tramite il terminale, quindi le conoscenze che stai acquisendo ora troveranno sicuramente il loro posto nel tuo arsenale.
Inoltre, CLI ti aiuterà a padroneggiare il lavoro con i sistemi di controllo versione, come git
, sviluppare applicazioni server-side e scrivere script per l'automazione. Tutto inizia con la comprensione di concetti fondamentali come la struttura dei comandi, la navigazione tra le cartelle e le combinazioni di tasti di base.
Un po' di pratica
Prova il seguente compito:
- Scopri la data attuale.
- Crea una cartella
logs
. - All'interno di essa, crea un file
log.txt
con una registrazione della data attuale.
Esempio di soluzione
# Scopriamo la data attuale
date
# Creiamo una cartella logs
mkdir logs
# Registriamo la data nel file log.txt
date > logs/log.txt
# Controlliamo il contenuto del file
cat logs/log.txt
Ora sei pronto per il livello successivo: lavorare con il file system e il suo contenuto!
GO TO FULL VERSION