Archiv verlassen und diese Seite im Standarddesign anzeigen : Thema Stdout Umlenkung
Hallo Geeks
Ich fange hier ein neuer Help Thread für Linuxer an:
Frage: Wie kann man den Output eines Programms auf der Konsole anzeigen lassen und gleichzeitig in ein File speichern??
Antwort: mit dem Command tee
Beispiel:
$ ls D* | tee ls.tee
Bootdisk-HOWTO.pdf
Control Panel
DE-Kernel-HOWTO.dvi
DE-Kernel-HOWTO.ps
Mülleimer
Persönliches Verzeichnis
www.redhat.com
dies war die Anzeige an meinem Bildschirm...
$ more ls.tee
Bootdisk-HOWTO.pdf
Control Panel
DE-Kernel-HOWTO.dvi
DE-Kernel-HOWTO.ps
Mülleimer
Persönliches Verzeichnis
www.redhat.com
und hier steht es im File!
Ergänzungen willkommen
greetz
adme
Wie lenke ich die Standardausgabe eines Progs in eine Datei um,
ohne Ausgabe auf dem Bildschirm?
Lsg 1:
$ Prog > Ausgabedatei
Diese Datei wird jedes mal neu Beschrieben, der alte Inhalt wird gelöscht.
Lsg 2:
$ Prog >> Ausgabedatei
Nun wird der Output des Progs an die Datei angehangen.
Wie lenke ich die Standardausgabe und die Standardfehlerausgabe eines Progs in eine Datei um,
ohne Ausgabe auf dem Bildschirm?
Lsg 1:
$ Prog > Ausgabedatei 2>&1
Diese Datei wird jedes mal neu Beschrieben, der alte Inhalt wird gelöscht.
Lsg 2:
$ Prog >> Ausgabedatei
2>&1
Nun wird der Output des Progs an die Datei angehangen.
SeeksTheMoon
24.06.02, 13:24
wenn ein Programm im Hintergrund (z.B. nohup programm &) laufen soll und man keine logs lesen will, dann kann man als Ausgabedatei /dev/null definieren.
Gut für den mldonkey...
hi,
prog 2> /dev/null :)
cu next
hi,
gibt es eine möglichkeit, stderr und stdout für das ganze script anzugeben?
bsp:
ich habe ein script mit 100 iptables befehlen zur erstellung einer firewall. ich möchte, dass jegliche rückmeldung von iptables in eine datei umgeleitet wird.
es ist ziemlich mühsam hinter jeden iptables befehl ein >log 2>&1 zu setzen. :(
tia
greets
macolo
ps: für "set" gibt's afaik keine solche option. :(
ich verstehe nicht so recht. auf jeden fall kannst du 2>&1 auch durchs kürzere &> ersetzen
@poet:
danke für deine antwort.
das sieht so aus:
iptables -P POSTROUTING DROP -t nat
iptables -P INPUT ACCEPT
## REJECT
iptables -t filter -A INPUT -p tcp --destination-port 135:139 -i eth0 -j REJECT
iptables -t filter -A INPUT -p tcp --destination-port 445 -i eth0 -j REJECT
iptables -t filter -A INPUT -p tcp --destination-port 5000 -i eth0 -j REJECT
## DROP
## ACCEPT
##MASQUERADE
#forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "forwarding enabled"
# activating masquerading for sources 192.168.0.0-192.168.0.255
iptables -t nat -A POSTROUTING -s 192.168.0.0/255.255.255.0 -o eth0 -j MASQUERADE
hinter jeden iptables befehl &> zu schreiben ist ein bisschen mühsam. darum möchte ich wissen, ob es auch eine globale, script-weite einstellung für eine umleitung gibt.
tia
greets
macolo
Original geschrieben von macolo
hinter jeden iptables befehl &> zu schreiben ist ein bisschen mühsam. darum möchte ich wissen, ob es auch eine globale, script-weite einstellung für eine umleitung gibt.
pack die befehle einfach in eine subshell und leite dann die ausgaben um:
###
befehl1 >file1 2>&1
( befehl2; befehl3; befehl4 ) >file2 2>&1
###
ausgaben von befehl1 gehen in file1, ausgaben von befehl2-4 in file2 da subshell.
-j
hai auch,
das globale umlenken im file
geht natuerlich auch so:
exec 1>/tmp/logfile
exec 2>/dev/null
ab der stelle an der die einträge steen
wird alles umgeleitet.
gruss
lankin
Original geschrieben von lankin
das globale umlenken im file
geht natuerlich auch so:
exec 1>/tmp/logfile
exec 2>/dev/null
ab der stelle an der die einträge steen
wird alles umgeleitet.
jo, geht auch. leider lassen sich die umleitungen nicht aufheben AFAIK.
-j
hai jasper,
nun, eine stelle an der ich nur einen workaround
anbieten kann.
------------------------------------
#umleiten anfang:
exec 1>&3
exec 1>& logdile
ls -lR /usr
#umleitung ende
exec 1>&3
------------------------------------
hintergrund es gibt mehr als die kanaele
"1" (stdout) und "2" (stderr).
kanal "3" lege ich hier erstmal auf "stdout"
um , am ende den kanal "1" auf "3" und
somit wieder auf "stdout".
stderr könnte man z.b. auf kanal "4" legen.
ich bin mir sicher, dass die umleitung auch anders
abzuschalten ist, aber da muss sogar ich passen *g*.
ciao
lankin
explosiver
09.08.02, 20:17
hallo
kann mir jemand sagen unter was ich STDOUT finde im handbuch ???
habe es nicht gefunden, und ich weiss nicht wo die ausgabe stdout hinführt,
bzw wie man sie sehen kann, ich weiss, doofe frage aber ich habs wirklich noch
nirgends gelesen.
wäre dankbar für ein kleines script beispiel mit anzeige von stdout.
bei den anderen bsp. fasse ich es nicht ganz,da ich mir STDOUT gar nicht irgendwie
vorstellen kann was es ist,
vielen dank
explo
Danny
es regnet und regnet...
Hi,
man stdout
stdout geht auf das terminal (auf den Bildschrim), so wie stdin auf die Tastatur "hört"
explosiver
10.08.02, 03:23
das ist nur englisch
kannst du mir sagen wie ich das nachschauen kann in den büchern unter was ?
unter stdout nichts gefunden.
und ich habe ein programm da heisst es ausgabe an stdout doch ich she nichts.
was mache ich falsch ?
danke um jede antwort
ich habe mich wirklich darum bemüht es zu verstehen, wirklich .
Danny
kannst du mir ein 3 statz beispiel liefern an der ich stdout am bilschrim sehen kann ?
das wäre echt nett, die manpage isz auf eglisch leider.
danke+dirr
Greetz
DANNY
komisch, sie space taske funktionert wieder..:-)
hai explorer,
schau einfach unter ausgabe-umlenkung
oder
suche bei "google" "stdout", etc ...
aber wie BeS schon sagte,
kanal 0 == stdin ist die tastarur
kanal 1 == stdout der bildschirm (ursprünglich terminal)
kanal 2 == stderr der fehlerkanal
das ist eigentlich schon alles. im normalen
standart regelt die shell das für alle progis
automatisch, es sei denn man gast ihr etwas
anderes.
gib z.b. einfach "ls" ein und das
ergebnis steht wie von geisterhand auf ....
genau: stdout *g*
am besten schnappst du dir ein shellbuch,
kornshell, z-shell, etc unter dem punkt
ausgabe-umlenkung.
ciao lankin
In dem Buch Linux Unix Systemprogrammierung von AW -Verlag
gibs Hintergrundwissen für stdout/in/error.
Ist aber mehr was für Programmierer...
mfg
muchmarc
explosiver
12.08.02, 14:14
ja merci und danke,
jetzt kapiere ich es endlich, also ist die tastatur ein kanal, die fehlerausgabe, und der bildschrirm
also weiss ich endlich bescheid wo ich anfangen kann damit zu arbeiten und es
weiterzulernen.
danke
greetz
Danny
explosiver
13.08.02, 09:46
du sagtest das buch vom AW Verlag.
hast Du mir die ISBN Nummer ??? wäre sehr nett, denn ich möchte dies
Buch kaufen..resp. bestellen...
Thanks
Greetz
Danny
da ich zur Zeit leider nicht in Deutschland arbeite,
kann ich dir die ISBN nicht schicken.
Entweder du wartest noch nen halben Monat oder
gehst auf die HP von Addison Wesly (schreibt man
das so? -Ich kann mir das nicht merken *schäm*)
mfg
muchmarc
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.