mikrocontroller.net

Forum: PC-Programmierung Eingaben in eine Datei umleiten


Autor: Günter Lenz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Unter MS-DOS, mit dem Befehl:

copy con Datei.txt

werden alle nachfolgenden Eingaben in  Datei.txt
umgeleitet, bis man mit der Tastenkombination:

Strg+z

die Datei.txt schließt, und damit die aktion
beendet. Wie macht man so etwas im Befehlsfenster
von Linux?

Autor: Programmierer (Gast)
Datum:

Bewertung
2 lesenswert
nicht lesenswert
cat > datei.txt

Und abschliessen mit Strg +D

Autor: Günter Lenz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank.
Werde ich gleich mal ausprobieren.

Autor: min (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Wenn ich es richtig verstanden habe, sollen die Terminalein- und
Ausgaben in eine Datei umgeleitet werden.  befehl >> datei
Vielleicht findet sich hier die Lösung dieses Problems:
http://de.linwiki.org/wiki/Linuxfibel_-_Die_Bash_-_E/A-Umleitung

Autor: flexibel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
guest@porteus:~$ cd /tmp
guest@porteus:/tmp$ echo "eins" >foo
guest@porteus:/tmp$ echo "zwei" >>foo
guest@porteus:/tmp$ cat foo
eins
zwei
guest@porteus:/tmp$ echo "drei" >foo
guest@porteus:/tmp$ cat foo
drei
guest@porteus:/tmp$ 
guest@porteus:/tmp$ # > überschreibt datei >> hängt an
guest@porteus:/tmp$ 


Zum copy/paste ohne den promt-output:
cd /tmp
echo "eins" >foo
echo "zwei" >>foo
cat foo
echo "drei" >foo
cat foo

# > überschreibt datei >> hängt an

Autor: Günter Lenz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
cat > datei.txt

Funktioniert prima, sogar auf Gerätedateien.
Da ich kein Terminalprogramm für die serielle
Datenübertragung auf meinem Linuxrechner habe,
benutze ich dies als Notlösung. Ich mache zwei
Befehlsfenster auf, verkleiner sie auf halbe
Bildschirmhöhe, so das ich sie gleichzeitig
sehen kann. Im unteren Fenster gebe ich dann:

cat > /dev/ttyUSB0

ein, und im oberen Fenster gebe ich:

cat /dev/ttyUSB0

ein, und kann nun gleichzeitig Text senden und
empfangen. Aber eins hätte ich gerne noch, daß der
ankommende Text, der auf dem oberen Fenster erscheint,
auch noch gleichzeitig in eine echte Datei gelenkt wird.
Ist sowas machbar?

Autor: Malte S. (maltest)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Günter Lenz schrieb:
> auch noch gleichzeitig in eine echte Datei gelenkt wird.
> Ist sowas machbar?

Dann ist tee dein Freund:
tee /DEB/ttyUSB0 > input.log

Ansonsten

Günter Lenz schrieb:
> Da ich kein Terminalprogramm für die serielle
> Datenübertragung auf meinem Linuxrechner habe

Es muss ja nicht minicom sein, sehr angenehm ist auch picocom und für 
deine Zwecke lohnt sich möglicherweise ein Blick auf cu (bei mir im 
Paket taylor-uucp). Das verdient nicht den Namen "Terminalprogramm", 
kann aber gut mit seriellen Ports umgehen und ist bidirektional. Tipp: 
beenden mit ~. am Zeilenanfang.

Autor: Günter Lenz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Malte S. für den Tipp mit tee.
Ich habe damit mal gespielt, und bin nun auf folgende
Lösung gekommen:

cat /dev/ttyUSB0 | tee datei.log

Diese Befehlszeile macht nun genau das,
was ich mir gewünscht habe. Ankommender Text
auf dem Bildschirm ausgeben und gleichzeitig
in die  datei.log  schreiben.

Programme unter Linux nachinstallieren war bei mir bisher
erfolglos. Dafür habe ich noch nicht genug Erfahrung.
Das ist einfach zu kompliziert. Da scheitert jeder
Linuxanfänger.

Autor: Andreas B. (bitverdreher)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Günter Lenz schrieb:

> Programme unter Linux nachinstallieren war bei mir bisher
> erfolglos. Dafür habe ich noch nicht genug Erfahrung.
> Das ist einfach zu kompliziert. Da scheitert jeder
> Linuxanfänger.

So etwas habe ich noch nie gehört.
Ich weiß ja nicht welche Distri Du hast, aber bei Debian und Derivaten 
geht das so:
> apt-get install DeinProgram

war doch nicht so schwer, oder?

Gruß
Andreas

Autor: Malte S. (maltest)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Günter Lenz schrieb:
> cat /dev/ttyUSB0 | tee datei.log

Passt schon, nur streng genommen ein Useless Use of Cat 
http://linuxwiki.de/UselessUseOfCat

tee datei.log < /dev/ttyUSB0

tut's ohne. Nur für die B-Note :)

Edit: Oder in natürlicherer Reihenfolge:

< /dev/ttyUSB0 tee datei.log

: Bearbeitet durch User
Autor: Günter Lenz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andreas B. schrieb:
>So etwas habe ich noch nie gehört.
>Ich weiß ja nicht welche Distri Du hast, aber bei Debian und Derivaten
>geht das so:
>> apt-get install DeinProgram

Ich habe Linux-Xandros, das ist ein Debianderivat.
Ich bin dran gescheitert:
ein Terminalprogramm, Pyserial für Python, stdio.h und andere
Bibliotheken für gcc, nachzuinstallieren.
Andere Leute, die mehr Erfahrung mit Linux haben wie ich,
haben es auch versucht, und nicht geschaft.
Mit apt-get werde ich mich demnächst mal beschäftigen,
vielleicht klappt es doch noch mal irgendwann.

Autor: Andreas B. (bitverdreher)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach du meine Güte! Xandros wurde Ende 2007 eingestellt.
Da würde ich keine Minute mehr investieren.
Meinst du nicht, Du solltest Dir mal was aktuelles installieren?
Damit hätte ich auch Probleme. Da müßte ich ja Ausgrabungen vornehmen, 
um  da noch Unterlagen zu finden.

Gruß
Andreas

Autor: Rolf M. (rmagnus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Günter Lenz schrieb:
> Danke Malte S. für den Tipp mit tee.
> Ich habe damit mal gespielt, und bin nun auf folgende
> Lösung gekommen:
>
> cat /dev/ttyUSB0 | tee datei.log

Das gehört in die Kategorie "useless use of cat".
https://de.wikipedia.org/wiki/Cat_(Unix)#Unn.C3.B6tige_Verwendung.2C_Useless_Use

Es reicht auch:
tee datei.log < /dev/ttyUSB0

> Programme unter Linux nachinstallieren war bei mir bisher
> erfolglos. Dafür habe ich noch nicht genug Erfahrung.
> Das ist einfach zu kompliziert. Da scheitert jeder
> Linuxanfänger.

Das wundert mich etwas, denn gerade das ist bei den meisten Distros 
eigentlich sehr einfach.

Autor: Günter Lenz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rolf Magnus schrieb:
>Es reicht auch:
>
>tee datei.log < /dev/ttyUSB0

OK habe ich ausprobier, funktioniert.

>Das wundert mich etwas, denn gerade das ist bei den meisten Distros
>eigentlich sehr einfach.

Zwei Jahre lang versuche ich schon Pyserial für Python
auf Linux zu installieren, und habe es noch nicht geschaft.
Bei meinen Windows-XP-Rechner ging es ohne Probleme.

Autor: Ich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andreas B. schrieb:
> Ach du meine Güte! Xandros wurde Ende 2007 eingestellt.
@Günter: Das Problem besteht darin, dass diese Linux-Variante sehr alt 
ist und nicht mehr gepflegt wird. Wenn die sog. Repositories (die 
Server, von denen Updates und überhaupt die Software kommen) 
abgeschaltet sind, kann man das Linux nicht mehr sinnvoll erweitern. 
Neuere Programme erfordern nämlich oft einigermaßen aktuelle Versionen 
von zentralen Komponenten, die man eben nirgendwo mehr her bekommt. Oder 
nur mit unverhältnismäßig hohem Aufwand.

Autor: Malte S. (maltest)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich schrieb:
> Das Problem besteht darin, dass diese Linux-Variante sehr alt ist und
> nicht mehr gepflegt wird.

Gleiches gilt auch für

Günter Lenz schrieb:
> Bei meinen Windows-XP-Rechner ging es ohne Probleme.

das ging vielleicht noch ohne Probleme. Anderes wird zunehmend welche 
machen und das Fehlen von Sicherheitsupdates ist auch nicht ohne.

Autor: Rolf M. (rmagnus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Günter Lenz schrieb:
>>Das wundert mich etwas, denn gerade das ist bei den meisten Distros
>>eigentlich sehr einfach.
>
> Zwei Jahre lang versuche ich schon Pyserial für Python
> auf Linux zu installieren, und habe es noch nicht geschaft.
> Bei meinen Windows-XP-Rechner ging es ohne Probleme.

Bei mir reicht ein sudo apt-get install python-pyserial, um es 
automatisch runterzuladen und zu installieren. Allerdings habe ich nicht 
so ein uraltes System.

Günter Lenz schrieb:
> Mit apt-get werde ich mich demnächst mal beschäftigen,
> vielleicht klappt es doch noch mal irgendwann.

Das ist das erste, was man bei Debian-Derivaten benutzt, um Software zu 
installieren, nicht etwas, wo man nach zwei Jahren erfolglosen Versuchen 
mal anfängt, sich damit zu beschäftigen.
Allerdings gilt auch, was "Ich" sagt. Bei deinem veralteten System 
wird's vermutlich schwierig sein, noch was zu aktualisieren.

Autor: Günter Lenz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke erstmal an Alle für die vielen Hinweise,
ich werde mich weiter mit Linux beschäftigen
und dazulernen.

Autor: Kaj (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Günter Lenz schrieb:
> Ich habe Linux-Xandros, das ist ein Debianderivat.
Mich wuerde interessieren wo du das her hast/wer dir das empfohlen hat?
Ich meine, Du wirst das bestimmt nicht vor 7 oder 8 Jahren mal 
installiert haben und hast es seit dem nicht mehr genutzt...

Nimm dir z.B. openSUSE, Manjaro, Mint und alles wird gut

Autor: Günter Lenz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kaj schrieb:
>Mich wuerde interessieren wo du das her hast

Es ist ein ASUS Eee PC 4G, und das System war schon drauf
als ich ihn gekauft habe.

Autor: Stefan E. (attiny45) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
apt-get geht jetzt auch kuerzer: nur noch apt.
und vorm installieren imme rerst updaten. und wenn man schon beim 
updaten is, immer gleich alles auto upgraden lassen, mit -y fuer 
autoaccept.
also diese Reihenfolge:
'sudo su' damit man sich das daemliche nervige sudo vor jedem befehl 
spart....
dann:
'apt update; apt upgrade -y; apt install irgendwas'

naja, diese update und upgrade Zeugs mach ich so 1 mal in der Woche 
vielleicht. im alltag reicht dann:
'sudo su; apt install irgendwas'
also ich benutze seit vielen Jahren Linux Mint mit dem XFCE. absolut 
super Sache.
angefangen hab ich 2002 mit Suse Linux, dann zu Ubuntu KDE gewechselt, 
aber jetzt wie gesagt, seit vielen Jahren bei Linux Mint XFCE. in der 
Arbeit muss ich mich immer mit Windows 7 rumquaelen, furchtbar. zum 
Programmieren und zum Arbeiten generell is einfach Linux das beste.

Autor: Andreas B. (bitverdreher)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stefan E. schrieb:
> .....
viele interessante Dinge, die den TO nicht mehr interessieren dürfte.

Er hatte vor 4 Jahren ein Problem mit einem damals 8 Jahre altem Linux.

Autor: Rolf M. (rmagnus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stefan E. schrieb:
> also diese Reihenfolge:
> 'sudo su' damit man sich das daemliche nervige sudo vor jedem befehl
> spart....

Es ist nicht nötig, sich doppelt root-Rechte zu verschaffen. Ein sudo -s 
reicht voll und ganz.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.