Archiefbestanden
Wat ik meestal zoek
# Gewoon uitpakken # tar -xzf bestand.tar.gz unzip bestand.zip # Inpakken. Bronbestanden blijven behouden. Denk aan extentie # tar -zcvf bestand.tar.gz map_of_bestandsnaam # Inpakken. Bronbestanden blijven behouden. Denk aan extentie. Negeer de vage foutmelding # tar -zcvf bestand.tar.gz *
.gz - Inpakken
Algemeen
gzip bestandsnaam
Ik gebruik dit voor het comprimeren van sql-dumpbestanden, ook in scripts. Bv.:
gzip ./$doelbestandsnaam
Let op: Het oorspronkelijke bestand wordt verwijderd!
mysqldump & inpakken
Zie Mysqldump voor details.
.gz - Uitpakken
gunzip file.gz
.tar - Inhoud bekijken
tar tvf archiebestand.tar
.tar - Inpakken
Inclusief gzip-compressie, en zonder dat originele bestanden worden verwijderd:
tar czvf archief.tar.gz bestanden
Complete site archiveren - Je hebt geen switch voor recursie nodig:
tar czvf example.com.tar.gz /var/www/example.com/*
.tar - Uitpakken
tar -xf archief_bestand.tar
.tar.gz - Inhoud inzien
tar tvfz archiefbestand.tar.gz
.tar.gz - Inpakken
Syntaxis
tar -zcvf bestandsnaam.tar.gz mapnaam
Switches
-z
- Comprimeer mbv.gzip
-c
- Creëer archief-v
- Verbose: Geef info weer op het scherm (optioneel)-f
- File name.
Map archiveren vanuit diezelfde map?
Het lijkt geen probleem te zijn om een map te archiveren terwijl die map de working directory is: Je zou een recursie kunnen krijgen.
Schakelaar -f echt nodig?
De schakelaar -f
heb je toch echt nodig:
tar -cz wikidvb-backup-20160706.tar.gz ~/in1 tar: gzip: compressed data not written to a terminal. Use -f to force compression. For help, type: gzip -h wikidvb-backup-20160706.tar.gz: Cannot stat: No such file or directory tar: Removing leading `/' from member names
.tar.gz - Uitpakken
Syntaxis
tar -xzf bestand.tar.gz
Het oorsponkelijke bestand bestand.tar.gz blijft hierbij behouden.
Switches
-x
- Extract-z
- Gebruikgzip
voor comprimeren en expanderen-f
- File name.
Heb je de -f switch echt nodig?
Ja. Als je dit doet, gebeurt er nix:
tar -xz bestand.tar.gz
Ik geloof dat -f
gebruikt wordt voor communicatie met gzip.
.tar.gz - Uitpakken zonder top-level-map, in de juiste map
Vaak bevatten gedownloade softwarepakketten de top-level-map. Da's onhandig. En dit is de oplossing:
Bekijken of er inderdaad zo'n top-level-map is:
tar -tf bestand.tar.gz | head
En indien dat het geval is: Uitpakken zonder die top-level-map:
tar -xvf bestand.tar.gz --strip 1
Helemaal mooi als je daarnaast move hebt, maar dat lijkt niet het geval te zijn. Wat wél werkt:
- Archiefbestand op een standaardlocatie laten staan (bv. ~/in1 voor mij vaak)
- In de doelmap staan
- Daar het uitpakcommando geven. Bv.
tar xvf ~/in1/rt7.tar.gz --strip 1
.zip - Create
On Linuz, zip files supposingly are an alias for compressed archived files using two different algorithms. The corresponding command zip
only handles packing and compressing files. Not extracting them.
Examples:
Compress file a.txt and add/create file blub.zip for storing it (in this case, the file is created):
$ zip blub a.txt adding: a.txt (stored 0%)
What happens if I only provide the name of the archive-to-be? - Not much:
$ zip foobar zip error: Nothing to do! (foobar.zip)
Use a wildcard?
$ zip foobar * adding: a.txt (stored 0%) adding: blub.zip (stored 0%) adding: b.txt (stored 0%)
After creating a folder + file in the PWD: The file inside the folder, is not included:
$ zip foobar2 * adding: a.txt (stored 0%) adding: blub.zip (stored 0%) adding: b.txt (stored 0%) adding: foobar.zip (stored 0%) adding: map/ (stored 0%)
Recursive:
$ zip -r foobar3 * adding: a.txt (stored 0%) adding: blub.zip (stored 0%) adding: b.txt (stored 0%) adding: foobar.zip (stored 0%) adding: map/ (stored 0%) adding: map/c.txt (stored 0%)
.zip - Uitpakken
unzip archiebestand.zip
Installatie unzip: sudo apt-get install unzip
Keywords
- Archieven
- Archives
- Compressie
- Compressiebestanden