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:
- Passare alla directory principale: Innanzitutto, devi trovarti nella directory che contiene
Data
.
cd /path/to/parent
- Usa Tar con caratteri jolly: Il trucco sta nell'usare i caratteri jolly. Invece di raccontare
tar
archiviareData
, gli dici di archiviare tutto internoData
.
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!
Ciao, sono Himadri Das, sono un blogger e un collaboratore open source. Ho circa 11 anni di esperienza nel settore dell'Information Technology. Attualmente lavoro in una startup aziendale come responsabile del controllo qualità. Ho esperienza pratica su Appium, Selenium, QTP, Locust, framework di automazione, test delle prestazioni, test funzionali, Java, Python, scripting di Shell, MySql, Redis, Kafka ecc. A parte il mio lavoro e la scrittura di blog, amo giocare chitarra, amo viaggiare e amo guardare il cricket e il calcio. Se vuoi saperne di più su di me, visita il mio profilo linkedin.