IT-Academy Logo
Sign Up Login Help
Home - Betriebssysteme - Linux - Anwendungssoftware - Das Kommando tar



Das Kommando tar

die grundfunktionen von tar werden kurz vorgestellt.


Autor: Franz Schaefer (mond)
Datum: 23-01-2002, 19:30:06
Referenzen: man tar
Schwierigkeit: Anfänger
Ansichten: 4633x
Rating: Bisher keine Bewertung.

Hinweis:

Für den hier dargestellte Inhalt ist nicht der Betreiber der Plattform, sondern der jeweilige Autor verantwortlich.
Falls Sie Missbrauch vermuten, bitten wir Sie, uns unter missbrauch@it-academy.cc zu kontaktieren.

[Druckansicht] [Als E-Mail senden] [Kommentar verfassen]



Übersicht

"tar" steht fuer "tape archive" weil mit diesem befehle frueher
sicherungskopien auf bandlaufwerke geschrieben wurde. auch heute schreibt
man damit noch auf bandlaufwerke aber der hautpzweck ist es mehere datein
in eine "einzupacken". angenommen du hast ein groesseres projekt mit
mehreren .html files und dazu vielleicht ein paar .jpg bilder und nach
andere files die zu deinem projekt gehoeren. dann hast du die hoffentlich
irgendwo in einem verzeichniss beisammen. trozdem ist die handhabung
sovieler datein oft muehsam. wenn du sie z.b. auf einen anderen computer
kopieren willst etc.. praktisch waere wenn man das alles zusammenpacken
koennte in eine datei und bei bedarf wieder auspacken. genau das macht
tar:

tar -c -v -f blabla.tar blaprojekt/

wuerde eine datei mit dem namen blabla.tar erzeugen (-c fuer create). -v
steht fuer verbose und listet die datein auf waehrend sie eingepackt werden.
-f steht fuer file und hat als argument das file in das das archive
geschrieben werden soll. danach stehen ein oder mehrere files oder
verzeichnisse. (in diesem falle das verzeichnis "blaprojekt") im falle von
verzeichnissen werden auch alle files in dem verzeichniss und rekursiv
unterverzeichnisse miteingepackt.

alternativ erlaubt tar auch die kurzform wo man alle optionen als erstes
argument zusammenschreibt ohne ein minus zu machen (sonst bei befehlen
eher unueblich):

tar cfv blabla.tar blaprojekt/

wuerde also das selbe tun wie oben. (manche komerzielle unixe haben ein
eigenes tar programm wo die switche eventuell leicht anders heissen. in
diesemfalle die man page auf dem jeweiligen system konsultieren)

blabla.tar ist jetzt ein grosses file das alles aus blaprojekt enthaelt.
um die files aufzulisten verwendet man die option -t (fuer "test"):

tar tfv blabla.tar

gibt dir eine liste aller in blabla.tar enthaltenen files an.
ueblicherweise ist es eine gute idee sich diese liste anzushen bevor man
ein unbekanntes tar entpackt. vorallem ob die files auch in ein eigenes
verzeichnis (hier blaprojekt/ ) entpackte werden ist wichitg..weil sonst
hast du moeglicherweise eine grosse zahl unbekannter files in deinem
aktuellen directory und alles wird dann ziemlich unuebersichtlich. also
unbekannte .tar files am besten in einem eigens vorher erzeugten
verzeichnis auspacken. zum auspacken verwenden wir die option -x (fuer
eXtract):

wir machen zuerst z.b. ein verzeichnis uebung

mkdir uebung
cd uebung

und packen jezt das blabla.tar file von vorhin an dieser stelle aus:

tar xfvz ../blabla.tar

(da wir ja ins verzeichnis uebung gewechselt haben finden wir das blabla.tar
von vorhin eins weiter oben in der verzeichnisshirarchie (.. ist eine
abkuerzung die immer auf das uebergeordnete verzeichniss verweist))

jetzt findet sich (siehe ls )

ein verzeichnis blaprojekt in diesem uebung verzeichniss und dort drinnen
sind wieder alle files aus dem blaprojekt verzeichniss...

