Jargon file definitionEdit

Die Jargon File Version 4.4.7 listet dies als Definition von cat:

  1. auf, um eine ganze Datei ohne Pause auf den Bildschirm oder eine andere Ausgabesenke auszuspucken (syn. Blast).
  2. Durch Erweiterung, um große Datenmengen auf ein unvorbereitetes Ziel zu werfen oder ohne die Absicht, es sorgfältig zu durchsuchen. Verwendung: als albern. Selten außerhalb Unix-Sites. Siehe auch dd, BLT.,

Unter Unix-Fans gilt cat(1) als hervorragendes Beispiel für User-Interface-Design, da es den Dateiinhalt ohne solche Ausführlichkeit wie Abstand oder Header zwischen den Dateien liefert und weil es nicht erforderlich ist, dass die Dateien aus Textzeilen bestehen, sondern mit jeder Art von Daten arbeiten.

Unter Unix-Kritikern gilt cat(1) als kanonisches Beispiel für schlechtes User-Interface-Design, wegen seines wehmütig unauffälligen Namens. Es wird viel häufiger verwendet, um eine einzelne Datei in die Standardausgabe umzuwandeln, als zwei oder mehr Dateien zu verketten., Der Name cat für die ehemalige Operation ist genauso unintuitiv wie beispielsweise LISPS cdr.

Nutzlos Verwendung von catEdit

Unnützen Einsatz von cat – (UUOC) ist common Unix-jargon für die Kommandozeilen-Konstrukte, die nur eine Funktion der Bequemlichkeit für den Benutzer. Dies wird auch als „Katzenmissbrauch“bezeichnet. Die Aktivität zum Beheben von Instanzen von UUOC wird manchmal als Demoggifizierung bezeichnet., Beispiel für einen gemeinsamen cat Missbrauch wird in der Auszeichnung angegeben:

cat filename | command arg1 arg2 argn

Dies kann stattdessen mithilfe der Umleitung von stdin in einer der folgenden Formen neu geschrieben werden (die erste ist traditioneller):

 command arg1 arg2 argn < filename <filename command arg1 arg2 argn

Über andere Vorteile hinaus ermöglichen die Eingabeumleitungsformulare dem Befehl den zufälligen Zugriff auf die Datei, während die cat Beispiele nicht., Dies liegt daran, dass das Umleitungsformular die Datei als stdin-Dateideskriptor öffnet, auf den der Befehl vollständig zugreifen kann, während das Formular cat die Daten einfach als Byte-Stream bereitstellt.

Ein weiterer häufiger Fall, in dem cat unnötig ist, ist, dass ein Befehl standardmäßig auf stdin arbeitet, aber aus einer Datei liest, wenn der Dateiname als Argument angegeben wird., Die folgenden Beispiele

 cat "$file" | grep "$pattern" cat "$file" | less

können stattdessen als

 grep "$pattern" "$file" less "$file"

geschrieben werden Eine gemeinsame interaktive Verwendung von cat für eine einzelne Datei besteht darin, den Inhalt einer Datei in die Standardausgabe auszugeben. Wenn die Ausgabe jedoch weitergeleitet oder umgeleitet wird, ist cat nicht erforderlich.

Eine mit UUOC geschriebene cat kann aus Gründen der Lesbarkeit immer noch bevorzugt werden, da das Lesen eines Piped-Streams von links nach rechts möglicherweise einfacher zu konzipieren ist., Auch eine falsche Verwendung des Umleitungssymbols „>“ anstelle von „<“ (oft nebeneinander auf Tastaturen) kann den Inhalt einer Datei dauerhaft löschen, mit anderen Worten clobbering, und eine Möglichkeit, dies zu vermeiden, ist die Verwendung von cat mit Pipes. Vergleiche:

 command < in | command2 > out <in command | command2 > out

mit:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.