Questo articolo è la Parte 2 della serie LFCA, qui in questa parte, spiegheremo il file system di Linux e copriremo i comandi base per la gestione dei file, che sono richiesti per l’esame di certificazione LFCA.
Mentre inizi a utilizzare Linux, trascorrerai molto tempo interagendo con file e directory. Le directory sono anche note come cartelle e sono organizzate in una struttura gerarchica.
Nel sistema operativo Linux, ogni entità è considerata un file. Infatti, c’è un’affermazione popolare nei circoli Linux che dice: ‘Tutto è un file in Linux‘. Questa è solo una semplificazione e, in realtà, la maggior parte dei file in Linux sono file speciali che includono collegamenti simbolici, file di blocco, e così via.
Panoramica del File System di Linux
Prendiamoci un momento per avere una panoramica dei principali tipi di file:
1. File Regolari
Questi sono i tipi di file più comuni. I file regolari contengono testo leggibile dall’uomo, istruzioni per programmi e caratteri ASCII.
Esempi di file regolari includono:
- File di testo semplici, file pdf
- File multimediali come immagini, musica e file video
- File binari
- File compressi o zippati
E molto altro.
2. File Speciali
Sono file che rappresentano dispositivi fisici come volumi montati, stampanti, unità CD e qualsiasi dispositivo di input e output I/O.
3. Directory
A directory is a special file type that stores both regular and special files in a hierarchical order starting from the root ( / )
directory. A directory is the equivalent of a folder in the Windows operating system. Directories are created using the mkdir command, short for making the directory, as we shall see later on in this tutorial.
La struttura gerarchica di Linux parte dalla directory radice e si dirama verso altre directory come mostrato:

Capiremo ogni directory e il suo utilizzo.
- La directory /root è la directory home per l’utente root.
- La directory /dev contiene file di dispositivo come /dev/sda.
- I file di avvio statici si trovano nella directory /boot.
- Applicazioni e utility utente si trovano nella directory /usr.
- La directory /var contiene file di log di varie applicazioni di sistema.
- Tutti i file di configurazione di sistema sono memorizzati nella directory /etc.
- La directory /home è dove si trovano le cartelle degli utenti. Queste includono Desktop, Documenti, Download, Musica, Pubblico e Video.
- Per pacchetti di applicazioni aggiuntive, controllali nella directory /opt.
- La directory /media memorizza file per dispositivi rimovibili come le unità USB.
- La directory /mnt contiene sottodirectory che fungono da punti di montaggio temporanei per il montaggio di dispositivi come i CD-ROM.
- La directory /proc è un filesystem virtuale che contiene informazioni sui processi attualmente in esecuzione. È un filesystem particolare che viene creato all’avvio del sistema e distrutto allo spegnimento.
- La directory /bin contiene file binari di comandi utente.
- La directory /lib conserva immagini di librerie condivise e moduli del kernel.
Comandi di Gestione dei File Linux
Si trascorrerà molto tempo interagendo con il terminale, dove verranno eseguiti i comandi. Eseguire comandi è il modo preferito per interagire con un sistema Linux poiché fornisce un controllo totale sul sistema rispetto all’uso degli elementi grafici.
Per questa lezione, e le lezioni successive, eseguiremo comandi nel terminale. Stiamo utilizzando Ubuntu OS e per avviare il terminale, utilizzare la combinazione di tasti CTRL + ALT + T
.
Ora approfondiamo i comandi di base per la gestione dei file che ti aiuteranno a creare e gestire i tuoi file nel sistema.
1. Comando pwd
pwd, abbreviazione di print working directory, è un comando che stampa la directory di lavoro corrente in ordine gerarchico, a partire dalla directory radice più alta ( / )
.
Per verificare la directory di lavoro corrente, basta invocare il comando pwd come mostrato.
$ pwd
L’output mostra che siamo nella nostra directory home, il percorso assoluto o completo è /home/tecmint.

2. Comando cd
Per cambiare o navigare nelle directory, utilizzare il comando cd che è l’abbreviazione di change directory.
Ad esempio, per navigare nel percorso del file /var/log, eseguire il comando:
$ cd /var/log

Per tornare alla directory home, eseguire il comando cd senza argomenti.
$ cd ..
Per tornare alla directory superiore, aggiungere due punti o periodi alla fine.
$ cd

NOTA: Per navigare in una sottodirectory o una directory all’interno della directory corrente, non utilizzare una barra obliqua ( / )
, basta digitare il nome della directory.
Ad esempio, per navigare nella directory Downloads, eseguire:
$ cd Downloads

3. Comando ls
Il comando ls è un comando utilizzato per elencare i file o le cartelle esistenti in una directory. Ad esempio, per elencare tutti i contenuti nella directory home, eseguire il comando.
$ ls
Dall’output, possiamo vedere che abbiamo due file di testo e otto cartelle che di solito vengono create automaticamente dopo l’installazione e l’accesso al sistema.

Per elencare ulteriori informazioni, aggiungi il flag -lh
come mostrato. L’opzione -l
sta per elenco lungo e stampa informazioni aggiuntive come permessi di file, utente, gruppo, dimensione del file e data di creazione. Il flag -h
stampa la dimensione del file o della directory in un formato leggibile dall’utente.
$ ls -lh

