admin_grundlagen:pipes_und_umleitungen
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
| Beide Seiten, vorherige ÜberarbeitungVorherige ÜberarbeitungNächste Überarbeitung | Vorherige Überarbeitung | ||
| admin_grundlagen:pipes_und_umleitungen [2011/09/20 09:26] – stefan_hofmann | admin_grundlagen:pipes_und_umleitungen [2022/11/21 14:32] (aktuell) – [Kanäle] ingo_wichmann | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | Ergebnisse in '' | + | ====== Kanäle ====== |
| - | | + | Datei '' |
| + | | ||
| + | cat ausgabe.txt | ||
| + | -> Länge der Datei '' | ||
| - | Fehlermeldungen unterdrücken: | + | Standard-Ausgabe des Befehls '' |
| - | | + | |
| + | cat ausgabe.txt | ||
| - | '' | + | Standard-Eingabe: |
| - | | + | wc -l ausgabe.txt |
| + | | ||
| + | wc -l / | ||
| + | wc -l < /etc/shadow | ||
| - | Beide Operationen zusammenfassen: | + | Datei '' |
| - | | + | |
| - | Das Selbe mit einer benannten Pipe: | + | Fehlerausgabe des Befehls |
| - | | + | |
| - | xargs touch < pipe & | + | |
| - | find / -mount -name " | + | |
| - | Fehlerausgabe | + | ls . gibtsnicht 2> fehler.txt |
| - | find / -mount -name "*.au" 2&>1 > /tmp/dateien.txt | + | ls . gibtsnicht > ausgabe.txt |
| + | ls . gibtsnicht >& beides.txt | ||
| + | ls . gibtsnicht > beides.txt 2>& | ||
| + | |||
| + | |||
| + | |||
| + | ====== Pipes ====== | ||
| + | Beispiele: | ||
| + | |||
| + | dpkg -l | wc -l | ||
| + | dpkg -l | tee pakete.txt | less | ||
| + | |||
| + | Doku: | ||
| + | * [[wpde> | ||
| + | * [[https:// | ||
| + | ====== Filterbefehle ====== | ||
| + | ===== cat, tac & split ===== | ||
| + | |||
| + | Tabelle 8.2 im Skript | ||
| + | |||
| + | tar cz --directory /usr/share doc/ | split -b 10M - doc.tar. | ||
| + | cat doc.tar.a* | tar tz | tail | ||
| + | |||
| + | Benutzerliste rückwärts | ||
| + | tac / | ||
| + | cat -n / | ||
| + | ===== head & tail ===== | ||
| + | head -n 20 / | ||
| + | tail -n 20 / | ||
| + | Kapitel 8.3.2 im Skript lesen | ||
| + | |||
| + | Übungen 8.8 - 8.11 im Skript | ||
| + | |||
| + | ===== od ===== | ||
| + | echo ' | ||
| + | |||
| + | ===== cut ===== | ||
| + | cut -d: -f 7 / | ||
| + | |||
| + | ===== sort ===== | ||
| + | Tabelle 8.10 im Skript | ||
| + | |||
| + | Übungen 8.22, 8.23, 8.26 im Skript | ||
| + | |||
| + | ===== uniq ===== | ||
| + | |||
| + | find / | ||
| + | |||
| + | ===== grep ===== | ||
| + | cat /etc/passwd | grep bash | ||
| + | (( | ||
| + | Moderne Alternativen: | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | )) | ||
| + | |||
| + | {{: | ||
| + | ===== column ===== | ||
| + | column -t / | ||
| + | ip -o link | column -t | ||
| + | ip -o address | column -t | ||
| + | column -s: -t / | ||
| + | |||
| + | ===== Pipeline ===== | ||
| + | Statistik aller eingegebenen Befehle | ||
| + | history | tr -s " | ||
| + | |||
| + | ====== Übung ====== | ||
| + | |||
| + | Wer errät, wofür dieser Befehl gut ist? (( https:// | ||
| + | seq 1 6 | shuf | head -n 1 | ||
| + | |||
| + | |||
| + | |||
| + | ===== Vorbereitung des Beispiels ===== | ||
| + | Testdaten ins Heimatverzeichnis kopieren: | ||
| + | cd | ||
| + | cp -a / | ||
| + | |||
| + | ===== Ausgabe eines Befehls in Datei umleiten ===== | ||
| + | jpg-Bilder in '' | ||
| + | find doc/ -xdev -name " | ||
| + | |||
| + | Das Selbe, aber Fehlermeldungen unterdrücken: | ||
| + | find doc/ -xdev -name " | ||
| + | |||
| + | ===== Dateiinhalt mit Befehl weiterverarbeiten ===== | ||
| + | Berechtigung der in der Datei '' | ||
| + | xargs chmod g+w < / | ||
| + | '' | ||
| + | ===== Ausgabe eines Befehls mit zweitem Befehl weiterverarbeiten ===== | ||
| + | jpg-Bilder in '' | ||
| + | find doc/ -xdev -name " | ||
| + | |||
| + | Verbesserte Version, die auch mit Leer- und Sonderzeichen in Dateinamen klar kommt: | ||
| + | mv doc ' | ||
| + | find Eigene\ Dateien -xdev -name " | ||
| + | mv Eigene\ Dateien doc | ||
| + | |||
| + | Alle JPEG-Grafikdateien in das Verzeichnis Bilder kopieren: | ||
| + | find / -name " | ||
| + | Hier führt '' | ||
| + | find / -name " | ||
| + | Hier schreibt '' | ||
| + | |||
| + | Weil '' | ||
| + | |||
| + | Eine Variante ohne '' | ||
| + | find / -name " | ||
| + | Das '' | ||
| + | ===== Fehlerausgabe und Standardausgabe zusammenfassen ===== | ||
| + | Lange Version, geht auch mit anderen Shells als bash: | ||
| + | find doc/ -xdev -name "*.jpg" | ||
| + | |||
| + | Nur mit bash: | ||
| + | find doc/ -xdev -name " | ||
| + | |||
| + | ===== Fehlerausgabe und Standardausgabe mit zweitem Befehl weiterverarbeiten ===== | ||
| + | find /var -xdev -type d -ls 2>&1 | less | ||
| + | |||
| + | Nur mit bash: | ||
| + | find /var -xdev -type d -ls |& less | ||
| - | Zusammenfassen (bash) | ||
| - | find / -mount -name " | ||
| - | Umgang mit Leer- und Sonderzeichen in Dateinamen: | ||
| - | find Eigene\ Dateien/ -type f -print0 | xargs -0 chmod a-x | ||
| Todo: Beispiel für tee | Todo: Beispiel für tee | ||
| Zeile 29: | Zeile 151: | ||
| wc -l ausgabe1 ausgabe2 | wc -l ausgabe1 ausgabe2 | ||
| + | Sonderfall: stdout und stderr unterschiedlich weiterverarbeiten | ||
| + | ((ls -l null eins |nl) 3>&1 1>&2 2>&3 | grep -v ' | ||
| + | Es werden dazu stdout und stderr zweimal reihum getauschst. | ||
| ====== Links ====== | ====== Links ====== | ||
| * http:// | * http:// | ||
admin_grundlagen/pipes_und_umleitungen.1316510798.txt.gz · Zuletzt geändert: 2011/09/20 09:26 von stefan_hofmann
