CodeGym /Corsi /Docker SELF /Basi della linea di comando (CLI): struttura dei comandi,...

Basi della linea di comando (CLI): struttura dei comandi, lavoro con il terminale

Docker SELF
Livello 1 , Lezione 4
Disponibile

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 comando ls).
  • 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
    
Importante!

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:

  1. Scoprire l'utente corrente.
  2. Muoversi nella directory principale.
  3. Guardare cosa c'è dentro.
  4. Creare una cartella test_folder.
  5. 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:

  1. Con il comando whoami abbiamo verificato con quale utente stiamo lavorando.
  2. Usando cd ~ siamo passati alla directory principale. Il simbolo ~ indica sempre la cartella home dell'utente corrente.
  3. 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 di ls è 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:

  1. Scopri la data attuale.
  2. Crea una cartella logs.
  3. 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!

Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION