Zum Inhalt springen
hanse-computing.de
  • Moin
  • Über uns
  • Leistungen
  • Projekte
  • Neuigkeiten
  • Wissen
    • Netzwerktechniken
    • Systemadministration
    • Hardware-Spezifikationen
    • KI & Automatisierung
    • Glossar
      • Fachbegriffe
      • Programmiersprachen-Befehle
    • Datenbanken
    • IT-Grundlagen
    • Python: Grundlagen
    • Python: Datenstrukturen
    • Python: Dateien & IO
    • Python: Web & Frameworks
    • Python: Fehler & Debugging
    • Webentwicklung
    • Linux & Betriebssysteme
    • IT-Sicherheit
    • Cloud & Container
    • Tools & Software
    • Netzwerk: TCP/IP
    • Netzwerk: DNS & Dienste
    • Netzwerk: Sicherheit
    • Netzwerk: Tools
    • KI: Grundlagen
    • KI: Praxis
    • KI: LLM & Agenten
    • Hardware: Server
    • Hardware: Netzwerkgeräte
    • Hardware: Peripherie
    • Wiki-Startseite
    • Letzte Änderungen
    • Kategorie-Browser
    • Zufallsartikel
  • Infrastruktur
  • AI Easy Start
  • Test-Drive
  • Kontakt
  • Affiliate
  • Impressum
  • Datenschutz

Sprache auswählen

  • Deutsch (Deutschland)
  • English (United Kingdom)
  1. Aktuelle Seite:  
  2. Startseite
  3. Wissen
  4. Glossar
  5. Programmiersprachen-Befehle

tar und gzip: Archive erstellen und komprimieren

tar bündelt Dateien und Verzeichnisse zu einem Archiv, gzip komprimiert einzelne Dateien. Zusammen ergeben sie das weltweit verbreitetste Backup- und Verteilformat unter Linux: .tar.gz.

tar: Archiv erstellen und entpacken

tar -cf archiv.tar verzeichnis     # Archiv erstellen (c=create, f=Datei)
tar -xf archiv.tar                 # Archiv entpacken (x=extract)
tar -tf archiv.tar                 # Inhalt anzeigen (t=list)
tar -czf archiv.tar.gz verzeichnis # komprimiert mit gzip (z)
tar -xzf archiv.tar.gz             # komprimiertes Archiv entpacken

gzip: Dateien komprimieren

gzip datei.txt                     # erzeugt datei.txt.gz
gunzip datei.txt.gz                # wieder entpacken
gzip -k datei.txt                  # Original behalten (-k wie keep)
zcat log.txt.gz                    # Inhalt anzeigen ohne zu entpacken
zgrep "Fehler" log.txt.gz          # direkt in der gz-Datei suchen

Typische Praxis

tar -czf backup-$(date +%F).tar.gz /home/user/          # Backup mit Datum
tar -xzf paket.tar.gz -C /opt/                          # in ein Zielverzeichnis
tar -czf web.tar.gz --exclude=cache --exclude=tmp /var/www   # Ordner ausschließen
tar -cjf archiv.tar.bz2 verzeichnis                     # stärkere Kompression (bzip2)
tar -cJf archiv.tar.xz verzeichnis                      # noch stärker (xz)

Praxis-Tipps

  • Die Option -f steht immer zuletzt, weil dahinter der Dateiname kommt: tar czf datei.tar.gz ....
  • tar allein bündelt nur; Kompression kommt von z (gzip), j (bzip2) oder J (xz) — je stärker, desto langsamer.
  • Vor dem Entpacken immer tar -tf archiv.tar.gz prüfen — manche Archive enthalten kein eigenes Oberverzeichnis.
  • Mit gzip -t datei.gz lässt sich eine Datei auf Integrität testen.
  • Backups mit Datum im Dateinamen ($(date +%F)) sind der einfachste Weg, mehrere Versionen zu behalten.

Verwandte Grundlagen: Bash-Befehle, find-Befehle und xargs-Befehle.

chmod, chown und ln: Rechte vergeben und Links erstellen

chmod ändert Dateirechte, chown ändert Besitzer und Gruppe, ln erstellt Links. Diese drei Befehle gehören zu den Grundlagen jeder Linux-Systemadministration — wer sie beherrscht, versteht, wie Linux Zugriff und Dateiverweise organisiert.

chmod: Rechte vergeben

Jede Datei hat drei Rechtegruppen: User (Besitzer), Group, Others — jeweils mit r (lesen=4), w (schreiben=2) und x (ausführen=1).

chmod 755 skript.sh          # Besitzer 7 (rwx), Gruppe 5 (r-x), Andere 5 (r-x)
chmod 644 notizen.txt        # Besitzer rw-, Gruppe r--, Andere r--
chmod u+x skript.sh          # Ausführen-Recht nur für den Besitzer ergänzen
chmod -R 755 /var/www/html   # -R: rekursiv für alle Dateien im Verzeichnis
chmod a-w datei.txt          # Schreibrecht für alle entfernen
chmod g+w,o-r datei.txt      # Gruppe +w, Andere -r in einem Aufruf

chown: Besitzer und Gruppe ändern

chown michael datei.txt              # Besitzer ändern
chown michael:www-data datei.txt     # Besitzer UND Gruppe setzen
chown -R michael:www-data /projekt/  # rekursiv für das ganze Verzeichnis
chgrp www-data datei.txt             # nur die Gruppe ändern (Kurzform)

ln: Links erstellen

ln -s /opt/app/aktuell /home/michael/app   # symbolischer Link (Verknüpfung)
ln datei.txt harte_kopie.txt               # harter Link (zweiter Name, gleiche Daten)
ln -s ../var/www/htdocs /top/www-link      # relativer Zielpfad

Ein symbolischer Link ist eine Verknüpfung auf einen Pfad (bricht, wenn das Ziel verschoben wird), ein harter Link ist ein zweiter Name für dieselben Daten auf derselben Partition (überlebt Verschieben, funktioniert nicht über Dateisystemgrenzen).

Praxis-Tipps

  • Mit ls -l sieht man die Rechte direkt: -rwxr-xr-x bedeutet Besitzer rwx, Gruppe r-x, Andere r-x.
  • Für Web-Verzeichnisse ist chown -R user:www-data + chmod 750/640 ein sicheres Grundmuster.
  • chmod -x entfernt das Ausführen-Recht — praktisch, um versehentliches Starten zu verhindern.
  • Symbolische Links erkennt man mit ls -l am Pfeil: app -> /opt/app/aktuell.

Verwandte Grundlagen: Bash-Befehle, find-Befehle und ps, top und kill.

ps, top und kill: Prozesse anzeigen und beenden

ps zeigt eine Momentaufnahme laufender Prozesse, top überwacht sie live und kill beendet sie. Zusammen sind sie das Basiswerkzeug, um zu verstehen, was auf einem Linux-System gerade arbeitet — und es bei Bedarf zu stoppen.

ps: Prozesse anzeigen

ps aux                    # alle Prozesse mit CPU-/Speichernutzung (Standard)
ps -ef                    # alle Prozesse, volle Kommandozeile
ps aux | grep nginx       # nach einem Dienst filtern
ps -e --forest            # Prozessbaum (Eltern-Kind-Beziehung)
ps -u michael             # nur Prozesse eines Benutzers
ps -p 1234 -o pid,cmd     # gezielt eine PID abfragen

Die PID (Process ID) ist die Nummer, mit der man einen Prozess später anspricht. ps aux zeigt sie in der zweiten Spalte.

top: Live-Überwachung

top                       # Live-Ansicht, aktualisiert sich selbst
top -o %MEM               # nach Speichernutzung sortieren
htop                      # komfortablere Variante (falls installiert)

In top sortiert P nach CPU, M nach Speicher, k beendet einen Prozess (PID eingeben), q verlässt die Ansicht.

kill: Prozesse beenden

kill 1234                 # Signal TERM: sauberes Beenden anfordern
kill -9 1234              # Signal KILL: sofort beenden (letzte Möglichkeit)
killall nginx             # alle Prozesse mit diesem Namen beenden
pkill -f "node app.js"    # per Namensmuster beenden
kill -l                   # Liste aller Signale anzeigen

Die Reihenfolge ist wichtig: erst kill PID (Signal 15, TERM — der Prozess kann aufräumen), erst wenn das nicht wirkt kill -9 (Signal 9, KILL — hartes Beenden ohne Aufräumen).

Praxis-Tipps

  • pgrep nginx liefert nur die PID-Nummern — perfekt für Skripte.
  • Hängende Prozesse lassen sich oft mit kill -9 beenden; vorher aber kill versuchen, sonst gehen ungesicherte Daten verloren.
  • Mit ps -o pid,%cpu,%mem,cmd --sort=-%cpu bekommt man die CPU-lastigsten Prozesse als Liste.
  • nice -n 10 ./schwer.sh startet einen Prozess mit niedrigerer Priorität, damit er andere nicht ausbremst.

Verwandte Grundlagen: Bash-Befehle, sort, uniq und cut und systemctl und journalctl.

systemctl und journalctl: Dienste und Logs mit systemd verwalten

systemctl steuert Dienste (Services) und Systemzustände unter systemd — dem Standard-Init-System moderner Linux-Distributionen. journalctl liest die zentrale Log-Sammlung (Journal). Zusammen verwalten sie, was beim Boot startet, was gerade läuft und was schiefgelaufen ist.

systemctl: Dienste steuern

systemctl status nginx          # Status: läuft, aktiviert, letzte Log-Zeilen
systemctl start nginx           # Dienst starten
systemctl stop nginx            # Dienst stoppen
systemctl restart nginx         # neu starten (nach Konfig-Änderungen)
systemctl reload nginx          # Konfiguration neu laden ohne Neustart
systemctl enable nginx          # automatischer Start beim Booten
systemctl disable nginx         # Autostart entfernen
systemctl --failed              # alle fehlgeschlagenen Dienste anzeigen
systemctl list-units --type=service --state=running   # laufende Dienste
systemctl daemon-reload         # Unit-Dateien nach Änderungen neu einlesen

journalctl: Logs lesen

journalctl -u nginx             # Logs eines Dienstes
journalctl -u nginx -f          # -f: live mitverfolgen (wie tail -f)
journalctl --since "1 hour ago" # seit einem Zeitpunkt
journalctl --since today        # seit heute
journalctl -p err               # nur Fehler (err) und Schlimmeres
journalctl -n 50                # die letzten 50 Zeilen
journalctl -b                   # seit dem letzten Boot
journalctl -k                   # Kernel-Meldungen

Typische Fehlersuche

systemctl status apache2        # zeigt den Fehler direkt an
journalctl -u apache2 -p err --since today   # Fehler des Tages
systemctl restart apache2       # nach Config-Änderung
systemctl --failed              # welche Dienste nicht starten

Praxis-Tipps

  • Nach Änderungen an /etc/systemd/system/ immer systemctl daemon-reload ausführen, sonst ignoriert systemd die neue Datei.
  • systemctl enable --now nginx startet den Dienst UND aktiviert den Autostart in einem Schritt.
  • Wer journalctl-Ausgaben weiterverarbeiten will, nutzt die Pipe: journalctl -u nginx | grep Fehler.
  • Das Journal speichert auch Kernel-Meldungen — journalctl -k -p err zeigt Hardware-Probleme.

Verwandte Grundlagen: Bash-Befehle, ps, top und kill und grep-Befehle.

TypeScript-Befehle: Schnellreferenz für typisiertes JavaScript

TypeScript – Schnellreferenz

TypeScript ist JavaScript mit statischen Typen – der Standard für große Web-Projekte und Angular/React-Anwendungen.

Typen und Interfaces

const name: string = "Hanse";
const alter: number = 42;
const aktiv: boolean = true;

interface Kunde {
    name: string;
    alter: number;
    email?: string;   // optional
}

const k: Kunde = { name: "Hanse", alter: 42 };

Union Types und Type Alias

type Id = string | number;
type Status = "aktiv" | "inaktiv";

let id: Id = 42;
let status: Status = "aktiv";

Generics

function erste<T>(liste: T[]): T | undefined {
    return liste[0];
}

const x = erste([1, 2, 3]);  // number

Klassen

class Kunde {
    constructor(public name: string, private alter: number) {}

    istVolljaehrig(): boolean {
        return this.alter >= 18;
    }
}

tsc-Befehle

AufgabeBefehl
Kompilierennpx tsc datei.ts
Watch-Modusnpx tsc --watch
Konfigurationnpx tsc --init
Strikte Prüfungnpx tsc --strict

Verwandt: JavaScript · HTML & CSS · API

  1. PowerShell-Befehle: Schnellreferenz für Windows-Administration
  2. HTML & CSS: Schnellreferenz für Web-Grundlagen
  3. Perl-Befehle: Schnellreferenz für Textverarbeitung und Sysadmin
  4. Lua-Befehle: Schnellreferenz für Skripting und Gaming

Seite 5 von 7

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
hanse-computing.de

hanse-computing.de – KI-gestützte Dienstleistungen aus Lübeck.

hanse-computing.de
IT-Dienstleistungen aus der Hansestadt
Über uns · Projekte · Neuigkeiten · Affiliate
Impressum · Datenschutz
© 2026 hanse-computing.de
© 2026 hanse-computing Impressum Datenschutz