Unix / Linux - Directory

Benvenuti, futuri programmatori! Oggi esploreremo il mondo affascinante delle directory Unix e Linux. Come il vostro amico insegnante di informatica del quartiere, sono qui per guidarvi in questo viaggio, passo dopo passo. Allora, prendete una tazza di caffè (o tè, se è più il vostro thing), e esploriamo la struttura delle directory di questi potenti sistemi operativi!

Unix / Linux - Directories

Struttura delle Directory di Linux

Immaginate il vostro computer come un grande albero. La radice di questo albero è, beh, la directory radice (/). Da lì, i rami (sottodirectory) si diffondono, creando una struttura gerarchica. Questa struttura è la colonna vertebrale dei sistemi Unix e Linux.

Ecco una vista semplificata della struttura delle directory di Linux:

/
├── bin
├── boot
├── dev
├── etc
├── home
├── lib
├── media
├── mnt
├── opt
├── proc
├── root
├── sbin
├── tmp
├── usr
└── var

Ogni una di queste directory ha uno scopo specifico. Ad esempio, /bin contiene comandi essenziali per l'utente, /etc memorizza i file di configurazione del sistema, e /home è dove risiedono le directory degli utenti.

Directory Home

Parlando di casa, parliamo del vostro spazio personale nel mondo Linux - la directory home. È come la vostra stanza nella grande casa Linux.

Per navigare nella vostra directory home, potete usare il seguente comando:

cd ~

Oppure semplicemente:

cd

Qui, cd sta per "change directory", e ~ è un abbreviativo per la vostra directory home.

Percorsi Assoluti/Relativi

Ora, parliamo di come navigare questa struttura ad albero. Usiamo percorsi, che vengono in due varietà: assoluti e relativi.

Percorsi Assoluti

Un percorso assoluto parte dalla directory radice (/). È come dare a qualcuno il tuo indirizzo completo, inclusa la nazione, la città e il nome della via.

Esempio:

cd /home/username/Documents

Questo comando viporterà nella cartella Documents della vostra directory home, indipendentemente da dove vi trovate nel sistema dei file.

Percorsi Relativi

Un percorso relativo, invece, è basato sulla vostra posizione attuale. È come dare indicazioni da dove sei.

Esempio:

cd Documents

Se siete già nella vostra directory home, questo viporterà nella cartella Documents.

Elenco delle Directory

Ora che sappiamo come navigare, vediamo cosa c'è all'interno di queste directory. Il comando ls è il vostro miglior amico qui.

ls

Questo elencherà i contenuti della directory corrente. Vuoi più dettagli? Prova:

ls -l

L'opzione -l vi dà una lista lunga, mostrando permessi, proprietario, dimensione e data di modifica.

Creazione di Directory

È giunto il momento di costruire le nostre own branch su questo albero Linux! Usiamo il comando mkdir per creare directory.

mkdir MyNewFolder

Questo crea una nuova directory chiamata "MyNewFolder" nella vostra posizione corrente.

Creazione di Directory Padri

E se volete creare una directory all'interno di un'altra directory che non esiste ancora? Nessun problema! L'opzione -p è lì per voi.

mkdir -p Projects/WebDevelopment/HTML

Questo crea l'intero percorso, anche se le directory padre non esistono.

Rimozione di Directory

A volte, dobbiamo fare un po' di potatura. Per rimuovere una directory vuota, usate il comando rmdir:

rmdir MyNewFolder

Attenzione, però! Se volete rimuovere una directory e tutto il suo contenuto, usate rm -r, ma usatelo con cautela:

rm -r Projects

Questo eliminerà la directory Projects e tutto il suo contenuto. È come usare una motosega invece delle cesoie!

Cambiamento di Directory

Abbiamo già visto il comando cd, ma ripassiamo:

cd /path/to/directory    # Cambia a una directory specifica
cd ..                    # Muovi un livello in su
cd ~                     # Vai alla directory home
cd -                     # Vai alla directory precedente

Rinomina delle Directory

In Unix/Linux non abbiamo un comando separato per "rinominare". Invece, usiamo il comando mv (muovi):

mv oldname newname

Ad esempio:

mv MyProjects MyAwesomeProjects

Questo rinomina la directory "MyProjects" in "MyAwesomeProjects".

Le directory . (punto) e .. (punto punto)

Chiudiamo con due nomi di directory speciali:

  • . (punto singolo) rappresenta la directory corrente
  • .. (punto punto) rappresenta la directory padre

Questi sono estremamente utili nei percorsi relativi. Ad esempio:

cp ../file.txt .

Questo copia un file chiamato "file.txt" dalla directory padre alla directory corrente.

Ecco una tabella che riassume i principali comandi relativi alle directory che abbiamo coperto:

Comando Descrizione Esempio
cd Cambia directory cd /home/user
ls Elenca i contenuti della directory ls -l
mkdir Crea una nuova directory mkdir NewFolder
rmdir Rimuove una directory vuota rmdir OldFolder
rm -r Rimuove una directory e il suo contenuto rm -r Projects
mv Muovi/renomina una directory mv OldName NewName
cp Copia file o directory cp -r SourceDir DestDir

Ricorda, la pratica fa la perfezione! Non abbiate paura di sperimentare nel vostro terminale. Linux è molto indulgente (tranne quando usate rm -r con leggerezza!). Buon divertimento nell'esplorare, e possa la forza di Linux essere con voi!

Credits: Image by storyset