Per elencare i file nascosti, aggiungi il flag -a
.
$ ls -la
Questo visualizza i file nascosti che iniziano con un segno di punto (.)
come mostrato.
.ssh .config .local

4. Comando touch
Il comando touch viene utilizzato per creare file semplici su un sistema Linux. Per creare un file, utilizza la sintassi:
$ touch filename
Ad esempio, per creare un file file1.txt, esegui il comando:
$ touch file1.txt
Per confermare la creazione del file, invoca il comando ls.
$ ls

5. Comando cat
Per visualizzare il contenuto di un file, utilizza il comando cat come segue:
$ cat filename

6. Comando mv
Il comando mv è piuttosto versatile. A seconda di come viene utilizzato, può rinominare un file o spostarlo da una posizione all’altra.
Per spostare il file, utilizza la sintassi seguente:
$ mv filename /path/to/destination/
Ad esempio, per spostare un file dalla directory corrente alla directory Public/docs, esegui il comando:
$ mv file1.txt Public/docs

In alternativa, è possibile spostare un file da una posizione diversa alla directory corrente utilizzando la sintassi mostrata. Fate attenzione al punto alla fine del comando. Questo implica la posizione.
$ mv /path/to/file .
Adesso faremo l’operazione inversa. Copieremo il file dalla cartella Public/docs alla directory corrente come mostrato.
$ mv Public/docs/file1.txt .

Per rinominare un file, utilizzare la sintassi mostrata. Il comando rimuove il nome originale del file e assegna il secondo argomento come nuovo nome del file.
$ mv filename1 filename2
Per esempio, per rinominare file1.txt in file2.txt eseguire il comando:
$ mv file1.txt file2.txt

Inoltre, è possibile spostare e rinominare il file contemporaneamente specificando la cartella di destinazione e un nome file diverso.
Per esempio, per spostare file1.txt nella posizione Public/docs e rinominarlo file2.txt eseguire il comando:
$ mv file1.txt Public/docs/file2.txt

7. Comando cp
Il comando cp, abbreviazione di copia, copia un file da una posizione file a un’altra. A differenza del comando di spostamento, il comando cp mantiene il file originale nella sua posizione attuale e crea una copia duplicata in una directory diversa.
La sintassi per copiare un file è mostrata di seguito.
$ cp /file/path /destination/path
Per esempio, per copiare il file file1.txt dalla directory corrente alla directory Public/docs/, emettere il comando:
$ cp file1.txt Public/docs/

Per copiare una directory, utilizza l’opzione -R
per copiare in modo ricorsivo la directory insieme a tutti i suoi contenuti. Abbiamo creato un’altra directory chiamata tutorials. Per copiare questa directory insieme ai suoi contenuti nel percorso Public/docs/, esegui il comando:
$ cp -R tutorials Public/docs/

8. Comando mkdir
Potresti esserti chiesto come abbiamo creato la directory tutorials. Beh, è abbastanza semplice. Per creare una nuova directory utilizza il comando mkdir ( make directory) nel seguente modo:
$ mkdir directory_name
Creiamo un’altra directory chiamata projects come mostrato:
$ mkdir projects

Per creare una directory all’interno di un’altra directory utilizza il flag -p
. Il comando seguente crea la directory fundamentals all’interno della directory linux all’interno della directory principale che è la directory projects.
$ mkdir -p projects/linux/fundamentals

9. Comando rmdir
Il comando rmdir elimina una directory vuota. Ad esempio, per eliminare o rimuovere la directory tutorials, esegui il comando:
$ rmdir tutorials

Se provi a rimuovere una directory non vuota, riceverai un messaggio di errore come mostrato.
$ rmdir projects

10. Comando rm
Il comando rm (remove) viene utilizzato per eliminare un file. La sintassi è piuttosto semplice:
$ rm filename
Ad esempio, per eliminare il file file1.txt, esegui il comando:
$ rm file1.txt
Inoltre, puoi rimuovere o eliminare una directory in modo ricorsivo utilizzando l’opzione -R
. Questo potrebbe essere una directory vuota o non vuota.
$ rm -R directory_name
Per eliminare la directory projects, eseguire il comando:
$ rm -R projects

11. Comandi find e locate
A volte potresti voler cercare la posizione di un file specifico. Puoi farlo facilmente utilizzando i comandi find o locate.
Il comando find cerca un file in una posizione specifica e richiede due argomenti: il percorso di ricerca o la directory e il file da cercare.
La sintassi è la seguente
$ find /path/to/search -name filename
Per esempio, per cercare un file chiamato file1.txt nella directory home, eseguire:
$ find /home/tecmint -name file1.txt

Il comando locate, proprio come il comando find, svolge lo stesso ruolo di ricerca file ma richiede solo un argomento come mostrato.
$ locate filename
Per esempio;
$ locate file1.txt

Il comando locate cerca utilizzando un database di tutti i possibili file e directory nel sistema.
NOTA: Il comando locate è molto più veloce del comando find. Tuttavia, il comando find è molto più potente e funziona in situazioni in cui locate non produce i risultati desiderati.
Ecco! In questo argomento, abbiamo coperto i comandi di base per la gestione dei file che ti daranno le conoscenze necessarie per creare e gestire file e directory in un sistema Linux.
Source:
https://www.tecmint.com/linux-file-management-commands/