IT-Academy Logo
Sign Up Login Help
Home - Betriebssysteme - Linux - Anwendungssoftware - Das Kommando cat und "Pipes"



Das Kommando cat und "Pipes"

Es wird das konzep von unix pipes (ausgabe und eingabe umleitungen) und des "cat" befehls kurz erklaert.


Autor: Franz Schaefer (mond)
Datum: 23-01-2002, 19:28:21
Referenzen: http://www.strath.ac.uk/IT/Docs/IntroToUnix/node39.html
http://www.ee.surrey.ac.uk/Teaching/Unix/unix3.html
h ttp://www.linuxdoc.org/HOWTO/Bash-Prog-Intro-HOWTO-3.html
http://www.linuxdoc.org/HOWTO/Bash-Prog-Intro-HOWTO-4.h tml
man bash
Schwierigkeit: Anfänger
Ansichten: 4065x
Rating: Bisher keine Bewertung.

Hinweis:

Für den hier dargestellte Inhalt ist nicht der Betreiber der Plattform, sondern der jeweilige Autor verantwortlich.
Falls Sie Missbrauch vermuten, bitten wir Sie, uns unter missbrauch@it-academy.cc zu kontaktieren.

[Druckansicht] [Als E-Mail senden] [Kommentar verfassen]



Übersicht

angenommen du willst die ausgabe von einem befehl in eier datei
festhalten. dann geht das mit dem > symbol:

fortune > blabla.txt

wuerde eine datei erstellen dass blabla.txt heisst und in das die ausgabe
von fortune reingeschrieben wurde.

das file kannst du dann zb mit dem befehlt cat ausgeben:

cat blabla.txt

der befehl

echo hallo welt

gibt den text "hallo welt" auf dem bildschirm aus.

damit erzeugt

echo hallo welt > blabla.txt

ein file blabla.txt mit diesem inhalt. falls das file schon exisitert wird
es ueberschrieben. wenn man nicht ueberschreiben sondern anhaengen will
verwendet man >> :

date >> blabla.txt

wuerde z.b. die ausgabe des befehls date (das aktuelle datum) an die datei
blabla.txt anhaengen.

das ganze funktioniert auch in umgekerte richtung. manche programme
brauchen eingaen und mit dem pfeil in die andere richtung kann man aus
einem file lesen und die daten an ein programm senden. z.b.:

cat < blabla.txt

tut zwar im grunde das selbe wie "cat blabla.txt" aber in obigen beispiel
gibt cat nur aus wass es mittels < "hineingestopft" bekommt.

eine andere form der umleitung passiert mit dem | (pipe) symbol. das
leitet die ausgabe eines befehls zur eingabe eines anderen um.

cat blabla.txt | less

der unterschied hier ist dass nicht eine datei mit dem namen "less"
erzeugt wird sonder die ausgabe in ein programm names "less" geschrieben
wird.

less kennst du ja schon aber das | geht mit vielen befehlen. davon werden
wir aber andermal noch mehr kennen lernen.

was zu beachten ist:

den ausgabekannal ueber den die ausgeben eines befehles ablaufen nennt man
"standard out" oder kurz STDOUT. den kanal ueber den die eingaben an einen
kommando laufen heisst analog STDIN.

die umleitung betrifft nur die "normale" ausgabe. fehlermeldungen werden
ueber einen eigenn kanal ausgegeben. dieser wird "standard error" (STDERR)
genannt. er ist von der normalen umleitung nicht betroffen. kann aber mit
2> umgeleitet werden. z.b:

ls --diesen-switch-gibt-es nicht 2>fehlermeldung.txt

(im obigen beispiel wird das ls kommando mit einem switch aufgerufen den
es nicht kennt und das ls kommando wuerde sich darueber beschweren. die
fehlermeldung wird hier mit dem 2> symbol in die datei fehlermeldung.txt
geschrieben.)

EXERCISES:

erzeugen sie eine datei die in der ersten zeile das aktuelle datum und
dann ein beliebiges fortune cookie enthaelt..

 

_______________________________________________
CD ist ein service von SILVER SERVER
der inhalt unterliegt der GFDL
_______________________________________________



[back to top]



Userdaten
User nicht eingeloggt

Gesamtranking
Werbung
Datenbankstand
Autoren:04510
Artikel:00815
Glossar:04116
News:13565
Userbeiträge:16552
Queueeinträge:06247
News Umfrage
Ihre Anforderungen an ein Online-Zeiterfassungs-Produkt?
Mobile Nutzung möglich (Ipone, Android)
Externe API Schnittstelle/Plugins dritter
Zeiterfassung meiner Mitarbeiter
Exportieren in CSV/XLS
Siehe Kommentar



[Results] | [Archiv] Votes: 1157
Comments: 0