Ricerca nel sito web

LFCA: scopri i comandi di base per la gestione dei file in Linux - Parte 2


Questo articolo è la parte 2 della serie LFCA, in questa parte spiegheremo il file system Linux e tratteremo i comandi di base per la gestione dei file, richiesti per l'esame di certificazione LFCA.

Quando inizi a utilizzare Linux, trascorrerai molto tempo a interagire con file e directory. Le directory sono note anche come cartelle e sono organizzate in una struttura gerarchica.

Nel sistema operativo Linux, ogni entità è considerata un file. In effetti, c'è un'affermazione popolare nei circoli Linux che recita: "Tutto è un file in Linux". Questa è solo una semplificazione eccessiva e, nel vero senso della parola, la maggior parte dei file in Linux sono file speciali che includono collegamenti simbolici, file di blocco e così via.

Panoramica del file system Linux

Prendiamoci un momento e diamo una panoramica dei principali tipi di file:

1. File normali

Questi sono i tipi di file più comuni. I file normali contengono testo leggibile, istruzioni di programma e caratteri ASCII.

Esempi di file normali includono:

  • File di testo semplici, file pdf
  • File multimediali come file di immagini, musica e video
  • File binari
  • File zippati o compressi

E molto di più.

2. File speciali

Si tratta di file che rappresentano dispositivi fisici come volumi montati, stampanti, unità CD e qualsiasi dispositivo di input e output I/O).

3. Directory

Una directory è un tipo di file speciale che memorizza sia i file normali che quelli speciali in ordine gerarchico a partire dalla directory radice (/). Una directory è l'equivalente di una cartella nel sistema operativo Windows. Le directory vengono create utilizzando il comando mkdir, abbreviazione di creare la directory, come vedremo più avanti in questo tutorial.

La struttura gerarchica di Linux inizia dalla directory root e si ramifica in altre directory come mostrato:

Comprendiamo ciascuna directory e il suo utilizzo.

  • La directory /root è la directory home per l'utente root.
  • La directory /dev contiene file del dispositivo come /dev/sda.
  • I file di avvio statici si trovano nella directory /boot.
  • Le applicazioni e le utilità utente si trovano nella directory /usr.
  • La directory /var contiene file di registro di varie applicazioni di sistema.
  • Tutti i file di configurazione del sistema sono archiviati nella directory /etc.
  • La directory /home è dove si trovano le cartelle degli utenti. Questi includono Desktop, Documenti, Download, Musica, Pubblico e Video.
  • Per i pacchetti di applicazioni aggiuntive, controllali nella directory /opt.
  • La directory /media memorizza i file per i dispositivi rimovibili come le unità USB.
  • La directory /mnt contiene sottodirectory che fungono da punti di montaggio temporanei per montare dispositivi come i CD-ROM.
  • La directory /proc è un filesystem virtuale che contiene informazioni sui processi attualmente in esecuzione. È uno strano filesystem che viene creato all'avvio del sistema e distrutto allo spegnimento.
  • La directory /bin contiene i file binari dei comandi utente.
  • La directory /lib memorizza le immagini delle librerie condivise e i moduli del kernel.

Comandi di gestione file Linux

Trascorrerai molto tempo interagendo con il terminale su cui eseguirai i comandi. L'esecuzione dei comandi è il modo preferito di interagire con un sistema Linux poiché ti dà il controllo totale sul sistema rispetto all'utilizzo degli elementi grafici del display.

Per questa lezione e per le prossime lezioni eseguiremo comandi sul terminale. Stiamo utilizzando il sistema operativo Ubuntu e per avviare il terminale, utilizza la scorciatoia da tastiera CTRL + ALT + T.

Esaminiamo ora i comandi di base per la gestione dei file che ti aiuteranno a creare e gestire i tuoi file sul tuo sistema.

1. Comando pwd

pwd, abbreviazione di print working directory, è un comando che stampa la directory di lavoro corrente in ordine gerarchico, iniziando dalla directory root più in alto (/).

Per controllare la tua directory di lavoro corrente, invoca semplicemente 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 accedere al percorso del file /var/log, esegui il comando:

cd /var/log

Per andare in una directory verso l'alto aggiungi due punti o punti alla fine.

cd ..

Per tornare alla directory home esegui il comando cd senza argomenti.

cd 

NOTA: per navigare in una sottodirectory o in una directory all'interno della directory corrente, non utilizzare una barra (/), digita semplicemente il nome della directory.

Ad esempio, per accedere alla directory Download, eseguire:

