Come tarare una directory senza includere la directory stessa

Ciao gente! Oggi sveliamo un dettaglio tar trucco che viene spesso chiesto: come tarare file e cartelle all'interno di una directory senza includere la directory principale nel tarball? Ciò è particolarmente utile quando desideri solo il contenuto, non la struttura delle cartelle.

Il classico puzzle di catrame

Immagina di avere una directory Data pieno di file e altre cartelle. Vuoi creare un file Data.tar archivio di tutto ciò che c'è dentro Data ma senza la Data directory stessa che fa parte dell'archivio. Sembra complicato, vero? Non proprio!

Tuffati nella riga di comando

Ecco come lo fai:

  1. Passare alla directory principale: Innanzitutto, devi trovarti nella directory che contiene Data.
   cd /path/to/parent
  1. Usa Tar con caratteri jolly: Il trucco sta nell'usare i caratteri jolly. Invece di raccontare tar archiviare Data, gli dici di archiviare tutto interno Data.
   tar -cvf Data.tar -C Data .

Qui, -C Data cambia la directory in Data prima e . significa tutto ciò che contiene.

Perché è importante

Questo metodo è utile per vari motivi:

  • Archiviazione selettiva: ottieni i contenuti senza il livello di cartelle aggiuntivo, perfetto per specifici scenari di backup o distribuzione.
  • Flessibilità: consente un maggiore controllo sulla struttura dei dati archiviati.
  • Pulito e ordinato: Ideale quando si desidera decomprimere i file senza creare una directory aggiuntiva.

Ora esploriamo alcuni degli altri scenari.

Scenario 1: tipi di file specifici di Tar

Supponiamo di voler tarare solo alcuni tipi di file all'interno della directory. Puoi combinare il comando find con tar:

cd /path/to/parent
tar -cvf Data.tar -C Data $(find . -name "*.txt" -type f)

Questo comando archivia solo .txt file dal Data directory.

Scenario 2: esclusione di alcuni file

Se desideri escludere file o pattern specifici:

cd /path/to/parent
tar --exclude='*.log' -cvf Data.tar -C Data .

Questo esclude tutto .log file dall'archivio.

Scenario 3: catrame e compressione al volo

Per comprimere immediatamente il tarball:

cd /path/to/parent
tar -czvf Data.tar.gz -C Data .

Questo crea un file tar compresso con gzip del contenuto di Data.

Scenario 4: backup incrementale

Se stai eseguendo backup incrementali del contenuto:

cd /path/to/parent
tar --listed-incremental=/path/to/snapshot.file -cvf Data.tar -C Data .

Questo crea un tarball mentre registra le modifiche dall'ultimo backup.

Avvolgere Up

Questi scenari illustrano la versatilità di tar. Che tu stia gestendo backup, distribuendo software o semplicemente organizzando file, tar offre una soluzione su misura per le vostre esigenze. Ricorda sempre di navigare nella directory corretta e di utilizzare caratteri jolly o comandi specifici per controllare cosa verrà incluso nel tuo tarball.

Esplora, sperimenta e padroneggia questi trucchi per rendere il tuo viaggio con Linux più efficiente e divertente!