Shell Linux – Prima lezione

Prof. ENRICO MELE

Navigazione nel filesystem e gestione di file e cartelle da terminale
Scorciatoie, comandi base e una mini-esercitazione guidata
← Torna alla teoria Linux
Obiettivi della lezione

In questa lezione impariamo a utilizzare i comandi base della shell Linux per:

  • muoverci nel filesystem;
  • visualizzare il contenuto delle directory;
  • creare, spostare, copiare ed eliminare cartelle;
  • prendere confidenza con il manuale in linea (man).
Scorciatoie da tastiera nella shell

Alcune scorciatoie utili per lavorare più velocemente al terminale:

Combinazione Funzione
Ctrl + C Termina il comando o lo script in esecuzione
Tab Autocompleta comandi e percorsi
Freccia ↑, Freccia ↓ Scorre tra i comandi eseguiti in precedenza (cronologia)
history Mostra l’elenco dei comandi eseguiti
Ctrl + ←, Ctrl + → Sposta il cursore tra le parole nella riga corrente
Home, End Portano all’inizio o alla fine della riga
Ctrl + L Pulisce il contenuto del terminale
Comando cd – Navigare tra le directory

Il comando cd (change directory) permette di spostarsi tra le directory del filesystem. Sintassi:

cd <percorso>

Il filesystem può essere visto come un albero; ogni file o directory ha un percorso (path) che ne indica la posizione.

Struttura ad albero del filesystem Linux

Per entrare nella cartella folder1:

cd folder1/

Per risalire di un livello nell’albero del filesystem:

cd ..

Il tasto Tab aiuta nell’autocompletamento dei percorsi mentre si digita.

Comando ls – Elencare i file

Il comando ls mostra il contenuto di una directory.

Sintassi generale:

ls [-opzioni] <percorso_1> ... <percorso_n>

Se usato senza argomenti, elenca i file e le cartelle della directory corrente.

Provate:

ls
ls folder1/
Opzioni utili

Alcune opzioni che rendono l’output più TPSITormativo:

Comando Funzione
ls -l <percorso> Mostra dettagli (permessi, proprietario, dimensione, data)
ls -s <percorso> Mostra le dimensioni dei file
ls -t <percorso> Ordina in base alla data dell’ultima modifica
ls --help Mostra la guida sintetica del comando ls

Esempi:

ls -l
ls -s
ls -t
ls --help

Le opzioni possono essere combinate concatenando le lettere:

ls -lst
Comando man – Il manuale in linea

Il comando man (manual) permette di leggere la documentazione di un comando o di un argomento specifico.

man <argomento>

Esempio:

man ls

Il manuale si scorre con le frecce o con PgUp/PgDn e si chiude con il tasto Q.

Creare una cartella – mkdir

Per creare una directory (MaKe DIRectory) si usa:

mkdir NomeCartella

Esempio:

mkdir file1
Spostare o rinominare – mv

Il comando mv (move) serve a spostare file o directory, oppure a rinominarli.

mv percorso_file_in percorso_file_out

Esempio (spostare una cartella):

mv file1 /home/antonio/prova/

Per rinominare:

mv nome_vecchio nome_nuovo
Copiare – cp

Il comando cp (copy) copia file o cartelle:

cp percorso_file_in percorso_file_out

Esempio:

cp file1 /home/antonio/prova/

Per copiare directory con tutto il contenuto si utilizza in genere l’opzione -r (ricorsivo), che verrà approfondita nelle lezioni successive.

Eliminare file e cartelle – rm

Il comando rm (remove) elimina file dal filesystem.

rm [opzioni] file

Per eliminare una directory con tutto il suo contenuto si usa l’opzione -r (ricorsivo).

Esempio:

mkdir file1
rm -r file1

Fate attenzione: ciò che viene cancellato con rm non passa nel “Cestino” grafico e non è facilmente recuperabile.

Esercizi – 10 minuti di pratica

Risolvete i seguenti esercizi usando solo la shell:

  1. Creare una cartella chiamata ITIS.
  2. All’interno di ITIS creare le cartelle TPSIT e SISTEMI.
  3. Creare una cartella TCPIP dentro la cartella TPSIT.
  4. Rinominare la cartella SISTEMI in SISTEMIERETI.
  5. Spostare la cartella TCPIP dentro la cartella SISTEMIERETI.
Soluzioni agli esercizi
  1. Creare una cartella chiamata ITIS:

    mkdir ITIS
  2. All’interno di ITIS creare le cartelle TPSIT e SISTEMI:

    cd ITIS
    mkdir TPSIT
    mkdir SISTEMI
  3. Creare una cartella TCPIP dentro la cartella TPSIT:

    cd TPSIT
    mkdir TCPIP
  4. Rinominare la cartella SISTEMI in SISTEMIERETI:

    cd ..
    mv SISTEMI SISTEMIERETI
  5. Spostare la cartella TCPIP dentro la cartella SISTEMIERETI:

    mv TPSIT/TCPIP/ SISTEMIERETI/