Linux Professional Institute Learning Logo.
Torna al contenuto principale
  • Home
    • Tutte le Risorse
    • LPI Learning Materials
    • Collabora
    • Publishing Partner
    • Diventa un Publishing Partner
    • FAQ
    • Collaboratori
    • Contatto
  • LPI.org
2.3 Lezione 1
Argomento 1: La Comunità Linux e una Carriera nell'Open Source
1.1 Evoluzione di Linux e Sistemi Operativi più Diffusi
  • 1.1 Lezione 1
1.2 Principali Applicazioni Open Source
  • 1.2 Lezione 1
1.3 Software e Licenze Open Source
  • 1.3 Lezione 1
1.4 Competenze ICT - Lavorare con Linux
  • 1.4 Lezione 1
Argomento 2: Trovare il Proprio Modo di Operare su un Sistema Linux
2.1 Nozioni di Base sulla Command Line
  • 2.1 Lezione 1
  • 2.1 Lezione 2
2.2 Utilizzo della Command Line per Ottenere Aiuto
  • 2.2 Lezione 1
2.3 Utilizzo di Directory e Elenchi di File
  • 2.3 Lezione 1
  • 2.3 Lezione 2
2.4 Creazione, Spostamento ed Eliminazione di File
  • 2.4 Lezione 1
Argomento 3: Il Potere della Command Line
3.1 Archiviazione dei File sulla Command Line
  • 3.1 Lezione 1
3.2 Ricerca ed Estrazione di Dati dai File
  • 3.2 Lezione 1
  • 3.2 Lezione 2
3.3 Trasformare i Comandi in uno Script
  • 3.3 Lezione 1
  • 3.3 Lezione 2
Argomento 4: Il Sistema Operativo Linux
4.1 Scelta di un Sistema Operativo
  • 4.1 Lezione 1
4.2 Comprendere l'Hardware del Computer
  • 4.2 Lezione 1
4.3 Dove Sono Memorizzati i Dati
  • 4.3 Lezione 1
  • 4.3 Lezione 2
4.4 Il Tuo Computer in Rete
  • 4.4 Lezione 1
Argomento 5: Sicurezza e Permessi sui File
5.1 Sicurezza di Base e Identificazione dei Tipi di Utente
  • 5.1 Lezione 1
5.2 Creazione di Utenti e Gruppi
  • 5.2 Lezione 1
5.3 Gestione delle Autorizzazioni e delle Proprietà dei File
  • 5.3 Lezione 1
5.4 Directory e File Speciali
  • 5.4 Lezione 1
How to get certified
  1. Argomento 2: Trovare il Proprio Modo di Operare su un Sistema Linux
  2. 2.3 Utilizzo di Directory e Elenchi di File
  3. 2.3 Lezione 1

2.3 Lezione 1

Introduzione

Certificazione:

Linux Essentials

Versione:

1.6

Argomento:

2 Trovare il Proprio Modo di Operare su un Sistema Linux

Obiettivo:

2.3 Utilizzo di Directory e Elenchi di File

Lezione:

1 di 2

File e Directory

Il filesystem Linux è simile ai filesystem degli altri sistemi operativi in quanto contiene file e directory. I file contengono dati, per esempio testo leggibile dall’uomo, programmi eseguibili o dati binari utilizzati dal computer. Le directory vengono utilizzate per organizzare il filesystem; possono contenere file e altre directory.

$ tree

Documents
├── Mission-Statement.txt
└── Reports
    └── report2018.txt

1 directory, 2 files

In questo esempio, Documents è una directory che contiene un file (Mission-Statement.txt) e una sottodirectory (Reports). La directory Reports a sua volta contiene un file chiamato report2018.txt. La directory Documents è ritenuta padre della directory Reports.

Tip

Se il comando tree non è disponibile sul tuo sistema, installalo usando il gestore di pacchetti della tua distribuzione Linux. Fai riferimento alla lezione sulla gestione dei pacchetti per imparare a farlo.

Nomi di File e Directory

I nomi di file e directory in Linux possono contenere lettere minuscole e maiuscole, numeri, spazi e caratteri speciali. Tuttavia, poiché molti caratteri speciali hanno un significato particolare nella shell Linux, è buona norma non utilizzare spazi o caratteri speciali quando si attribuiscono nomi a file o directory. Gli spazi, per esempio, richiedono che il carattere di escape \ sia inserito correttamente:

$ cd Mission\ Statements

