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 [2012/10/12 16:16] – ingo_wichmann | admin_grundlagen:pipes_und_umleitungen [2022/11/21 14:32] (aktuell) – [Kanäle] ingo_wichmann | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | ====== Kanäle ====== | ||
| + | Datei '' | ||
| + | ls -la > ausgabe.txt | ||
| + | cat ausgabe.txt | ||
| + | -> Länge der Datei '' | ||
| + | |||
| + | Standard-Ausgabe des Befehls '' | ||
| + | date >> ausgabe.txt | ||
| + | cat ausgabe.txt | ||
| + | |||
| + | Standard-Eingabe: | ||
| + | wc -l ausgabe.txt | ||
| + | wc -l < ausgabe.txt | ||
| + | wc -l /etc/shadow | ||
| + | wc -l < /etc/shadow | ||
| + | |||
| + | Datei '' | ||
| + | ls gibtsnicht 2> fehler.txt | ||
| + | |||
| + | Fehlerausgabe des Befehls | ||
| + | ls gibtsnicht 2>> fehler.txt | ||
| + | |||
| + | ls . gibtsnicht 2> fehler.txt | ||
| + | ls . gibtsnicht > ausgabe.txt | ||
| + | ls . gibtsnicht >& beides.txt | ||
| + | ls . gibtsnicht > beides.txt 2>&1 | ||
| + | | ||
| + | |||
| + | |||
| + | ====== 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 und mit Zeilennummern ;-) | ||
| + | tac /etc/passwd | ||
| + | cat -n /etc/passwd | ||
| + | ===== 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 /etc/passwd | ||
| + | |||
| + | ===== 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 /etc/fstab | ||
| + | ip -o link | column -t | ||
| + | ip -o address | column -t | ||
| + | column -s: -t /etc/passwd | ||
| + | |||
| + | ===== 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 ===== | ===== Vorbereitung des Beispiels ===== | ||
| Testdaten ins Heimatverzeichnis kopieren: | Testdaten ins Heimatverzeichnis kopieren: | ||
| Zeile 5: | Zeile 102: | ||
| ===== Ausgabe eines Befehls in Datei umleiten ===== | ===== Ausgabe eines Befehls in Datei umleiten ===== | ||
| - | jpg-Bilder in / suchen und Ergebnis in '' | + | jpg-Bilder in '' |
| - | find / -xdev -name " | + | find doc/ -xdev -name " |
| Das Selbe, aber Fehlermeldungen unterdrücken: | Das Selbe, aber Fehlermeldungen unterdrücken: | ||
| - | find / -xdev -name " | + | find doc/ -xdev -name " |
| ===== Dateiinhalt mit Befehl weiterverarbeiten ===== | ===== Dateiinhalt mit Befehl weiterverarbeiten ===== | ||
| - | Änderungszeit | + | Berechtigung |
| - | xargs touch < / | + | xargs chmod g+w < / |
| + | '' | ||
| ===== Ausgabe eines Befehls mit zweitem Befehl weiterverarbeiten ===== | ===== Ausgabe eines Befehls mit zweitem Befehl weiterverarbeiten ===== | ||
| - | jpg-Bilder in / suchen und Änderungszeit | + | jpg-Bilder in '' |
| - | find / -xdev -name " | + | find doc/ -xdev -name " |
| Verbesserte Version, die auch mit Leer- und Sonderzeichen in Dateinamen klar kommt: | Verbesserte Version, die auch mit Leer- und Sonderzeichen in Dateinamen klar kommt: | ||
| - | find Eigene\ Dateien/ -type f -print0 | xargs -0 chmod a-x | + | |
| + | | ||
| + | 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 ===== | ===== Fehlerausgabe und Standardausgabe zusammenfassen ===== | ||
| Lange Version, geht auch mit anderen Shells als bash: | Lange Version, geht auch mit anderen Shells als bash: | ||
| - | find / -xdev -name "*.au" > / | + | find doc/ -xdev -name "*.jpg" > / |
| Nur mit bash: | Nur mit bash: | ||
| - | find / -xdev -name "*.au" &> / | + | find doc/ -xdev -name "*.jpg" &> / |
| + | ===== 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 | ||
| Zeile 36: | 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.1350058574.txt.gz · Zuletzt geändert: 2012/10/12 16:16 von ingo_wichmann
