Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


admin_grundlagen:shell_filter

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
admin_grundlagen:shell_filter [2014/09/23 10:04]
ingo_wichmann
admin_grundlagen:shell_filter [2020/12/07 18:13] (aktuell)
holger_jakobs [sort]
Zeile 1: Zeile 1:
 ====== Filterbefehle ====== ====== Filterbefehle ======
 +
 +{{ :​admin_grundlagen:​prozess.svg?​300}}
 +
 +Unter einem Filter versteht man Programm, die von ''​stdin''​ (Standardeingabe) lesen und auf ''​stdout''​ (Standardausgabe) schreiben können. Die meisten dieser Programme tun genau dies, wenn sie keinen Dateinamenparameter erhalten haben. Falls jedoch ein oder mehrere Dateinamenparameter übergeben worden sind, werden lediglich die dort genannten Dateien nacheinander verarbeitet,​ nicht aber ''​stdin''​.
 +
 +Um neben Dateien auch ''​stdin''​ zu verarbeiten,​ erlauben viele Programme die Angabe von ''​-''​ (einzelnes Minuszeichen bzw. Bindestrich) für ''​stdin''​. Eine echte Datei mit diesem Namen kann von diesen Programmen nicht verarbeitet werden.
 +
 +
 ==== cat ==== ==== cat ====
-Null-Filter. Datei ausgeben. Eigentlich ​concatenate: Mehrere Quellen verketten+Null-Filter. Datei ausgeben. Eigentlich ​con**cat**enate: Mehrere Quellen verketten ​und ausgeben. Es ist genau das Gegenteil von ''​split''​
   cat file1 file2   cat file1 file2
 ==== tac ==== ==== tac ====
-Datei umgedreht ​ausgeben+Zeilen einer Textdatei in umgekehrter Reihenfolge ​ausgeben
   tac file   tac file
  
Zeile 12: Zeile 20:
 Die ersten drei Zeilen von Datei ''​file''​ ausgeben: Die ersten drei Zeilen von Datei ''​file''​ ausgeben:
   head -3 file   head -3 file
 +  head -n +3 file
 +Alle Zeilen bis auf die letzten drei:
 +  head -n -3 file
  
 ==== tail ==== ==== tail ====
Zeile 18: Zeile 29:
 Die letzten 3 Zeilen von Datei ''​file''​ ausgeben: Die letzten 3 Zeilen von Datei ''​file''​ ausgeben:
   tail -3 file   tail -3 file
 +Die Zeilen ab der 3. Zeile von Datei ''​file''​ ausgeben:
 +  tail +3 file 
 Die letzten 10 Kernelmeldungen anzeigen: Die letzten 10 Kernelmeldungen anzeigen:
   dmesg | tail   dmesg | tail
 Logdatei ''/​var/​log/​messages''​ fortlaufend anzeigen: Logdatei ''/​var/​log/​messages''​ fortlaufend anzeigen:
 +((''​-F''​ ist die Kurzform von ''​%%--%%follow=name''​. Das ist besser als ''​-f'',​ da ''​-F''​ nicht dem Inode, sondern dem Namen folgt. Log-Dateien werden gelegentlich rotiert, und die alte Datei ändert sich dann nicht mehr, weil jetzt in eine neue Log-Datei mit dem bisherigen Namen geschrieben wird.))
   tail -F /​var/​log/​messages   tail -F /​var/​log/​messages
-((''​-F''​ ist die Kurzform von ''​--follow=name''​. Das ist besser als ''​-f'',​ da ''​-F''​ dem Inode sondern dem Namen folgt)) 
- 
 ==== sort ==== ==== sort ====
-Datei ''​file''​ alphabetisch sortieren+Datei ''​file''​ alphabetisch sortieren:
   sort file   sort file
-Verzeichnisse nach Größe (numerisch) sortiert anzeigen:+Beim Sortieren identische Zeilen (Dubletten) entfernen:​ 
 +  sort -u file 
 +Verzeichnisse nach Größe (nummerisch) sortiert anzeigen:
   du -msx /usr/* | sort -n   du -msx /usr/* | sort -n
 +{{ :​admin_grundlagen:​prozesspipe.svg |}}
 +
 +Einträge der Benutzerliste nach dem dritten durch Doppelpunkt getrennten Feld ''​uid''​ (nummerisch) sortiert anzeigen:
 +  sort -k3n -t: /etc/passwd
 +  ​
  
 ==== uniq ==== ==== uniq ====
Zeile 37: Zeile 56:
  
 ==== nl ==== ==== nl ====
-Datei numeriert ausgeben+Datei numeriert ausgeben ​(Formatierung variiert zwischen diesen Kommandos):
   nl file   nl file
 +  cat -n file
 +  grep -n ""​ file
  
 ==== grep ==== ==== grep ====
-Zeilen mit dem Muster "​pat"​ in Datei(en) ausgeben ​ |+Zeilen mit dem Muster "​pat"​ in Datei(en) ausgeben
   grep "​pat"​ file   grep "​pat"​ file
 Negation Negation
Zeile 48: Zeile 69:
   grep -riH "​pat"​ dir   grep -riH "​pat"​ dir
  
 +==== tr ==== 
 +Zeichen ersetzen (Arbeitet **nur** als Filter nicht mit Dateien) 
 +  cat vornamen | tr "​aeiou"​ "​eioua"​ 
 +   
 +  cat vornamen | tr "​a-zA-Z"​ "​A-Za-z"​
admin_grundlagen/shell_filter.1411466678.txt.gz · Zuletzt geändert: 2014/09/23 10:04 von ingo_wichmann