Forum: PC-Programmierung Eingaben in eine Datei umleiten


von Günter Lenz (Gast)


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?

von Programmierer (Gast)


Lesenswert?

cat > datei.txt

Und abschliessen mit Strg +D

von Günter Lenz (Gast)


Lesenswert?

Vielen Dank.
Werde ich gleich mal ausprobieren.

von min (Gast)


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

von flexibel (Gast)


Lesenswert?

1
guest@porteus:~$ cd /tmp
2
guest@porteus:/tmp$ echo "eins" >foo
3
guest@porteus:/tmp$ echo "zwei" >>foo
4
guest@porteus:/tmp$ cat foo
5
eins
6
zwei
7
guest@porteus:/tmp$ echo "drei" >foo
8
guest@porteus:/tmp$ cat foo
9
drei
10
guest@porteus:/tmp$ 
11
guest@porteus:/tmp$ # > überschreibt datei >> hängt an
12
guest@porteus:/tmp$


Zum copy/paste ohne den promt-output:
1
cd /tmp
2
echo "eins" >foo
3
echo "zwei" >>foo
4
cat foo
5
echo "drei" >foo
6
cat foo
7
8
# > überschreibt datei >> hängt an

von Günter Lenz (Gast)


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?

von Malte S. (maltest)


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.

von Günter Lenz (Gast)


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.

von Andreas B. (bitverdreher)


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

von Malte S. (maltest)


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
von Günter Lenz (Gast)


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.

von Andreas B. (bitverdreher)


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

von Rolf M. (rmagnus)


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:
1
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.

von Günter Lenz (Gast)


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.

von Ich (Gast)


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.

von Malte S. (maltest)


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.

von Rolf M. (rmagnus)


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.

von Günter Lenz (Gast)


Lesenswert?

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

von Kaj (Gast)


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

von Günter Lenz (Gast)


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.

von Stefan E. (attiny45) Benutzerseite


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.

von Andreas B. (bitverdreher)


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.

von Rolf M. (rmagnus)


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.