cd Downloads

3. Comando ls

Il comando ls è un comando utilizzato per elencare file o cartelle esistenti in una directory. Ad esempio, per elencare tutto il contenuto della directory home, eseguiremo il comando.

ls

Dall'output, possiamo vedere che abbiamo due file di testo e otto cartelle che di solito vengono create per impostazione predefinita dopo l'installazione e l'accesso al sistema.

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

ls -lh

Per elencare i file nascosti, aggiungi il flag -a.

ls -la

Vengono visualizzati i file nascosti che iniziano con il segno del punto (.) come mostrato.

.ssh
.config
.local

4. toccare Comando

Il comando touch viene utilizzato per creare file semplici su un sistema Linux. Per creare un file, utilizzare la sintassi:

touch filename

Ad esempio, per creare un file file1.txt, esegui il comando:

touch file1.txt

Per confermare la creazione del file, richiama il comando ls.

ls

5. Comando cat

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

cat filename

6. Comando mv

Il comando mv è un comando piuttosto versatile. A seconda di come viene utilizzato, può rinominare un file o spostarlo da una posizione all'altra.

Per spostare il file, utilizzare 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, puoi spostare un file da una posizione diversa nella directory corrente utilizzando la sintassi mostrata. Prendere nota del segno del punto alla fine del comando. Ciò implica questa posizione’.

mv /path/to/file .

Ora faremo il contrario. Copieremo il file dal percorso 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 file originale e assegna il secondo argomento come nuovo nome file.

mv filename1 filename2

Ad esempio, per rinominare file1.txt in file2.txt esegui il comando:

mv file1.txt  file2.txt

Inoltre, puoi spostare e rinominare il file contemporaneamente specificando la cartella di destinazione e un nome file diverso.

Ad esempio, per spostare file1.txt nella posizione Pubblico/docs e rinominarlo file2.txt esegui il comando:

mv file1.txt Public/docs/file2.txt

7. Comando cp

Il comando cp, abbreviazione di copy, copia un file da una posizione a un'altra. A differenza del comando sposta, il comando cp mantiene il file originale nella sua posizione corrente e ne crea una copia duplicata in una directory diversa.

La sintassi per copiare un file è mostrata di seguito.

cp /file/path /destination/path

Ad esempio, per copiare il file file1.txt dalla directory corrente alla directory Public/docs/, esegui il comando:

cp file1.txt  Public/docs/

Per copiare una directory, usa l'opzione -R per copiare ricorsivamente la directory incluso tutto il suo contenuto. Abbiamo creato un'altra directory chiamata tutorial. Per copiare questa directory insieme ai suoi contenuti nel percorso Public/docs/, esegui il comando:

cp -R tutorials Public/docs/

8. Comando mkdir

Forse ti sarai chiesto come abbiamo creato la directory tutorials. Beh, è piuttosto semplice. Per creare una nuova directory utilizzare il comando mkdir ( make directory) come segue:

mkdir directory_name

Creiamo un'altra directory chiamata projects come mostrato:

mkdir projects

Per creare una directory all'interno di un'altra directory usa il flag -p. Il comando seguente crea la directory fondamentali 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 cancella 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 (rimuovi) viene utilizzato per eliminare un file. La sintassi è abbastanza 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. Potrebbe trattarsi di una directory vuota o non vuota.

rm -R directory_name

Ad esempio, per eliminare la directory projects, esegui il comando:

rm -R projects

11. trova e individua i comandi

A volte, potresti voler cercare la posizione di un particolare file. Puoi farlo facilmente utilizzando i comandi trova o localizza.

Il comando find cerca un file in una posizione particolare e accetta due argomenti: il percorso o la directory di ricerca e il file da cercare.

La sintassi è quella mostrata

find /path/to/search -name filename

Ad esempio, per cercare un file chiamato file1.txt nella directory home, esegui:

find /home/tecmint -name file1.txt

Il comando trova, proprio come il comando trova, svolge lo stesso ruolo di ricerca dei file ma accetta solo un argomento come mostrato.

locate filename

Per esempio;

locate file1.txt

Il comando localizza effettua la ricerca utilizzando un database di tutti i possibili file e directory nel sistema.

NOTA: il comando localizza è molto più veloce del comando trova. Tuttavia, il comando trova è molto più potente e funziona in situazioni in cui local non produce i risultati desiderati.

Questo è tutto! In questo argomento abbiamo trattato i comandi di base per la gestione dei file che ti forniranno il know-how nella creazione e gestione di file e directory in un sistema Linux.