Fai inoltre riferimento al nome file report2018.txt. I nomi dei file possono contenere un suffisso che viene dopo il punto (.). A differenza che in Windows, questo suffisso non ha alcun significato speciale in Linux; è lì per una maggiore usabilità. Nel nostro esempio .txt ci indica che si tratta di un file di testo semplice, sebbene possa tecnicamente contenere qualsiasi tipo di dati.

Navigare nel Filesystem

Ottenere la Posizione Corrente

Poiché le shell Linux, come per esempio Bash, sono basate su testo è importante conoscere la posizione corrente durante la navigazione nel filesystem. Il prompt dei comandi fornisce questa informazione:

user@hostname ~/Documents/Reports $

Tieni presente che informazioni come user e hostname saranno trattate nelle future lezioni. Dal prompt ora sappiamo che la nostra posizione corrente è la directory Reports. Allo stesso modo, il comando pwd stamperà la directory di lavoro corrente (è l’acronimo di print working directory):

user@hostname ~/Documents/Reports $ pwd
/home/user/Documents/Reports

La relazione tra le directory è rappresentata da una barra obliqua (/). Sappiamo che Reports è una sottodirectory di Documents, che è una sottodirectory di user, che si trova in una directory chiamata home. home non sembra avere una directory padre, ma non è affatto vero. La directory padre di home si chiama root, ed è rappresentata dalla prima barra obliqua (/). Parleremo della directory root in una delle prossime lezioni.

Nota che l’output del comando pwd è leggermente diverso dal percorso mostrato sul prompt dei comandi. Invece di /home/user, il prompt dei comandi contiene una tilde (~). La tilde è un carattere speciale che rappresenta la directory home dell’utente. Ne discuteremo più in dettaglio nella prossima lezione.

Elencare il Contenuto di una Directory

Il contenuto della directory corrente viene elencato con il comando ls:

user@hostname ~/Documents/Reports $ ls
report2018.txt

Nota che ls non fornisce informazioni sulla directory padre. Allo stesso modo, per impostazione predefinita, ls non mostra alcuna informazione sul contenuto delle sottodirectory. ls può solo “vedere” ciò che si trova nella directory corrente.

Cambiare la Directory Corrente

La navigazione in Linux avviene principalmente tramite il comando cd, che è usato per cambiare directory (è l’acronimo di change directory). Usando il comando pwd visto in precedenza, notiamo che la nostra directory corrente è /home/user/Documents/Reports. Possiamo cambiare la nostra directory corrente inserendo un nuovo percorso:

user@hostname ~ $ cd /home/user/Documents
user@hostname ~/Documents $ pwd
/home/user/Documents
user@hostname ~/Documents $ ls
Mission-Statement.txt Reports

Dalla nostra nuova posizione, possiamo “vedere” Mission-Statement.txt e la nostra sottodirectory Reports, ma non il contenuto di questa nostra sottodirectory. Possiamo tornare indietro a Reports in questo modo:

user@hostname ~/Documents $ cd Reports
user@hostname ~/Documents/Reports $ pwd
/home/user/Documents/Reports
user@hostname ~/Documents/Reports $ ls
report2018.txt

Ora siamo tornati al punto di partenza.

Percorsi Assoluti e Relativi

Il comando pwd stampa sempre un percorso assoluto. Ciò significa che il percorso contiene ogni passaggio, dall’inizio del filesystem (/) alla fine (Reports). I percorsi assoluti iniziano sempre con /.

/
└── home
    └── user
        └── Documents
            └── Reports

Il percorso assoluto contiene tutte le informazioni richieste per arrivare a Reports da qualsiasi punto del filesystem. Lo svantaggio è che è noioso da digitare.

Il secondo esempio (cd Reports) è stato molto più semplice da digitare. Questo è un esempio di percorso relativo. I percorsi relativi sono più brevi, ma hanno significato solo in relazione alla posizione corrente. Considera questa analogia: vengo a trovarti a casa tua. Mi dici che il tuo amico vive nella porta accanto. Capirò quella posizione perché è relativa alla mia posizione attuale. Ma se me lo dici per telefono, non riuscirò a trovare la casa del tuo amico: dovrai darmi l’indirizzo completo.

Percorsi Relativi Speciali

La shell Linux ci offre dei modi per abbreviare i percorsi durante la navigazione. Per rivelare i primi percorsi speciali, inseriamo il comando ls con il flag -a. Questo flag modifica il comando ls in modo che vengano elencati tutti i file e le directory, inclusi i file e le directory nascoste:

user@hostname ~/Documents/Reports $ ls -a
.
..
report2018.txt
Note

