cat vs editor (gelöst)
cat vs editor (gelöst)
Welche Vorteile hat die Benutzung von cat gegenüber einem Konsoleneditor?
Zuletzt geändert von fischig am 03.08.2023 16:21:18, insgesamt 1-mal geändert.
Re: cat vs editor
Welche Vorteile hat die Benutzung eines Staubsaugers gegenüber eines Bügeleisens?fischig hat geschrieben:02.08.2023 11:53:40Welche Vorteile hat die Benutzung von cat gegenüber einem Konsoleneditor?
cat und Editor sind zwei so eklatant unterschiedliche Werkzeuge, daß man da kaum Parallelen ziehen kann, die man vergleichen könnte.
Re: cat vs editor
mit cat mach ich so Dinge wie:
aus Gewohnheit, um bspw. zu schaun, ob ein Wort in einer Datei ist.....
da muss ich mit vi ja dann /Wort reintippen, wenn die Datei offen ist, das ist mir da zu umständlich.....
schlaue Leute machen das nur mit grep
(Gewohnheit)
gruss
Code: Alles auswählen
cat dateiname |grep doener
da muss ich mit vi ja dann /Wort reintippen, wenn die Datei offen ist, das ist mir da zu umständlich.....
schlaue Leute machen das nur mit grep

gruss
-- nichts bewegt Sie wie ein GNU --
Re: cat vs editor
Useless use of cat:
Ohne cat:
Code: Alles auswählen
grep doener dateiname
Re: cat vs editor
das habe ich ja geschrieben, Gewohnheit....
(schlaue Leute machen das nur mit grep


-- nichts bewegt Sie wie ein GNU --
Re: cat vs editor
Beiden gemeinsam ist, dass man damit Dateiinhalte anschauen kann.fischig hat geschrieben:02.08.2023 11:53:40Welche Vorteile hat die Benutzung von cat gegenüber einem Konsoleneditor?
Die wesentlichen Vorteile von cat sind dabei, dass man:
1. mit cat nicht versehentlich Dateien kaputtmachen kann ( Es sei denn natürlich, man wird "kreativ": cat DATEI >! DATEI )
2. cat sich in Pipes einbauen lässt (s. debilians UUoC-Beispiel

die wesentlichen Nachteile sind, dass man:
1. mit cat keine Dateien bearbeiten kann
2. cat kein Syntaxhighlighting hat
Re: cat vs editor
Wenn man sehr schnelle Augen hathikaru hat geschrieben:02.08.2023 12:18:27Beiden gemeinsam ist, dass man damit Dateiinhalte anschauen kann.

Eine Datei mit hunderttausend Zeilen huscht dermassen schnell mit cat über den Bildschirm, daß man von "schauen" eigentlich nicht sprechen kann.
Useless use of cat?2. cat sich in Pipes einbauen lässt (s. debilians UUoC-Beispiel)
Code: Alles auswählen
cat Datei | less

Re: cat vs editor
Muesste die Frage nicht `cat' (plus Scrollen im Terminal) vs. `less' sein?
Ein relevanter Aspekt aus meiner Sicht: `cat' gibt Binaerzeichen unveraendert aus (wodurch man sich das Terminal zerschiessen kann), waehrend Pager und Editoren ueblicherweise Ersatzdarstellungen haben.
Ein relevanter Aspekt aus meiner Sicht: `cat' gibt Binaerzeichen unveraendert aus (wodurch man sich das Terminal zerschiessen kann), waehrend Pager und Editoren ueblicherweise Ersatzdarstellungen haben.
Use ed once in a while!
Re: cat vs editor
Gegen zerbröselte Terminals hilftMeillo hat geschrieben:02.08.2023 12:23:16`cat' gibt Binaerzeichen unveraendert aus (wodurch man sich das Terminal zerschiessen kann)
Code: Alles auswählen
stty sane

Re: cat vs editor
Danke debilian, danke hikaru, danke Meillo!
Auslöser meiner Frage war, dass ich hier häufig lese, dass Dateien, die ich unbedarfter Mensch mit einem Editor öffnen würde, von Leuten, die ich für deutlich kompetenter halte, häufig mit cat (ohne pipe) geöffnet werden. cat benutze ich eigentlich nie. Und da dachte ich mir: Vielleicht ist da ja noch was zu lernen
Gibt's weitere Anwendungsfälle/Vor- und Nachteile?
Auslöser meiner Frage war, dass ich hier häufig lese, dass Dateien, die ich unbedarfter Mensch mit einem Editor öffnen würde, von Leuten, die ich für deutlich kompetenter halte, häufig mit cat (ohne pipe) geöffnet werden. cat benutze ich eigentlich nie. Und da dachte ich mir: Vielleicht ist da ja noch was zu lernen

Gibt's weitere Anwendungsfälle/Vor- und Nachteile?
Re: cat vs editor
Dein Monitor ist einfach zu klein.MSfree hat geschrieben:02.08.2023 12:22:49Eine Datei mit hunderttausend Zeilen huscht dermassen schnell mit cat über den Bildschirm, daß man von "schauen" eigentlich nicht sprechen kann.

Ernsthaft:
Ich ging davon aus, dass fischig hier eher "einfache" Dateien betrachtet, wie z.B. die fstab oder die sources.list.
Manchmal ist das gar nicht so useless. Wenn ich z.B. lange Pipe-Konstrukte baue, dann schiebe ich da zu Testzwecken schon mal mit cat einen definierten Input rein, um zu schauen, ob die Pipe das macht was ich erwarte, bevor ich das eigentliche Input-Kommando davor setze.
Ja, ich könnte auch dem ersten Kommando der Pipe die Inputdatei als Argument übergeben, aber dann muss ich am Ende wieder daran denken, das rückgängig zu machen.
Ein cat-Output lässt sich einfacher in einem Forenpost verwurten, als der "Screenshot" (ob nun als Bild oder in ASCII) eines Editors. Es spart z.B. langatmige Erklärungen in Prosa.
Wenn ich z.B. ein Problem habe und gebeten werde, meine sources.list zu zeigen, dann kann ich entweder das posten und werde möglicherweise gefragt, ob das Alles ist:
Code: Alles auswählen
deb http://deb.debian.org/debian/ bookworm main contrib non-free-firmware
deb http://security.debian.org/debian-security bookworm-security main contrib non-free-firmware
deb http://deb.debian.org/debian/ bookworm-updates main contrib non-free-firmware
deb http://deb.debian.org/debian/ bookworm-backports main contrib non-free-firmware
Code: Alles auswählen
hikaru@t430:~$ cat /etc/apt/sources.list
deb http://deb.debian.org/debian/ bookworm main contrib non-free-firmware
deb http://security.debian.org/debian-security bookworm-security main contrib non-free-firmware
deb http://deb.debian.org/debian/ bookworm-updates main contrib non-free-firmware
deb http://deb.debian.org/debian/ bookworm-backports main contrib non-free-firmware
hikaru@t430:~$
Re: cat vs editor
Das liegt vielleicht auch einfach an einer Abweichung zwischen dem was die Leute beim Arbeiten machen und das was sie zur Demonstration im Forum posten.fischig hat geschrieben:02.08.2023 12:28:44Auslöser meiner Frage war, dass ich hier häufig lese, dass Dateien, die ich unbedarfter Mensch mit einem Editor öffnen würde, von Leuten, die ich für deutlich kompetenter halte, häufig mit cat (ohne pipe) geöffnet werden.

Im Normalfall weiss ich nicht wie gross/lange Textdateien sind, darum mache ich sie fast immer mit `less' auf, wenn ich sie anschauen will. (Selbst wenn ich sie spaeter ggf. bearbeiten will, da man aus `less' mit `v' direkt in den Editor/vi wechseln kann.)
Wenn ich aber eine Anleitung im Forum poste, dann kann ich `less' dabei nicht darstellen. Falls moeglich, verwende ich dann also `cat', weil ich dort die Terminalsession 1:1 posten kann. Das ist insbesondere bei Scriptingaufgaben der Fall, die oft kleine Test-Input-Dateien haben.
Ich denke, dass dieses Phaenomen der Hauptgrund fuer deine Wahrnehmung ist.
Edit: Ach, ich sehe gerade, dass hikaru das auch schon gepostet hat.

Use ed once in a while!
Re: cat vs editor
Aber du hast es verständlicher ausgedrückt.Meillo hat geschrieben:02.08.2023 13:00:45Edit: Ach, ich sehe gerade, dass hikaru das auch schon gepostet hat.

Re: cat vs editor
Und ich dachte an Logfiles, die durchaus sehr lang werden können. Daher ja auch die Bemerkung, daß cat und ein Editor zwei völlig unterschiedliche Dinge sind, die man kaum vergleichen kann.hikaru hat geschrieben:02.08.2023 12:47:24Ich ging davon aus, dass fischig hier eher "einfache" Dateien betrachtet, wie z.B. die fstab oder die sources.list.
Zumindest die Anzahl Bytes kann man leicht ermitteln, was einem eine grobe Einschätzung der Länge erlaubt. less wäre aber auch das Mittel meiner Wahl, mit dem man durch Dateien blättern, zum Anfang/Ende springen und nach Strings suchen kann, ohne deren Inhalt zu manipulieren.Meillo hat geschrieben:02.08.2023 13:00:45Im Normalfall weiss ich nicht wie gross/lange Textdateien sind, darum mache ich sie fast immer mit `less' auf
Nur, wenn ich weiß, daß eine Datei sehr kurz ist (sources.list, fstab, /ec/default/grub...) nutze ich auch mal cat oder zum Pipen in andere Programme. Einen Editor werfe ich nur an, wenn ich die Datei bearbeiten will.
Re: cat vs editor
Stimmt!hikaru hat geschrieben:Ich ging davon aus, dass fischig hier eher "einfache" Dateien betrachtet, wie z.B. die fstab oder die sources.list.
Und der Eindruck verstärkt sich, dass cat vor allem genutzt wird von Leuten, die ziemlich kompetent AN ihrem System arbeiten. Ich zähle mich nicht dazu und benutze cat auch nach über 20 Jahren Debian eigentlich nie. Und wenn ich dann in einem Beitrag sinngemäß lese: Poste mal „cat /etc/fstab“ und ich den TE erst mal so einschätze: „Oha, das wird langwierig, wenn's denn überaupt zu einer Lösung kommt,“ dann frage ich mich, ob's nicht für den leichter verständlich wäre, wenn er aufgefordert würde: „Mach mal mal nano /etc/fstab“. Ob der je schon von cat gehört/gelesen hat?
Vielleicht schließe ich, was die Einschätzung des skizzierten Fragestellers betrifft, aber auch zu sehr von mir auf andere. Vielleicht gilt auch: „Wenn der mit cat nichts anzufangen weiß, wird das eh nichts.“

- cosinus
- Beiträge: 4614
- Registriert: 08.02.2016 13:44:11
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: Bremen
Re: cat vs editor
Hat hier jemand ernsthaft einem TO vorgeschlagen, er solle mit cat z.B. auf /var/log/syslog gehen und die Ausgabe posten?MSfree hat geschrieben:02.08.2023 13:22:30Und ich dachte an Logfiles, die durchaus sehr lang werden können.
Da ich erst letztens einem TO was mit cat vorschlug: das bezog sich auf die sources.list; mit cat den Inhalt ausgeben und dann eben die Ausgabe aus dem Terminal kopieren und ins Forum einfügen. @hikaru hat es ganz genau wiedergegeben

Re: cat vs editor
- cat ist auf jedem System installiert, nano nicht.fischig hat geschrieben:02.08.2023 13:56:39Und wenn ich dann in einem Beitrag sinngemäß lese: Poste mal „cat /etc/fstab“ und ich den TE erst mal so einschätze: „Oha, das wird langwierig, wenn's denn überaupt zu einer Lösung kommt,“ dann frage ich mich, ob's nicht für den leichter verständlich wäre, wenn er aufgefordert würde: „Mach mal mal nano /etc/fstab“.
- cat beendet sich automatisch, bei nano muss man irgendwas eingeben, um wieder rauszukommen.
- Fuer Personen, die beide Programme nicht kennen ist cat einfacher zu verstehen und lernen als nano.
- Personen, die cat nicht kennen, verwenden meist auch nicht nano, sondern einen grafischen Editor.
- Wie kopiert man bei nano die Ausgabe wenn sie nicht auf eine Bildschirmseite passt? Bei cat ist das in der Regel kein Problem.
Ich denke, dass deine Sichtweise speziell fuer deine Situation ist, im Allgemeinen aber der Ansatz mit cat sinnvoller ist.
Use ed once in a while!
Re: cat vs editor
Das Äquivalent unter DOS/Windows heißt type, kennen aber vermnutlich genauso wenige.
Re: cat vs editor
Bei deinem hypothetischen TE hätte ich neben der bereits genannten Punkte die "Befürchtung", einen Screenshot in Form eines Bildes von nano zu bekommen, während ich mir bei cat höhere Chancen ausmalen würde, ein ASCII-Zitat der Ausgabe zu kriegen.fischig hat geschrieben:02.08.2023 13:56:39„Mach mal mal nano /etc/fstab“. Ob der je schon von cat gehört/gelesen hat?
- cosinus
- Beiträge: 4614
- Registriert: 08.02.2016 13:44:11
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: Bremen
Re: cat vs editor
Das hierMSfree hat geschrieben:02.08.2023 14:26:58Das Äquivalent unter DOS/Windows heißt type, kennen aber vermnutlich genauso wenige.
Code: Alles auswählen
copy datei.txt con

Re: cat vs editor
Soweit mir bekannt, wird nano bei jeder Debian-Installation installiert.Meillo hat geschrieben:- cat ist auf jedem System installiert, nano nicht.
Guter Punkt! Deswegen musste ich mich in der Anfangszeit mit vi* beschäftigen und war heilfroh als es neben mcedit auch nano gab.Meillo hat geschrieben:- Wie kopiert man bei nano die Ausgabe wenn sie nicht auf eine Bildschirmseite passt?

Das stimmt auch, soweit es um mich geht. Aber mein Auslöser für diesen Thread war eher der Versuch, mich in einen Anfänger hineinzudenken, der aufgefordert wird, eine der zentralen - und in der Regel nicht allzu langen config-Dateien zu posten.Meillo hat geschrieben:Ich denke, dass deine Sichtweise speziell fuer deine Situation ist
Das bezweifle ich, zumindest wenn ich „nano“ durch „Konsoleneditor“ ersetze. Wer ernsthaft mit Debian arbeiten will, wird, auch wenn er nicht tiefer am Debian arbeiten will, um einen Konsoleneditor nicht herumkommen. Und ich denke, das ist auch gut so, weil's für mich Debian ausmacht.Meillo hat geschrieben:- Fuer Personen, die beide Programme nicht kennen, ist cat einfacher zu verstehen und lernen als nano.
Skeptischer bin ich was die Förderung der Bewältigung administrativer Probleme mittels grafischem Editor durch Dinge wie pkexec, polickit, etc. angeht. Aber das ist ein neues Fass und da fühle ich mich auch nicht sonderlich kompetent.
Eher abschließend: Ob man einem Anfänger gegenüber durch die Ersetzung von cat durch nano viel gewinnt, weiß ich auch nicht. Ich wollt's halt mal angedacht haben.
edit2: Streichung
Zuletzt geändert von fischig am 02.08.2023 15:15:35, insgesamt 2-mal geändert.
- cosinus
- Beiträge: 4614
- Registriert: 08.02.2016 13:44:11
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: Bremen
Re: cat vs editor
Vorschlag:
Man könnte den TOs ja auch sagen, sie sollen ihre sources.list da hochladen und im Beitrag verlinken. Allerdings müsste der Admin dann Dateien mit der Endung .list erlauben
Man könnte den TOs ja auch sagen, sie sollen ihre sources.list da hochladen und im Beitrag verlinken. Allerdings müsste der Admin dann Dateien mit der Endung .list erlauben

Re: cat vs editor
dafür nehme ich:MSfree hat geschrieben:02.08.2023 12:22:49Eine Datei mit hunderttausend Zeilen huscht dermassen schnell mit cat über den Bildschirm, daß man von "schauen" eigentlich nicht sprechen kann.
Code: Alles auswählen
cat dateiname |more

-- nichts bewegt Sie wie ein GNU --
- cosinus
- Beiträge: 4614
- Registriert: 08.02.2016 13:44:11
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: Bremen
Re: cat vs editor
Und wenn du nur das Ende der Datei sehen willst nimmst du bestimmt
richtig? 
Code: Alles auswählen
cat $FILE | tail

Re: cat vs editor
nö, dann
z.B.

- aber grundsätzlich hast du recht, falsche Nutzung von cat und more bei mir.....
Code: Alles auswählen
tail -n 100

- aber grundsätzlich hast du recht, falsche Nutzung von cat und more bei mir.....
-- nichts bewegt Sie wie ein GNU --