Dieser vegane Brotaufstrich zieht dir die Schuhe aus!
Zutaten:
200 g Cashew-Kerne 4 getrocknete Aprikosen 2 EL getrocknete Cranberries 10 Zehen Soloknoblauch eine halbe rote Chili, in Ringen einen kleinen Bund Schnittlauch, in Röllchen Saft einer halben Limette 1 Bund Zitronenthymian 2 EL Hefeflocken Meersalz, Pfeffer aus der Mühle
Zubereitung:
200 Gramm Cashewkerne, 2 EL Cranberries und 4 getrocknete Aprikosen über Nacht in Wasser einweichen.
Knoblauch und Zitronenthymian fein hacken, Limette auspressen.
Wasser abgießen, Aprikosen klein schneiden und alles zusammen mit 2 EL Hefeflocken, dem Thymian, etwas Salz, Pfeffer und dem Limettensaft in einen Mixer geben oder die Menge mit einem Pürierstab pürieren, bis eine cremige Konsistenz entsteht.
Den Schnittlauch unterheben.
In vorbereitete Gläser abfüllen und kühl lagern.
Der Aufstrich hält sich für gute zwei Wochen im Kühlschrank.
Tipp: Probiere den Aufstrich auch mal als Topping zu heißen Spaghetti! Dazu die Spaghetti pro Teller mit 1 EL des Aufstrichs vermengen – mehr braucht es nicht für eine schnelle, würzige Nudelmahlzeit!
Du magst meine Rezepte und kochst sie gerne nach? Dann freue ich mich über einen kleinen Obolus für meine Gewürze-Kasse. Besten Dank! 🙂
Dieser gehaltvolle Seelenwärmer schmeckt hervorragend, lässt sich gut aus Resten herstellen – und ist vegan. Du brauchst dafür kein Salz zu verwenden – Hefeflocken verleihen dem Süppchen eine kräftige Würze.
Zutaten:
2 Liter Wasser 1 Bund Suppengrün, fein gewürfelt 1 rote Spitzpaprika, in Streifen eine halbe frische Chili, in Ringen 1 große Zwiebel, gewürfelt 4 Zehen Knoblauch, in Scheibchen je eine kleine Tasse Bulgur, Perlgraupen und Sojahack 1 Lorbeerblatt 1 TL Ras-el-Hanout 8 Körner schwarzer Pfeffer, ganz 1 Msp. Zimt, gemahlen 1 Prise frisch geriebene Muskatnuss 1 EL Koriandergrün, fein gehackt einen halben Bund glatte Petersilie, fein gehackt einen halben Bund Frühlingszwiebeln, in Ringen anderthalb EL Vegata (oder einer ähnlichen Suppenwürze) 1 gehäufter EL Hefeflocken 1 EL Sesamöl
Zubereitung:
Spüle den Bulgur in einem engmaschigen Sieb unter fließendem Wasser ab.
Brate das Gemüse im Sesamöl leicht an.
Bringe das Wasser mit Vegata, einem Lorbeerblatt und den Pfefferkörnern in einem großen Topf zum Kochen.
Gib das Sojahack, den Bulgur und die Graupen hinzu und köchele alles bei kleiner Hitze für 25 Minuten. Rühre dabei regelmäßig um!
Nach 10 Minuten gibst du das gebratene Gemüse hinzu und würzt das Süppchen mit Ras-el-Hanout, Zimt und den Hefeflocken.
Schalte den Herd nach dem Ende der Kochzeit ab, entferne das Lorbeerblatt aus der Suppe und lasse sie bei geschlossenem Deckel noch für 10 Minuten nachquellen.
Gib den Muskat hinzu. Abschmecken und ggf. nachwürzen!
Hebe die Frühlingszwiebeln, die gehackte Petersilie und den Koriander unter und serviere das Süppchen heiß.
Du magst meine Rezepte und kochst sie gerne nach? Dann freue ich mich über einen kleinen Obolus für meine Gewürze-Kasse. Besten Dank! 🙂
Auf dem Commodore Amiga besitzen gut geschrieben Programme einen Versions-String, der über die Shell mit dem Befehl ‚version <progname> file full‘abgefragt werden werden kann.
Gerade dann, wenn man als C-Programmierer zu Testzwecken verschiedene C-Compiler verwendet kann es hilfreich sein, ein Template zu schreiben, um einen solchen Versions-String automatisch zu generieren. Man kann ein solches Template z. B. unter ‚S:myHeader.txt‘ ablegen und bei Bedarf einfach in den Texteditor laden.
Um einen Versions-String per Macro mit dem Programmnamen, der Versionsnummer, dem aktuellen Compilerdatum und Informationen zum verwendeten Compiler zu erstellen, geht man so vor:
Natürlich könnte man den Versions-String auch einfach so schreiben:
const char *version ="\o$VER: meinProgramm ((01. April 2025)) - (SAS/C) - Copyright by IchSelbst\n";
Man müsste dann halt den String jedesmal verändern wenn die Programmversion wechselt oder ein anderer C-Compiler benutzt wird. Da ist es schon komfortabler, wenn man sich ein entsprechenes Makro angelegt hat.
Ich selbst verwende bei der Programmentwicklung grundsätzlich Templates, da mir das viel Arbeit für Kommentare usw. erspart. Für meine mit dem ReBuild GUI Designer entworfenen Projekte sieht mein Standard-Template so aus:
Das ist eine meiner Lieblingsmarmeladen! Ihren unverwechselbaren Wumms bekommt sie durch einen guten Schluck Marillenlikör und eine Prise Muskat. Für bummelig 5 Gläser Marmelade brauchst du:
Koche 5 bis 7 Schraubgläser à 300 ml (mit Twist-off Deckel) mit Wasser aus und lasse sie abtropfen
Spüle Gläser und Deckel mit Mariellenlikör aus. Den guten Stoff anschließend nicht wegschütten!
Zubereitung:
Aprikosen mit kochendem Wasser übergießen und die Fruchthaut abziehen.
Früchte halbieren. Kern entfernen, Aprikosen in grobe Stücke schneiden. Früchte zusammen mit dem Zimt, dem Limettensaft, einer Prise Muskatnuss und 4 cl Marillenlikör in einem Topf zum Kochen bringen. Gelierzucker unter die Früchte rühren und weiterkochen lassen. Stelle die vorbereiteten Gläser bereit
Unter ständigem Rühren bei mittlerer Hitze ca. 3 Min. köcheln lassen (Gelierprobe!). Die Zimtstange entfernen und die Konfitüre mit einem Pürierstab fein pürieren. In die vorbereiteten Gläser mit Schraubverschluss füllen, je 1 cl Marillenlikör aufgießen und direkt verschließen.
Gläser auf dem Deckel stehend auskühlen lassen.
Wichtig: Aprikosenmarmelade wird trotz der Zugabe von Zitronensaft gern leicht bräunlich. Daher am besten dunkel aufbewahren, das zögert den Farbwechsel etwas hinaus.
Du magst meine Rezepte und kochst sie gerne nach? Dann freue ich mich über einen kleinen Obolus für meine Gewürze-Kasse. Besten Dank! 🙂
Crêpe Suzette ist eine französische Süßspeise. Es handelt sich um einen dünnen Crêpe in einer Orangenlikör-Orangensaft-Sauce, der flambiert wird. Außer Curaçao werden gerne auch Grand Marnier oder ähnliche Orangenliköre dafür verwendet. Das Rezept wurde angeblich durch einen Zufall erfunden. Die bekannteste Anekdote beschreibt, dass am 31. Januar 1896 der britische Kronprinz, der spätere König Edward VII., im legendären Café de Paris in Monte Carlo zu Gast war. Der 14-jährige Kochlehrling Henri Charpentier machte dort seine Ausbildung und sollte ihm und 18 Gästen anlässlich einer Silvesterfeierlichkeit am Tisch Pfannkuchen machen. Doch während Charpentier die Soße zubereitete, fing ein Likör plötzlich Feuer. Der Lehrling verzog keine Miene, probierte unauffällig, ob es gut schmeckte, tunkte die Crêpes in die entflammte Marinade, gab noch mehr Likör und Zucker hinzu und erklärte dem erstaunten Prinzen, dass dies ein neues Rezept sei. Edward kostete und war begeistert.
Zutaten für den Crêpes-Teig
175g Weizenmehl(Type 405) 1Prise Zucker 1Prise Salz 2 Eier(Gr. M) 250ml Milch 25 g Butteroder neutrales Pflanzenfett
Außerdem:
5 Bio –Orangen
4EL Zucker
2ELOrangenlikör
40gButter
Zubereitung:
Für den Teig Mehl in eine Schüssel sieben, Zucker und Milch hinzugeben und mit einem Schneebesen glatt rühren. Beim Rühren darauf achten, dass sich keine Klümpchen bilden. Butter schmelzen.
Eier und das Eigelb mit einer Prise Salz unterrühren, die flüssige Butter in einem dünnen Strahl in den Teig fließen lassen und gut vermischen. Den Teig ca. 30 Minuten stehen lassen.
Eine beschichtete Pfanne (oder den Crêpes-Maker) erhitzen und mit einem Papiertuch mit Öl einreiben. Den Teig mit einer kleinen Kelle portionsweise mittig in die heiße Pfanne geben. Den Teig mit einem Crêpe-Schaber auf dem Pfannenboden verteilen. Alternativ die Pfanne zügig in alle Richtungen bewegen. Crêpes bei mittlerer Hitze von beiden Seiten ca. 30-60 Sekunden ausbacken.
Für das Topping Orangen heiß abwaschen und trocken reiben. 3 Orangen filetieren. Dafür mit einem glatten Messer direkt an der Orangenhaut entlang schneiden und die weiße Haut entfernen. Das Fruchtfleisch in dünne Spalten schneiden. Die Schale der übrigen 2 Orangen abreiben, Früchte halbieren und den Saft auspressen.
Für die Tränke den frisch gepressten Orangensaft mit dem Abrieb in einer Pfanne erhitzen, Zucker und Orangenlikör zugeben. Die Orangensauce für ca. 5 Minuten einkochen. Dann 40 g Butter hinzufügen und einrühren.
Die ausgebackenen Crêpes einzeln in der Orangensauce tränken und zweimal falten. Auf einem Teller anrichten und mit Orangenfilets dekorieren. Direkt servieren.
Für den Wow-Effekt: Crêpes flambieren
Zum Flambieren gebe die fertigen Crêpes-Fächer zurück in die Pfanne. Verteile zusätzlich 1-2 EL Cognac darüber und zünde diesen mit einem langen Streichholz an.
Crêpes-Fächer richtig falten
Richtig falten kann eigentlich jeder. Außer Zitronen, vielleicht. Na gut – schwacher Gag. Wenn es um Crêpes geht, gibt es traditionell 10 Arten des Faltens. Das folgende Schaubild gibt dir einen Überblick (zum Vergrößern: Anklicken!):
Du magst meine Rezepte und kochst sie gerne nach?? Dann freue ich mich über einen kleinen Obolus für meine Gewürze-Kasse. Besten Dank! 🙂
Nach BeliebenZimt-Zucker– Mischung, Aprikosen-Marmelade oder Nuss-Nougat-Creme zum Füllen
Zubereitung
Für den Teig Mehl mit Zucker und Salz vermischen. Eier und Milch hinzufügen und mit einem Schneebesen oder dem Handrührgerät zu einem glatten Teig verrühren.
Die geschmolzene, nicht zu heiße Butter unterrühren. Der Teig muss relativ dünnflüssig sein, damit er auf dem Crêpes-Maker oder der Crêpes-Pfanne möglichst dünn verstrichen werden kann.
Den Teig ca. 30 Minuten ruhen lassen!
Crêpes-Maker auf mittlerer bis hoher Stufe erhitzen und mit etwas Butter oder Fett bestreichen. Wenn deine Crêpes-Platte antihaft-beschichtet ist, musst du dies nur einmal zu Beginn machen. Tipp: Jedes Crêpes-Gerät heizt und backt etwas anders. Eventuell braucht es 1-2 Versuche, bis die Teigdicke und der Bräunungsgrad perfekt passen. Probiere es einfach aus!
Nach Belieben die Crêpes direkt auf dem Crêpes-Maker mit Zimt-Zucker-Mischung oder Nuss-Nougat-Creme füllen. Sehr gut passt auch hausgemachte Aprikosenmarmelade! Dazu die Füllung auf die Mitte des Crêpe streichen bzw. verteilen. Mithilfe des Crêpes-Wenders den Crêpe in der Hälfte zusammenklappen. Nun von beiden Seiten einklappen, so dass eine Tütenform entsteht. Mit dem restlichen Teig genauso vorgehen. Crêpes direkt servieren. Der Teig ergibt ca. 8 Crêpes.
Crêpes-Fächer richtig falten
Richtig falten kann eigentlich jeder. Außer Zitronen, vielleicht. Na gut – schwacher Gag. Wenn es um Crêpes geht, gibt es traditionell 10 Arten des Faltens. Das folgende Schaubild gibt dir einen Überblick (zum Vergrößern: Anklicken!)
Du magst meine Rezepte und kochst sie gerne nach?? Dann freue ich mich über einen kleinen Obolus für meine Gewürze-Kasse. Besten Dank! 🙂
Amiga E besitzt keinen eigenen Datentyp für Fließkommazahlen, wie man das von C gewöhnt ist. Fließkommazahlen sind eine Art „Hack“. Sie werden als 32-Bit-Werte mit einfacher Genauigkeit gespeichert, so dass sie auch in die Vorstellung passen, dass alle Variablen 4 Byte groß sind. Da E lose typisiert ist, musst du E durch Zuweisung mit Dezimalpunkt mitteilen, wenn du Floats verwendest. Auch bei der Zuweisung an ganzzahlige Variablen muss mittels eines Ausrufezeichens hinter der Variablen zunächst konvertiert werden – und das macht die Float-Ausdrücke manchmal sehr unübersichtlich.
Im Wesentlichen sind Fließkommazahlen unter E sehr umständlich und E weiß nicht wirklich, dass der Wert, den eine Variable enthält, eine Fließkommazahl sein könnte. Der Wert ist in 4 Bytes gehalten, so dass, wenn du einen Float mit einem anderen Float vergleichst, es auch für die Art, wie sie gespeichert sind funktioniert. Um einen Float-Wert per Write(), WriteF() oder StringF() ausgeben zu können, musst du Umwege gehen und zunächst die Variable mit der Funktion RealF() in einen String umwandeln:
Float per WriteF() ausgeben
Da WriteF() keinen Platzhalter zur Ausgabe von Floats besitzt, musst du eine Float-Wert halt eben als String ausgeben. Hier kommt die Funktion RealF() ins Spiel. Sie wandelt die mit einem Float-Wert initialisierte LONG-Variable um und weist sie einem String zu:
Die Anzahl der Nachkommastellen ist auf maximal 8 Stellen begrenzt. Längere Werte werden gerundet. Der e-string muss vor der Verwendung der Funktion deklariert werden.
Beispiel:
/*
Fließkommazahlausgabe in Amiga E
*/PROC main()
DEF fzahl1:LONG, fzahl2:LONG, summe:LONG
DEF output[20]:STRING -> e-String-Variable für die Ausgabe
fzahl1:=47.11345
fzahl2:=42.81576 summe:=! fzahl1 + fzahl2 -> summe per ! zu Float umwandeln WriteF('fzahl1 = \t\s\n', RealF(output, fzahl1, 5))
WriteF('fzahl2 = \t\s\n', RealF(output, fzahl2, 5))
WriteF('summe = \t\s\n', RealF(output, summe, 5))
ENDPROC
Eine Besonderheit des Fließkommazahl-Handlings unter E muss bei der Verwendung von zur Ausgabe bestimmten Floats in Zuweisungen unbedingt beachtet werden: Da der Default-Datentyp einer Variablen grundsätzlich LONG ist und LONG nur durch die Initialisierung mit einer Fließkommazahl Kenntnis darüber erlangt, nun einen Float-Wert zu speichern, muss einer nicht initialisierte Variablen erst mitgeteilt werden, dass sie gleich einen Float-Wert erhalten wird. Dazu dient der Integer/Float-Umwandlungsoperator, welcher durch das Ausrufezeichen ! symbolisiert wird. Er funktioniert bidirektional und wandelt einen Variablenwert, je nach Kontext, Position und Ausgangswert, entweder in einen Float-, oder aber in einen LONG-Wert um.
Ich stecke viel Freizeit und Herzblut in meine Tutorials. Wenn dir meine Arbeit gefällt, dann freue ich mich über eine kleine Spende für meine IT-Kasse. Besten Dank! 🙂
Um die Basis für eigene Brotaufstriche herzustellen, brauchst du nicht viel: Cashewkerne, Hefeflocken, (Ersatz)Joghurt und ein bisschen Gemüse, Kräuter oder Obst reichen schon aus!
Zubereitung:
200 Gramm Cashewkerne über Nacht in Wasser einweichen.
Wasser abgießen und die Cashewkerne mit 2 EL Hefeflocken beigeben, sowie 3 EL pflanzlichem Joghurtersatz oder Naturjoghurt, etwas Salz, Pfeffer und einem Spritzer Zitronensaft in einem Mixer geben oder die Menge mit einem Pürierstab pürieren, bis eine cremige Konsistenz entsteht.
Verfeinere den Aufstrich nach Belieben mit Kräutern (z.B. Schnittlauch), Gemüse oder Trockenobst (z.B. Tomate, Paprika oder Datteln) und/oder Gewürzen (z.B. Chili oder Curry).
Hinweis: Hefeflocken haben bei manchen Menschen den Ruf, als Geschmacksverstärker zu fungieren (…was sie tatsächlich auch tun). Wegen ihres Glutaminsäure-Gehalts werden sie oft mit Glutamaten gleichgesetzt und deshalb abgelehnt.
Da Glutaminsäure aber ein natürlicher Bestandteil von Hefeflocken ist, gibt es vom Bundesinstitut für Risikobewertung zwar eine Warnung bezüglich industriellem Glutamat, jedoch keine Warnung bezüglich des Verzehrs von Hefeflocken. Falls du empfindlich auf glutaminsäurehaltige Lebensmittel reagierst, solltest du jedoch lieber auf Hefeflocken als Würze verzichten.
Beim Schreiben von Programmen für die Shell steht man manchmal vor dem Problem, den Bildschirm (eigentlich: Den Inhalt der Shell) löschen zu müssen. Die meisten BASIC-Dialekte verfügen zu diesem Zweck über Befehle wie CLS oder CLEARSCR. Bei BlitzBasic/AmiBlitz3 sind die aber bereits zu anderen Zwecken belegt, es existiert kein eigener Befehl für diesen Zweck.
Abhilfe schafft hier der Umweg über die Ausgabe von Escape-Codes. Dazu hat man zwei Möglichkeiten:
Kompatible Variante
Print Chr$($0c)
Diese Variante läuft unter allen BlitzBasic-Versionen einschließlich AmiBlitz3. Sie druckt das ESC-Zeichen zum Löschen des Bildschirms. Wenn der Befehl öfter im Programm gebraucht wird, dann kann man ihn auch in einer „sprechenden“ String-Variable ablegen:
scrclr.s = Chr$($0c)
Der Aufruf erfolgt dann einfach über die Anweisung: Printscrclr.
Diese Lösung funktioniert sogar unter PureBasic 4.0 Amiga:
; ----------------------------------
; File: scrclr.pb
; Bildschirm löschen
; Version für PureBasic v4.0 (Amiga)
; Revision: v1.0.1
; ----------------------------------
; -- Variablen definieren --
scrclr.s = chr($0c)
Print(scrclr)
PrintN( "***********************************")
PrintN( "* Bildschirm loeschen - Variante 1 *")
PrintN( "*************************************")
PrintN("")
PrintN( "Ich loesche nun den Bildschirm...")
PrintN( "Weiter: Linke Maustaste ")
MouseWait()
Print(scrclr)
PrintN( "E N D E ")
PrintN("")
Das folgende Listing zeigt die BlitzBasic-Variante:
; -----------------------------------
; File: scrclr1.ab3
; Bildschirm loeschen per ESC-Sequenz
; Version: 1.0 (BlitzBasic/AmiBlitz3)
; -----------------------------------
; Amiga Version String und das Compilerdatum
!version {"ScrClr 1.0 (\\__DATE_GER__)"}
; -- Globale Variablen deklarieren --
bScrClr.s = Chr$($0c) ; bb2-Variante
; -- ScrClr: bb2-Variante --
NPrint "***********************************"
NPrint "* Bildschirm loeschen - Variante 1 *"
NPrint "*************************************"
NPrint"":NPrint "Ich loesche nun den Bildschirm..."
Print "Weiter: Linke Maustaste "
MouseWait
Print bScrClr
NPrint "E N D E "
End
AmiBlitz3-Variante
Selbstverständlich funktioniert die zuvor beschriebene Methode auch unter AmiBlitz3 – allerdings hält der neue Compiler auch eine eigene Möglichkeit vor: Hier muss man aber etwas mehr an Vorbereitung investieren. Zunächst muss AmiBlitz3 für seinen erweiterten Syntax konfiguriert werden: OPTIMIZE 4 Danach gibt man zwei ESC-Sequenzen in Fluchtzeichendarstellung aus: Print„\\1B[1m“ : Print„\\1Bc“
Das folgende Listing zeigt die AmiBlitz3-Variante:
; -----------------------------------
; File: scrclr2.ab3
; Bildschirm loeschen per ESC-Sequenz
; Version: 1.0 (AmiBlitz3-only)
; -----------------------------------
OPTIMIZE 4 ; aktiviere den neuen Syntax von AmiBlitz3
SYNTAX 2
; Amiga Version String und das Compilerdatum
!version {"ScrClr 1.0 (\\__DATE_GER__)"}
; -- Globale Variablen deklarieren --
aScrClr.s = "\\1B[1m" + "\\1Bc" ; ab3-Variante
; -- ScrClr: ab3-Variante --
NPrint "***********************************"
NPrint "* Bildschirm loeschen - Variante 2 *"
NPrint "*************************************"
NPrint"":NPrint "Ich loesche nun den Bildschirm..."
Print "Weiter: Linke Maustaste "
MouseWait
Print aScrClr
NPrint "E N D E "
End
Diese Variante ist nicht abwärtskompatibel zu BlitzBasic!
Nahezu jeder Anwender, der mit Linux in Berührung kommt, wird ganz schnell über die für Linux typischen Archive stolpern. Zwar verfügen heutige Linux-Desktops meistens auch über ein grafisches Entpacker-Werkzeug, aber oft ist das zu umständlich und man möchte direkt vom Terminal aus arbeiten. Welche Archivarten gibt es also – und wie packt man sie eigentlich aus?
Entpacken für Eilige
Falls du nach einer Anleitung gesucht hast, um nur schnell einmal etwas zum Dekomprimieren von Archiven unter Linux nachzuschlagen, findest du die wichtigsten Befehle in der folgenden Schnellübersicht:
|-------------------------------------------|
|- Schnellübersicht: Entpacken unter Linux -|
|-------------------------------------------|
Suffix: Befehl:
.tgz tar -xvf archiv.tgz
bunzip2 archiv.tgz
.tar.gz tar -xvf archiv.tar.gz
bunzip2 archiv.tar.gz
.bz2 tar -xvfj archiv.bz2
bunzip2 archiv.bz2
.zip unzip archiv.zip
.7z 7z x archiv.7z
.lha lha -x archiv.lha
Tar
Tar-Archive, oft auch als Tarballs bezeichnet, werden durch Konvertierung einer Gruppe von Dateien in ein Archiv erstellt. Diese Archive werden meist für die Sicherung oder Verteilung von Software verwendet. In Linux- und Unix-Systemen kannst du tar-Archive mit dem Befehl tar erstellen. Es unterstützt eine Vielzahl von Kompressionsprogrammen wie gzip, bzip2, lzip, lzma, lzop, xz und compress. Tar wurde ursprünglich für die Erstellung von Archiven zur Speicherung von Dateien auf Magnetbändern entwickelt, weshalb es auch „Tape ARchive“genannt wird. Tar selbst komprimiert beim Packen allerdings nicht selbst, sondern verlässt sich auf externe Protokolle:
Gzipist der am weitesten verbreitete Algorithmus zur Komprimierung von tar-Dateien. Konventionell sollte der Name eines mit gzip komprimierten tar-Archivs entweder mit .tar.gz oder .tgz enden.
Kurz gesagt, eine Datei, die auf .tar.gz endet, ist ein mit gzip komprimiertes .tar-Archiv.
Neben der Erstellung neuer Archive kann der tar-Befehl auch für verschiedene andere Operationen verwendet werden, z. B. zum Extrahieren von tar-Archiven, zum Anzeigen einer Liste der im Archiv enthaltenen Dateien und zum Hinzufügen zusätzlicher Dateien zu einem bestehenden Archiv.
In diesem Artikel erfährst du, wie du tar.gz- und tgz-Archive extrahieren (oder entpacken) kannst.
Entpacken einer tar.gz-Datei
Der Befehl tar ist bei den meisten Linux-Distributionen und macOS standardmäßig vorinstalliert.
Um eine tar.gz-Datei zu entpacken, verwendest du die Option –extract (-x) und gibst den Namen der Archivdatei nach der Option f an:
$ tar -xf archiv.tar.gz
Der Befehl tar erkennt automatisch den Komprimierungstyp und entpackt das Archiv. Du kannst den selben Befehl verwenden, um tar-Archive zu extrahieren, die mit anderen Algorithmen komprimiert wurden, z. B. .tar.bz2
Die Option -v macht den tar-Befehl gesprächiger und gibt die Namen der entpackten Dateien auf dem Terminal aus.
$ tar -xvf archiv.tar.gz
Standardmäßig extrahiert tar den Inhalt des Archivs in das aktuelle Arbeitsverzeichnis. Verwende die Option –directory (-C), um ein Verzeichnis anzugeben, in das du das Archiv entpacken möchtest.
Um zum Beispiel den Inhalt des Archivs in das Verzeichnis /home/micha/files zu entpacken, kannst du den folgenden Befehl verwenden:
$ tar -xf archive.tar.gz -C /home/micha/files
Extrahieren bestimmter Dateien aus einer tar.gz-Datei
Um nur bestimmte Dateien aus einem tar.gz-Archiv zu extrahieren, fügst du eine durch Leerzeichen getrennte Liste der Dateinamen hinter dem Archivnamen ein:
$ tar -xf archiv.tar.gz datei1 datei2
Extrahieren bestimmter Verzeichnisse aus einer tar.gz-Datei
Beim Extrahieren von Dateien musst du deren genaue Namen zusammen mit dem Pfad angeben, wie er von tar –list (tar -t) aufgelistet wird. Um ein oder mehrere Verzeichnisse aus einem Archiv zu extrahieren, kannst du den gleichen Prozess wie beim Extrahieren einzelner Dateien befolgen:
tar -xf archive.tar.gz dir1 dir2
Wenn du versuchst, eine Datei zu entpacken, die nicht existiert, erhältst du eine Fehlermeldung ähnlich der folgenden:
$ tar -xf archiv.tar.gz README
tar: README: Not found in archiv
tar: Exiting with failure status due to previous errors
Extrahieren bestimmter Dateien mittels Wildcard
Du kannst auch Dateien aus einer tar.gz-Datei anhand eines Platzhaltermusters (Wildcard) extrahieren, indem du die Option –wildcards verwenden und das Muster in Anführungszeichen setzt, um zu verhindern, dass die Shell es interpretiert.
Um beispielsweise Dateien zu extrahieren, deren Namen auf .js (Javascript-Dateien) enden, würdest du Folgendes verwenden:
$ tar -xf archiv.tar.gz --wildcards '*.js'
Entpacken einer tar.gz-Datei von stdin
Wenn du eine komprimierte tar.gz-Datei extrahieren, indem du das Archiv von stdin liest (normalerweise über eine Pipe), musst du die Dekomprimierungsoption angeben. Die Option, die tar anweist, die Archive durch gzip zu lesen, ist -z.
Im folgenden Beispiel laden wir die Quellen des Raytracing-Programms „Blender“ mit dem Befehl wget herunter und leiten dessen Ausgabe mittels einer Pipe zum Entpacken an den Befehl tar weiter:
$ wget -c https://download.blender.org/source/blender-4.0.2.tar.xz -O - | sudo tar -xz
Auflisten einer tar.gz-Datei
Um den Inhalt einer tar.gz-Datei aufzulisten, rufst du den Befehl tar mit der Option –list (-t) auf:
$ tar -tf archiv.tar.gz
Erweiterte Ausgabe
Wenn du die Option –verbose (-v) hinzufügen, gibt tar zusätzliche Informationen wie Dateiberechtigungen, Eigentümer, Größe und Zeitstempel aus.
Das Programm kommt zum Dekomprimieren von Archiven mit dem Suffix .gz zum Einsatz:
$ gunzip archiv.gz
bzip2
bzip2ist die moderne Variante von gzip. Im Gegensatz zu gzip benutzt bzip2 einen anderen Algorithmus für das Komprimieren. In manchen Fällen kann es sein das dieser Algorithmus effektiver ist. Es dekomprimiert sowohl Archive mit dem Suffix .gz, als auch mit .bz2:
$ bunzip2 archiv.gz
$ bunzip2 archiv.bz2
ZIP
ZIP ist im Windows-Umfeld weit verbreitet und zieht daher natürlich auch seine Spuren in der Linux-Welt. Eventuell musst du das Paket Zip auf deinem System noch nachinstallieren (apt install zip unzip). ZIP-Archive haben den Suffix .zip und werden mit dem Programm unzip dekomprimiert:
$ unzip archiv.zip
7z
7z zeichnet besonders der hocheffiziente LZMA-Algorithmus aus und kennt viele verschiedene Formate, darunter .zip, .lha, .rar und alle .tar-Formate. Verschlüsselungen mit zeitgemäßen AES-256 Bit sind überhaupt kein Problem. Der Standard-Suffix des Programms ist .7z – es muss allerdings erst nachinstalliert werden:
$ apt install p7zip p7zip-full p7zip-rar
7z-Archiv entpacken:
$ 7z x archiv.7z
7z-Archiv komprimiert erstellen:
$ 7z a archiv.7z Datei1 Ordner2 Datei3
7z-Archiv erstellen und mit einem Passwort schützen:
$ 7z a -p archiv.7z *
7z-Archiv auflisten:
$ 7z l archivname.7
LhA
Das Programm LhAist vor allem für Anwender nützlich, die auf ihrem Linux-System einen Commodore Amiga emulieren und regelmäßig mit Archiven für diesen Computer zu tun haben. LhA-Archive sind auf dem Amiga der Standart und haben .lha als Suffix. Das Programm muss unter Linux erst nachinstalliert werden:
$ sudo apt install lhsa
LhA-Archive entpacken:
$ lha -x archiv.lha
LhA-Archive auflisten:
$ lha -l archiv.lha
$ lha -v archiv.lha
LhA-Archive testen:
$ lha -t archiv.lha
Du findest dieses Tutorial hilfreich? Dann freue ich mich über einen kleinen Obolus für meine IT-Kasse. Besten Dank! 🙂