Come Fare Il Tar Di Una Directory Senza Sottocartelle

Creare una cartella compressa con estensione .tar e senza includere la struttura delle directory non è così semplice, la prima volta. Ecco come fare.

In alcune situazioni ci viene chiesto di creare una cartella compressa con estensione .tar e senza sottocartelle per scambiare, al volo, più file.

Semplice da dire, meno da fare: solitamente siamo abituati a fare clic destro sull’icona della cartella che vogliamo comprimere, pigiamo su “Comprimi” (o diciture simili) e otteniamo subito il risultato finale.

Il problema, però, è che questa tecnica:

  1. spesso genera una cartella compressa con estensione .zip, .rar o .7z, in base al sistema su cui agiamo e all’applicazione che utilizziamo;
  2. quando decomprimiamo la cartella compressa viene creata una nuova cartella che contiene i file. O, peggio ancora, viene generata una cartella che contiene una sottodirectory, all’interno della quale si trovano i file.

Insomma, se questa tecnica va bene per scambiare file saltuariamente, per utilizzi più intensivi bisogna lavorare in modo più elegante.

Nota: questa guida è ideata per chi utilizza sistemi basati su Linux (Ubuntu, CentOS, Fedora, RedHat, OpenSuse, Raspbian, Manjaro, ecc.) o macOS.

Nessuna sottocartella

La motivazione per cui dobbiamo fare in modo che la cartella compressa non crei sottodirectory in fase di decompressione è che, spesso, la decompressione viene effettuata con script automatici. Che, ovviamente, sono programmati per aspettarsi dei file - non una cartella.

La soluzione, per quanto banale, dà del filo da torcere a chi deve creare una cartella .tar con queste caratteristiche per la prima volta.

Non perdiamo altro tempo, quindi, e vediamo subito come fare.

Procedura

Il primo passo è aprire il terminale 😱. Non spaventarti: è semplicissimo; devi cercare un’applicazione di nome “terminale”, “prompt dei comandi”, “shell” o “bash” tra le applicazioni installate. Quando l’hai trovata, aprila.

Appena si apre l’interfaccia a riga di comando devi spostarti nella directory che contiene i file che vuoi comprimere. Per impartire il comando che hai digitato devi premere “invio”.

1
cd /il/percorso/della/cartella/da/comprimere

Successivamente, devi eseguire la compressione.

1
tar czf /percorso/di/output/cartella.tgz *

Ecco fatto: hai creato una cartella con i requisiti richiesti! Se ancora non ti è ben chiaro come fare, però, non preoccuparti: analizziamo subito un esempio pratico.

Esempio pratico

Supponiamo di avere una cartella - chiamiamola “dati” - contenente tre file - diciamo “file1.md”, “file2.log” e “file3.txt”. Supponiamo inoltre di voler comprimere la cartella “dati” in un archivio .tar di nome “backup.tar”.

Ipotizziamo, inoltre, che la cartella “dati” si trovi sul nostro desktop e di voler creare l’archivio “backup.tar” sempre sul desktop.

Per ottenere il risultato richiesto, come detto sopra, apriamo il terminale e spostiamoci nella cartella “dati”.

1
2
# Il simbolo `~` indica al sistema di andare sul Desktop del nostro utente
cd ~/Desktop/dati

Successivamente, dobbiamo creare l’archivio.

1
2
3
# I `../` servono per "tornare" al Desktop.
# È lì, infatti, che vogliamo memorizzare l'archivio `.tar`
tar czf ../backup.tar *

Ben fatto! Adesso abbiamo creato, sul nostro desktop, un archivio di nome “backup.tar” che contiene i file “file1.md”, “file2.log” e “file3.txt”.

Verifica finale

Lo so, lo so: ancora non ti fidi che la procedura sia andata a buon fine. Non è un problema: possiamo verificare immediatamente che si sia conclusa correttamente.

Provando a decomprimere l’archivio .tar con un doppio clic, però, potremmo ottenere un risultato diverso da quello sperato; talvolta, infatti, i sistemi creano automaticamente una cartella con il nome dell’archivio in cui inserire i file estratti.

Per verificare che la cartella compressa sia stata creata regolarmente, quindi, dobbiamo fare ricorso (di nuovo 🙄) al terminale. Nuovamente, è un’operazione veloce e semplice:

  1. ci dobbiamo spostare nella directory in cui si trova la cartella;
  2. dobbiamo impartire il comando di estrazione.

Senza dilungarci ulteriormente in aspetti teorici, vediamo come fare riprendendo l’esempio di prima.

1
2
3
4
5
# Ci spostiamo sul nostro Desktop
cd ~/Desktop

# Estraiamo l'archivio
tar xzf backup.tar

Ecco fatto! Se la procedura di creazione dell’archivio si era conclusa correttamente, questa verifica dovrebbe estrarre i file e posizionarli sul desktop. Senza creare alcuna cartella.

A questo punto, quindi, si possono eliminare i file appena estratti per verifica, così da non fare confusione. Non rimane che inviare l’archivio .tar senza sottocartelle a chi l’ha richiesto 😉.