CodeGym /Corsi /Docker SELF /Creazione, eliminazione, copia e spostamento di file: mkd...

Creazione, eliminazione, copia e spostamento di file: mkdir, rm, touch, cp, mv

Docker SELF
Livello 1 , Lezione 6
Disponibile

Creazione, eliminazione, copia e spostamento di file: mkdir, rm, touch, cp, mv

1. Creazione di directory e file

Lavorare con file e directory è la base di qualsiasi sistema operativo, incluso Linux. Dovrai creare directory per archiviare dati, spostare file in diverse posizioni, eliminare ciò che non serve (e talvolta per errore anche quello che serve, ma ci arriveremo più tardi), e copiare tutto questo tesoro secondo i tuoi desideri. Conoscere i comandi base per la gestione dei file renderà il lavoro su Linux comodo e veloce, oltre a dimostrare ai tuoi colleghi che sei un vero professionista.

In Linux puoi facilmente creare directory e file direttamente dal terminale, il che è molto comodo.

mkdir — creazione di directory

Il comando mkdir viene utilizzato per creare nuove directory (cartelle).

Sintassi:

mkdir [nome_cartella]

Esempio:

mkdir my_folder

Questo comando creerà la cartella my_folder nella directory corrente.

Creazione di directory annidate

A volte è necessario creare diverse directory annidate contemporaneamente. Per farlo, utilizziamo l'opzione -p:

mkdir -p parent_folder/child_folder/sub_child

Ora abbiamo le cartelle parent_folder, child_folder al suo interno e sub_child al loro interno.

Battuta-consiglio:

Se dimentichi l'opzione -p, Linux ti ricorderà che la cartella genitore non esiste. Proprio come nella vita: non si può creare un bambino senza genitori!


touch — creazione di file vuoti

Quando hai bisogno di creare rapidamente un file, usa touch.

Sintassi:

touch [nome_file]

Esempio:

touch my_file.txt

Il file my_file.txt apparirà istantaneamente nella directory corrente. Magia pura.

Trucco: creazione simultanea di più file

touch file1.txt file2.txt file3.txt

Complimenti, ora sei multitasking!

Curiosità:

touch non solo crea file, ma aggiorna anche i loro timestamp (dati sulla data di creazione e modifica del file), anche se questi file esistono già.


2. Eliminazione di file e cartelle

Prima creiamo, poi (a volte con le lacrime agli occhi) eliminiamo.

rm — eliminazione di file

Eliminare file in Linux avviene tramite il comando rm.

Sintassi:

rm [nome_file]

Esempio:

rm my_file.txt

Eliminazione di più file

rm file1.txt file2.txt

Niente dialoghi o avvisi. Occhio con questo comando!

rm -r — eliminazione di cartelle

Per eliminare cartelle e il loro contenuto, usa il flag -r (ricorsività).

Esempio:

rm -r my_folder

Casistica speciale: protezione contro azioni accidentali

Se vuoi che Linux chieda una conferma, aggiungi il flag -i:

rm -ri my_folder
Errore tipico:

Non eseguire mai rm -rf / (o rm -rf *) senza comprendere le conseguenze. Questo eliminerà tutto. Linux si fida di te, ma potresti pentirtene più tardi.


3. Copia di file e cartelle

cp — copia dei file

Copiare i file in Linux è semplice come sul desktop.

Sintassi:

cp [sorgente] [destinazione]

Esempio:

cp my_file.txt backup_file.txt

Ora hai due file: my_file.txt e la sua copia backup_file.txt.

Copia di più file in una cartella

Immagina di voler spostare tre file nella cartella backup:

cp file1.txt file2.txt file3.txt backup/

Copia ricorsiva delle cartelle

Per copiare le directory, usa il flag -r:

cp -r my_folder backup_folder

Questo creerà una copia dell'intera cartella my_folder insieme al suo contenuto in backup_folder.


4. Spostamento e rinominazione

mv — spostamento di file e cartelle

Il comando mv sposta un file o una cartella da una posizione a un'altra.

Sintassi:

mv [origine] [destinazione]

Esempio:

mv my_file.txt /home/user/documents/

Ora il file my_file.txt si trova nella cartella /home/user/documents/.

Rinominazione con mv

Puoi usare lo stesso comando per rinominare un file:

mv old_name.txt new_name.txt
Fatto utile:

In Linux non esiste un comando separato per la rinominazione. Spostiamo semplicemente il file con un nuovo nome nella stessa directory.


5. Esercizio pratico

Compito

  1. Crea la seguente struttura di cartelle:
    project/
        data/
        logs/
    
  2. Crea i file:
    • README.md in project/.
    • data.csv in project/data/.
  3. Fai il backup della cartella project/ nella cartella backup/.
  4. Rinomina il file README.md in README_backup.md.
  5. Elimina la cartella logs/.

Soluzione


# 1. Creazione delle cartelle
mkdir -p project/data
mkdir project/logs

# 2. Creazione dei file
touch project/README.md project/data/data.csv

# 3. Creazione del backup
cp -r project/ backup/

# 4. Rinomina del file
mv project/README.md project/README_backup.md

# 5. Eliminazione della cartella
rm -r project/logs

6. Analisi degli errori comuni

  • Errore: mkdir con un nome già esistente. Se la cartella esiste già, il comando genererà un errore. Usa nomi univoci.
  • Errore: Eliminazione di file importanti. Se elimini accidentalmente un file importante senza backup, sarà molto difficile ripristinarlo.
  • Errore con percorsi non validi. Quando specifichi un percorso, assicurati che esista. Ad esempio, cp myfile.txt /nonexistent_path/ si concluderà con un errore.

Applicazione nella vita reale

Capire la gestione dei file su Linux può essere utile:

  • Per gli sviluppatori. Per lavorare con i file del progetto, creare backup e strutturare rapidamente le directory.
  • Per gli amministratori. Per creare ed eliminare file temporanei, automatizzare la gestione dei log.
  • Per gli studenti. Per organizzare facilmente i file di studio.

Un semplice esempio: creare automaticamente la struttura delle cartelle per un nuovo progetto senza bisogno di utilizzare l'interfaccia grafica.

mkdir -p project/{src,docs,tests}
touch project/README.md

Ora sai come trasformare la riga di comando in una bacchetta magica per gestire i file!

Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION