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

xargs-Befehle: Befehle mit Argumenten aus der Pipeline versorgen

xargs liest Argumente von der Standard-Eingabe und übergibt sie einem Befehl. Es ist die Brücke zwischen Pipes, die Text liefern (find, grep, ls), und Befehlen, die Argumente erwarten (rm, cp, wc) — unverzichtbar für effiziente Shell-Skripte.

Grundlagen

find . -name "*.tmp" | xargs rm        # gefundene Dateien löschen
ls *.txt | xargs wc -l                  # Zeilen aller Textdateien zählen
echo "a b c" | xargs echo               # Standard: echo mit allen Argumenten

Wichtige Optionen

find . -name "*.log" | xargs -n 1 wc -l   # -n: max. Argumente pro Aufruf
find . -print0 | xargs -0 rm               # -0: Null-getrennt, sicher bei Leerzeichen
find . -name "*.jpg" | xargs -I {} cp {} /backup/   # -I: Platzhalter pro Argument
find . -type f | xargs -P 4 gzip            # -P: parallel mit 4 Prozessen

Typische Praxis

cat urls.txt | xargs -n 1 curl -O        # jede URL einzeln laden
grep -l "ERROR" *.log | xargs -I {} cp {} /tmp/fehler/
seq 1 100 | xargs -I {} echo "Nummer {}"

Praxis-Tipps

  • Dateinamen mit Leerzeichen: -print0 bei find und -0 bei xargs verwenden — sonst wird der Name in mehrere Argumente zerlegt.
  • Ohne Befehl gibt xargs die Argumente einfach aus — gut zum Testen.
  • Mit -p fragt xargs vor jedem Aufruf nach, mit -t zeigt es jeden Befehl an — beides hilft beim Debuggen.
  • Sehr lange Argumentlisten packt xargs automatisch in mehrere Aufrufe; mit -n lässt sich die Stückelung steuern.

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

sort, uniq und cut: Text sortieren, bereinigen und Spalten schneiden

sort, uniq und cut sind das Standard-Trio der Shell, um Textdateien zu ordnen, Duplikate zu entfernen und Spalten herauszuschneiden. Zusammen ersetzen sie viele kleine Tabellenkalkulations-Schritte direkt im Terminal.

sort: Zeilen ordnen

sort namen.txt                # alphabetisch sortieren
sort -n zahlen.txt            # numerisch sortieren
sort -r namen.txt             # absteigend
sort -k2 mitarbeiter.txt      # nach 2. Spalte sortieren
sort -h groessen.txt          # Größen wie 1K, 2M, 3G korrekt ordnen

uniq: Duplikate entfernen und zählen

sort namen.txt | uniq         # Duplikate entfernen (Eingabe muss sortiert sein)
sort namen.txt | uniq -c      # mit Anzahl je Eintrag
sort namen.txt | uniq -d      # nur Zeilen, die mehrfach vorkommen
sort namen.txt | uniq -u      # nur Zeilen, die genau einmal vorkommen

cut: Spalten ausschneiden

cut -d: -f1 /etc/passwd       # Feld 1, getrennt durch ':'
cut -d, -f2,3 export.csv      # Felder 2 und 3 aus einer CSV
cut -c1-10 datei.txt          # die ersten 10 Zeichen je Zeile
ps aux | tr -s ' ' | cut -d' ' -f2   # PID-Spalte

Typische Kombination

cut -d' ' -f1 zugriffe.log | sort | uniq -c | sort -rn   # häufigste Einträge
history | awk '{print $2}' | sort | uniq -c | sort -rn | head -20

Praxis-Tipps

  • uniq vergleicht nur benachbarte Zeilen — ohne sort davor werden nicht alle Duplikate entfernt.
  • sort -t: setzt ein eigenes Trennzeichen für -k-Sortierungen, z. B. sort -t: -k3 -n /etc/passwd.
  • cut kann keine variablen Trennzeichen wie mehrere Leerzeichen — vorher mit tr -s ' ' bündeln.
  • Für Log-Analysen ist die Kette sort | uniq -c | sort -rn der Klassiker, um Ranglisten zu bauen.

Verwandte Grundlagen: awk-Befehle, Bash-Befehle und grep-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, xargs-Befehle und Datenkompression.

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.

  1. systemctl und journalctl: Dienste und Logs mit systemd verwalten
  2. TypeScript-Befehle: Schnellreferenz für typisiertes JavaScript
  3. PowerShell-Befehle: Schnellreferenz für Windows-Administration
  4. HTML & CSS: Schnellreferenz für Web-Grundlagen

Seite 43 von 45

  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
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