LFCA: Impara i Comandi di Gestione File di Base in Linux – Parte 2

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:

Linux Directory Structure

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.L’output mostra che ci troviamo nella nostra directory home, il percorso assoluto o completo è /home/tecmint.

$ pwd

L’output mostra che siamo nella nostra directory home, il percorso assoluto o completo è /home/tecmint.

Print Current Working Directory
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
Navigate Directories in Linux

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 
cd Command Examples

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
Navigate to Downloads Directory
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.

List Files in Linux

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
Long List Files in Linux

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
List Hidden Files in Linux
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
Create Empty File in Linux
5. Comando cat

Per visualizzare il contenuto di un file, utilizza il comando cat come segue:

$ cat filename
View Contents of Files
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
Move Files in Linux

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 .
Move Files from Location in Linux

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
Rename Files in Linux

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
Move and Rename Files in Linux
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/
Copy Files in Linux

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/
Copy Directory in Linux
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
Create Directory in Linux

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
Create Directory in Linux
9. Comando rmdir

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

$ rmdir tutorials 
Delete Empty Directory in Linux

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

$ rmdir projects
Delete Directory in Linux
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
Delete Directory Recursively in Linux
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
Search Files in Linux

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
Locate Files in Linux

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/