Een directory tareren zonder de directory zelf op te nemen

Hallo mensen! Laten we vandaag een nette ontrafelen tar truc waar vaak naar wordt gevraagd: hoe tareer je bestanden en mappen in een map zonder de bovenliggende map in de tarball op te nemen? Dit is vooral handig als u alleen de inhoud wilt, en niet de mapstructuur.

De klassieke teerpuzzel

Stel je voor dat je een directory hebt Data gevuld met bestanden en andere mappen. U wilt een Data.tar archief van alles wat erin zit Data maar zonder Data map zelf maakt deel uit van het archief. Klinkt lastig, toch? Niet echt!

Duik in de commandoregel

Hier is hoe je het doet:

  1. Navigeer naar de oudermap: Eerst moet u zich in de map bevinden die Data.
   cd /path/to/parent
  1. Gebruik Tar met jokertekens: De truc is om jokertekens te gebruiken. In plaats van te vertellen tar archiveren Data, vertel je het om alles te archiveren binnen Data.
   tar -cvf Data.tar -C Data .

Hier -C Data verandert de map in Data eerst en . betekent alles wat erin zit.

Waarom deze Matters

Deze methode is om verschillende redenen handig:

  • Selectieve archivering: U krijgt de inhoud zonder de extra maplaag, perfect voor specifieke back-up- of implementatiescenario's.
  • Flexibiliteit: Het zorgt voor meer controle over de structuur van uw gearchiveerde gegevens.
  • Schoon en netjes: Ideaal als u bestanden wilt uitpakken zonder een extra map te maken.

Laten we nu enkele van de andere scenario’s onderzoeken.

Scenario 1: Tar-specifieke bestandstypen

Stel dat u alleen bepaalde typen bestanden in de map wilt tareren. Je kunt het find-commando combineren met tar:

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

Met deze opdracht wordt alleen gearchiveerd .txt bestanden van de Data directory.

Scenario 2: Bepaalde bestanden uitsluiten

Als u specifieke bestanden of patronen wilt uitsluiten:

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

Dit sluit alles uit .log bestanden uit het archief.

Scenario 3: Onmiddellijk teer en comprimeren

Om de tarball onmiddellijk te comprimeren:

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

Hierdoor ontstaat een gzipte tarball van de inhoud van Data.

Scenario 4: Incrementele back-up

Als u incrementele back-ups van de inhoud maakt:

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

Hierdoor ontstaat er een tarball tijdens het vastleggen van wijzigingen vanaf de laatste back-up.

Afsluiten

Deze scenario's illustreren de veelzijdigheid van tar. Of u nu back-ups beheert, software implementeert of alleen bestanden organiseert, tar biedt een oplossing op maat van uw wensen. Denk er altijd aan om naar de juiste map te navigeren en jokertekens of specifieke opdrachten te gebruiken om te bepalen wat er in uw tarball wordt opgenomen.

Ontdek, experimenteer en beheers deze trucs om je Linux-reis efficiënter en leuker te maken!