Puoi fare riferimento alla pagina man di ls per capire cosa fa -a in questo caso.

Questo comando ha rivelato due ulteriori risultati: questi sono percorsi speciali. Non rappresentano nuovi file o directory, ma piuttosto rappresentano delle directory che già conosci:

.

Indica la posizione corrente (in questo caso Reports).

..

Indica la directory padre (in questo caso Documents).

Di solito non è necessario utilizzare il percorso relativo speciale per la posizione corrente. È più facile e più comprensibile digitare report2018.txt che ./report2018.txt. Ma ci sono usi per . che imparerai nelle prossime lezioni. Per il momento concentriamoci sul percorso relativo della directory padre:

user@hostname ~/Documents/Reports $ cd ..
user@hostname ~/Documents $ pwd
/home/user/Documents

L’esempio di cd è molto più semplice se si usa .. invece del percorso assoluto. Inoltre, possiamo combinare questo pattern per navigare molto velocemente nell’albero dei file.

user@hostname ~/Documents $ cd ../..
$ pwd
/home

Esercizi Guidati

  1. Per ciascuno dei seguenti percorsi, individua se è assoluto o relativo:

    /home/user/Downloads

    ../Reports

    /var

    docs

    /

  2. Osserva la seguente struttura di file. Nota: le directory terminano con una barra obliqua (/) quando tree viene invocato con l’opzione -F. Avrai bisogno di privilegi elevati per eseguire il comando tree nella directory root (/). Il seguente è un esempio di output e non è indicativo di una struttura di directory completa. Usalo per rispondere alle seguenti domande:

    $ sudo tree -F /
    
    /
    ├── etc/
    │   ├── network/
    │   │   └── interfaces
    │   ├── systemd/
    │   │   ├── resolved.conf
    │   │   ├── system/
    │   │   ├── system.conf
    │   │   ├── user/
    │   │   └── user.conf
    │   └── udev/
    │       ├── rules.d/
    │       └── udev.conf
    └── home/
        ├── lost+found/
        └── user/
            └── Documents/
    
    12 directories, 5 files

    Usa questa struttura per rispondere alle seguenti domande.

    Un utente inserisce i seguenti comandi:

    $ cd /etc/udev
    $ ls -a

    Quale sarà l’output del comando ls -a?

  3. Inserisci il comando più breve possibile per ciascuna delle seguenti situazioni:

    • La tua posizione corrente è la directory root (/). Inserisci il comando per spostarti in lost+found all’interno della directory home (esempio):

      $ cd home/lost+found
    • La tua posizione corrente è la directory root (/). Inserisci il comando per spostarti nella directory chiamata /etc/network/:

    • La tua posizione corrente è la directory /home/user/Documents/. Spostati nella directory chiamata /etc/.

    • La tua posizione corrente è la directory /etc/systemd/system/. Spostati nella directory chiamata /home/user/.

  4. Considera i seguenti comandi:

    $ pwd
    /etc/udev/rules.d
    $ cd ../../systemd/user
    $ cd ..
    $ pwd

    Qual è l’output dell’ultimo comando pwd?

Esercizi Esplorativi

  1. Supponiamo che un utente abbia inserito i seguenti comandi:

    $ mkdir "this is a test"
    $ ls
    this is a test

    Quale comando cd ti permette di entrare in questa directory?

  2. Prova di nuovo, ma, dopo aver digitato cd this, premi il tasto TAB. Che cosa viene visualizzato ora sul prompt?

    Questo è un esempio di completamento automatico, uno strumento preziosissimo non solo per risparmiare tempo, ma anche per prevenire errori di ortografia.

  3. Prova a creare una directory il cui nome contenga un carattere \. Visualizza il nome della directory tramite ls ed elimina la directory.

Sommario

In questa lezione hai imparato:

  • Le basi del filesystem Linux;

  • La differenza tra directory padre e sottodirectory;

  • La differenza tra percorsi di file assoluti e percorsi di file relativi;

  • I percorsi relativi speciali . e ..;

  • Come navigare nel filesystem usando cd;

  • Come mostrare la posizione corrente usando pwd;

  • Come elencare tutti i file e le directory usando ls -a.

In questa lezione sono stati discussi i seguenti comandi:

cd

Cambia la directory corrente.

pwd

Stampa il percorso della directory di lavoro corrente.

ls

Elenca il contenuto di una directory e mostra le proprietà dei file.

mkdir

Crea una nuova directory.

tree

Visualizza un elenco gerarchico di un albero di directory.