tar packt all die files in ein einziges .tar archiv (oft auch als "tar
ball" bezeichnet). allerings werden die daten nur zusammengepackt und
nicht komprimiert. will man die files auf floppy speicher oder uebers
netzwerk verschicken ist es oft wuenschenswert diese auch zu komprimieren.
das kann man entweder haendisch machen:

gzip blabla.tar

komprimiert das blabla.tar file und macht ein blabla.tar.gz daraus. das
kennen wir ja schon. aber tar kann das gzip auch gleich beim erstellen der
datei fuer uns aufrufen..dan gehts in einem. die option dafuer ist -z
(fuer zip):

tar cfvz blabla.tar.gz blaprojekt/

erstellt direkt das file blabla.tar.gz das auch komprimiert ist weil wir ein
z angegeben haben. ebenso wuerde

tar tfvz blabla.tar.gz

den inhalt auflisten (-t fuer test).

als kurzform fuer das eher lange .tar.gz hat sich eingebuergert die endung:
.tgz zu verwenden. ein file mit der endung .tgz ist also nichts anderes wie
ein .tar.gz. (natuerlich muss man nie die entsprechenden endungen wie .tar
.gz oder .tgz verwenden. man kann seine datein nenenn wie man will und
auch die endungen beliebig vergeben. aber es ist doch sehr hilfreich sich
an diese konventionen zu halten... damit man selber gleich sieht was in
der datei jetzt drinnen ist...)

angenommen du willst dir ein backup aller datein unterhalb des /etc
verzeichnisses aufheben. dann machen wir das z.b.: mit:

tar cfvzp etc_backup_dezember_2001.tgz /etc

hier haben wir noch eine neue optionen verwendet die fuer backups recht
nuetzlich ist: -p fuer "preserve permission". es wird zum namen der datei
auch zusaeztlich versucht die zugriffsrechte auf diese datei zu speichern.
obigen befehl musst du natuerlich als root ausfuehren wenn du wirklich
alle datein speichern willst weil ein normal sterbilicher user nicht alle
datein in /etc lesen darf.

mit:

tar tfvz etc-backup-februar-2001.tgz

ueberpruefst du ob dein backup auch funktioniert hat.

tar hat noch eingie optionen mehr die nuetzlich sind. wie wir tar zum
backup ueber netzwerk verwenden koennen etc lernen wir ein ander mal. aja
noch eins: will man datein mit dem besser komprimierenden neuren bzip2
komprimieren gibt es die option -I die man anstelle von -z verwendet.

tar cfvI blabla.tar.bz2 blaprojekt/

wuerde ein .bz2 komprimiertes .tar file aus den files in bla/ erstellen.
(neuere tar versionen verwenden dafuer allerdings den schalter -j anstelle
von -I )

EXERCISES:

* lege dir ein verzeichniss an das einige files enthaelt. und mach davon
ein .tgz archiv. (welchen vorteil beim entpacken hat es wenn alle files in
einem .tgz file im selben unterverzeichniss sind?)

* liste mit der t option alle files auf die in dem tgz enthalten sind.

* mache ein eigenes unterverzeichnis "test" und entpacke dort drinnen das
oben erstellte .tgz archiv.

* wende gzip -t auf das .tgz file an. welches file entsteht dadurch?

* liste den inhalt des so entstanden unkomprimierten .tar archivs auf.

_______________________________________________
CD ist ein service von SILVER SERVER
der inhalt unterliegt der GFDL
_______________________________________________



[back to top]



Userdaten
User nicht eingeloggt

Gesamtranking
Werbung
Datenbankstand
Autoren:04508
Artikel:00815
Glossar:04116
News:13565
Userbeiträge:16552
Queueeinträge:06246
News Umfrage
Ihre Anforderungen an ein Online-Zeiterfassungs-Produkt?
Mobile Nutzung möglich (Ipone, Android)
Externe API Schnittstelle/Plugins dritter
Zeiterfassung meiner Mitarbeiter
Exportieren in CSV/XLS
Siehe Kommentar



[Results] | [Archiv] Votes: 1154
Comments: 0