Risposte agli Esercizi Guidati

  1. Per ciascuno dei seguenti percorsi, individua se è assoluto o relativo:

    /home/user/Downloads

    assoluto

    ../Reports

    relativo

    /var

    assoluto

    docs

    relativo

    /

    assoluto

  2. Osserva la seguente struttura di file. Nota: le directory terminano con una barra obliqua (/) quando tree viene invocato con l’opzione -F. Avrai bisogno di privilegi elevati per eseguire il comando tree nella directory root (/). Il seguente è un esempio di output e non è indicativo di una struttura di directory completa. Usalo per rispondere alle seguenti domande:

    $ sudo tree -F /
    
    /
    ├── etc/
    │   ├── network/
    │   │   └── interfaces
    │   ├── systemd/
    │   │   ├── resolved.conf
    │   │   ├── system/
    │   │   ├── system.conf
    │   │   ├── user/
    │   │   └── user.conf
    │   └── udev/
    │       ├── rules.d/
    │       └── udev.conf
    └── home/
        ├── lost+found/
        └── user/
            └── Documents/
    
    12 directories, 4 files

    Un utente inserisce i seguenti comandi:

    $ cd /etc/udev
    $ ls -a

    Quale sarà l’output del comando ls -a?

    . .. rules.d udev.conf
  3. Inserisci il comando più breve possibile per ciascuna delle seguenti situazioni:

    • La tua posizione corrente è la directory root (/). Inserisci il comando per spostarti in lost+found all’interno della directory home (esempio):

      $ cd home/lost+found
    • La tua posizione corrente è la directory root (/). Inserisci il comando per spostarti nella directory chiamata /etc/network/:

      $ cd etc/network
    • La tua posizione corrente è la directory /home/user/Documents/. Spostati nella directory chiamata /etc/.

      $ cd /etc
    • La tua posizione corrente è la directory /etc/systemd/system/. Spostati nella directory chiamata /home/user/.

      $ cd /home/user
  4. Considera i seguenti comandi:

    $ pwd
    /etc/udev/rules.d
    $ cd ../../systemd/user
    $ cd ..
    $ pwd

    Qual è l’output dell’ultimo comando pwd?

    /etc/systemd

Risposte agli Esercizi Esplorativi

  1. Supponiamo che un utente abbia inserito i seguenti comandi:

    $ mkdir "this is a test"
    $ ls
    this is a test

    Quale comando cd ti permette di entrare in questa directory?

    $ cd this\ is\ a\ test
  2. Prova di nuovo, ma, dopo aver digitato cd this, premi il tasto TAB. Che cosa viene visualizzato ora sul prompt?

    $ cd this\ is\ a\ test

    Questo è un esempio di completamento automatico, uno strumento preziosissimo non solo per risparmiare tempo, ma anche per prevenire errori di ortografia.

  3. Prova a creare una directory il cui nome contenga un carattere \. Visualizza il nome della directory tramite ls ed elimina la directory.

    Puoi eseguire l’escape della barra rovesciata utilizzando un’altra barra rovesciata (\\) o utilizzare le virgolette singole o doppie attorno al nome completo della directory:

    $ mkdir my\\dir
    $ ls
    'my\dir'
    $ rmdir 'my\dir'

Linux Professional Institute Inc. Tutti i diritti riservati. Visita il sito Learning Materials: https://learning.lpi.org
Quest'opera è sotto la licenza 'Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License'.

Prossima Lezione

2.3 Utilizzo di Directory e Elenchi di File (2.3 Lezione 2)

Leggi la prossima Lezione

Linux Professional Institute Inc. Tutti i diritti riservati. Visita il sito Learning Materials: https://learning.lpi.org
Quest'opera è sotto la licenza 'Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License'.

LPI è una organizzazione non-profit.

© 2023 Linux Professional Institute (LPI) è lo standard di certificazione globale e l'organizzazione di supporto alla carriera per i Professionisti Open Source. Con più di 200,000 titolari di Certificazione, è il primo e il più grande ente di Certificazione Open Source e Linux vendor-neutral. LPI ha professionisti certificati in oltre 180 Paesi, offre i suoi Esami in più lingue e ha centinaia di Partner di formazione in tutto il mondo.

La nostra missione è promuovere l'uso dell'Open Source supportando le persone che vi lavorano.

  • LinkedIn
  • flogo-RGB-HEX-Blk-58 Facebook
  • Twitter
  • Contattaci
  • Privacy & Cookie Policy

Trovato un errore? Per favore scrivi a contattaci.

© 1999–2023 The Linux Professional Institute Inc. Tutti i diritti riservati.