Diskussion:Unix-Kommandos
aus Wikipedia, der freien Enzyklopädie
Da es mehr als ein Betriebssystem gibt, das den Namen Unix trägt, solltet ihr erst einmal definieren, was ihr unter Unix versteht.
Die Befehle unterscheiden sich zum Teil. AFAIR verwenden manche Unix-Systeme auch Gnu- (Linux) oder BSD-Kommandos. Der Name vieler Kommandos ist unter den Unix-en und Linux identisch, auch wenn sie eigenständig programmiert wurden. -- Kris Kaiser 18:35, 24. Aug 2003 (CEST)
- Man muss beachten,
- dass Unix ein markenrechtlich geschützter Name ist und
- dass es UNIX-Quellcode (von AT&T, evtl. BSD) und nicht UNIX-Quellcode gibt (GNU, Linux-Kernel)
- Unix-Systeme sind nach meinen Verständnis
- Systeme die unter dem von AT&T herausgebrachten UNIX-Versionen laufen
- Systeme die unter Lizenzen von UNIX laufen (AIX, Solaris, HP-UX, ...)
- andere Systeme sind keine Unix-Systeme (Linux, FreeBSD, ...)
- Unix-Kommandos sind demnach entweder
- Kommandos, die aus UNIX-Quellcode abgeleitet sind oder
- Kommandos, die auf vielen oder allen UNIX-Systemen laufen
- Kommandos, die man auf allen oder den meisten UNIX Systemen erwarten würde (BSD, mögl. GNU)
- Momentan gilt mit Einschränkungen (z.B. joe) die letzte dieser Definitionen
- Per Definition findet man die aufgeführten Kommandos natürlich dann auch auf Unix-Derivaten wie Linux
- Reine Linux Kommandos wie die ext2-Kommandos gehören dazu nicht. Ohne Erklärung, daß es sich um reine Linux Kommandos handelt, schon gar nicht. Da Linux definitionsgemäß nicht Unix ist, ist die Aufführung unter dem Titel Unix-Kommandos also eigentlich Thema verfehlt.
- Hubi 19:14, 24. Aug 2003 (CEST)
Jetzt war der Artikel doch so schön, und schon wieder erscheinen hier Linux-Kommandos. Diddi, bitte die ext2-Kommandos in die Seite wo's reingehört verschieben ext2 ist leider nicht Unix und gehört nicht hierher. Dafür gibts m. E. Linux-Befehle und Programme - Man könnte ja diesen Artikel ein bischen auf Vordermann bringen :-) Hubi 13:15, 24. Aug 2003 (CEST)
- Da sind doch lauter Befehle drin, die nicht Unix spezifisch sind. Z.B. die, wo GNU dabeisteht (Gnu's not Unix!)
- Ich finde es ziemlich unsinnig zwischen Unix- und Linux-Befehlen zu differenzieren. Vielmehr wäre es besser, eine Seite zu machen, auf der Kommandos für unixoide Systeme aufgelistet sind. Andernfalls bin ich mal auf geeignete Definitionen von Linux- und Unix-Kommandos gespannt, vor allem wie man die gegeneinander abgrenzt.
-
- Gerne, hier meine Definition (hoffentlich überzeugend, ich möchte hier nicht altklug erscheinen):
- Unix wurde von AT&T entwickelt und vertrieben. Daher sind alle Kommandos, die AT&T vertrieb per Definition UNIX-Kommandos (alle Kommandos V7 und System V).
- Alle anderen Kommandos sind also nicht Unix-Kommandos, sie laufen nur unter Unix
- BSD hat sich früher auch Unix genannt, die BSD-Erweiterungen (vi, rsh, rcp, sendmail) sind auf allen gängigen Unix-Systemen vorhanden. Mit Kennzeichnung also ok, aber diskussionsbedürftig.
- Jetzt zu GNU und anderen Unix Derivaten
- GNU nennt sich selbst Gnu is not Unix, hat aber die meisten Kommandos bzw. -optionen erweitert. Mit Kennzeichnung also akzeptabel. Die Kommandos laufen auf allen Unix-Systemen und sind oft installiert. Insgesamt auf einer Seite dieses Namens diskussionsbedürftig
- Alle Kommandos, die sich auf genau ein Unix-System oder ein Unix-Derivat beziehen sind nicht ok, schon gar nicht ohne Kennzeichnung. Was nützt einem Solaris-Benutzer z. B. iptables (war auch schon drin?). Dazu zählt auch Linux. Ohne Kennzeichnung nicht ok, mit Kennzeichnung meines Erachtens auch nicht ok.
- Gerne, hier meine Definition (hoffentlich überzeugend, ich möchte hier nicht altklug erscheinen):
- Der Titel der Seite Linux-Befehle und Programme ist ziemlich irreführend. Tatsächlich enthält es einen Vergleich zwischen unixoiden-Befehlen und Dos-Befehlen. Außerdem sind auf der Seite viele Befehle aufgelistet, die hier auch sind. Wie kann das sein, wenn es einen Unterschied zw. Linux- u. Unix-Befehlen gibt?
-
- Dann sollte ne bessere/eigene Seite gemacht werden, - siehe oben.
- Alle Unix-Derivate haben gleichen (aber nicht dieselben) Befehle.
- Wieso also die Frage?
- Außerdem, sieh mal bitte auf deine Diskussionsseite. --diddi 14:25, 24. Aug 2003 (CEST)
-
- hab ich schon, was soll das? Bitte sag mir welchen Editor ich verwenden soll oder wie ich das mit den Newlines auf die Reihe krieg Hubi 18:12, 24. Aug 2003 (CEST)
-
-
- Das sollte mit jedem Editor funktionieren. Nur werden bei dir die Zeilen umgebrochen. Aber so, wie du jetzt gerade schreibst passts wieder.
-
-
-
-
- Ich hab das Return in meinen Kopf, da ich meist vi benutze. Auch wenn ich hier direkt was eintipp, drück ich immer wieder auf Return :-) Hubi 20:53, 24. Aug 2003 (CEST)
-
-
- Ich sehe gerade, dass die Kommandos unter 1. auch Bash-spezifisch sind und haben nichts mit Unix geschweige den Unix-Kommandos zu tun (es sind Bash-Kommandos). --diddi 14:42, 24. Aug 2003 (CEST)
-
- Veto, es sind sh(V7)-Kommandos, wo ist da was Bash-spezifisches drin? Und die Korn-Shell macht das auch mit. Hast du überhaupt mal mit einer anderen Shell gearbeitet? Wie kommst du zu dieser Aussage, dass das nichts mit Unix zu tun hat?
-
-
- Ok, nicht Bash-spezifisch. Ich hatte nur "wc -l <test.dat 2>err.log" auf meiner csh ausprobiert und es funktionierte nicht. Es sollte dazugeschrieben werden, dass es sich um SH-Kommandos handelt (oder hab ich was übersehen?). Noch besser fände ich sogar, wenn man die Pipes etc. Abschnitte auf die Wikipedia Seite der entsprechenden Shell verlagert, denn diese Kommandos und Funktionen sind ja nicht in Unix sondern in der Shell implementiert.
-
-
-
-
- Genau, und dann fügen wir noch Variablen, Wildcards und if/while/for und 1-2 Beispiele hinzu und schon haben wir ne schöne kurze Shell-Einführung :-) Hubi 20:53, 24. Aug 2003 (CEST)
-
-
-
- Die anderen Kommandos sind ja als nicht-Unix gekennzeichnet. Ich möchte nochmal meinen Standpunkt darstellen (deswegen schmeiß ich die Befehle ja nicht gleich raus): GNU ist nicht Unix und Linux ebensowenig. Wenn also eine Seite Unix-Kommandos aufführt, man aber auch andere Kommandos reinbringt, muss man das zumindest so darstellen und rechtfertigen. Die ext2-Sachen sind reine Linux-Sachen also -> eigene Seite. Genaugenommen kann man eigentlich nur V7 und System V Kommandos als Unix bezeichnen. Die GNU-Dinger sind aber so wichtig geworden, daß man eigentlich nicht drum herumkommt, daher inklusive Erklärung auch auf diese Seite. Ich seh das vielleicht ein bischen zu kritisch, aber für mich ist die Aufführung von reinen Linux-Kommandos, dazu ohne Erklärung, wie wenn auf einer Seite über VW auch Audi (ist ja auch V.A.G) aufgeführt würde.
-
-
- Dann war es ein Mißverständnis meinerseits, da ich unter Unix eigentlich alle Unix-Derivate verstehe. Die ext-Kommandos gehören dann natürlich raus.
-
-
- Wenn auch Linux und dann vielleicht auch Solaris, OpenBSD-Kommandos aufgeführt werden, muss die Seite umbenannt werden. Dann sollte man sich überliegen, was die Seite leisten soll und ob man vielleicht mit mehreren Seiten besser bedient ist. Von der Unix-Seite referenziert sollten auch nur Unix-Kommandos rein, mit Kennzeichnung auch BSD/GNU. So ist die Seite gerade. Daneben wäre eine Referenz-Seite mit wichtigen Kommandos für Unix-Derivate nicht schlecht. Dies leistet die Seite derzeit nicht so richtig. Der Titel Unix-Kommandos ist für mich dann irreführend.
-
- Vielleicht sollte man eine zusätzliche Seite mit
- Unix-Kommandos - nur Kommandos im Unix-Sinn
- Unix, Linux und BSD-Kommandos (Titel diskussionsbedürftig) als Referenzseite, kurze Einführung erstellen.
- Vielleicht sollte man eine zusätzliche Seite mit
-
-
- Jepp, also eine Seite Unix-spezifisch und eine Seite für Unix-Derivate. Ich kenne leider nicht so viele Unix-Derivate, als dass ich sagen könnte, ob dafür genug Material da ist..... ?
-
-
-
- Titel müsste man sich noch überlegen.
-
-
- Auch eine Seite zur Einführung in Shell wär nicht schlecht. Teile sind ja auch schon hier, eigentliche fehlen nur noch (Umgebungs-)Variablen, Wildcards und Beispiele.
-
- Hubi 18:12, 24. Aug 2003 (CEST)
-
-
- Das kann man machen, aber ich finde das eigentlich überflüssig. Das hier ist ja ne Enzyklopädie und kein HOWTO und im Netz findet man viele Einführungen zur Shell. Überlegenswert aber finde ich es, eine Referenz zu den Kommandos einer Shell zu machen..... --diddi 19:23, 24. Aug 2003 (CEST)
-
-
-
-
- siehe oben, wir brauchen nicht mehr viel. Ich will ja auch keine allumfassende Shell-Einführung - ganz richtig passt das nicht in Wikipedia, aber nur 3 Abschnitte und schon langt's (noch ca. 1 DINA4-Seite genügt) Hubi 20:53, 24. Aug 2003 (CEST)
-
-
Wie wäre es mit folgendem Vorschlag: Diskussion Unix/Linux/nicht-Unix hin oder her - man erstellt einen Abschnitt (oder eigenen Artikel) "Kommandos, die auf allen "unixoiden Systeme" und unter allen Shells standardmäßig funktionieren", z.B. cat, wc, ls ...
Dann kann man noch entsprechende Abschnitte mit Kommandos für Unix / Linux / nicht-Unix_Linux einführen - aufgesplittet nach den versch. Shells.
Ein ganz anderer Ansatz: Man führt in einer Tabelle alle "unixoiden" Kommandos auf und markiert in entsprechenden Spalten (Kreuzchen), auf wlechen Systemen diese verfügbar sind. tsor 19:53, 24. Aug 2003 (CEST)
- Unter Unix-Kommandos sind die Kommandos ja eigentlich schon als V7/BSD/SystemV/GNU gekennzeichnet. An Shells gibts im wesentlichen die sh und csh-Linie, da wir nicht in die Tiefe gehen, braucht man die Shells nicht zu unterscheiden. Tom Christiansen (der von PERL) hat ein Essay geschrieben, warum man die C-Shell nicht zur Programmierung einsetzen sollte, also wäre Beschränkung bei Skriptspezifika auf sh (und damit auch ksh/bash) möglich.
- Also ich wär für folgendes:
- Wir lassen die Unix-Kommando Seite im Wesentlichen so, lassen aber nur UNIX/BSD/SYSTEMV/GNU-Kommandos zu. Die Einführung weist darauf ja schön hin, Linux ist ja auch GNU/Linux, d. h. wenn wir GNU zulassen, ist Linux z. T. schon berücksichtigt.
- Dann machen wir eine eigene Seite Kommandos auf UNIX-Derivaten (oder so) und können da Linux, OpenBSD, NetBSD, FreeBSD usw. behandeln (Material gäbe es genug)
- Die Pipe-Programmerung usw. nehmen wir aus UNIX-Kommandos raus und machen einen Artikel Unix-Shells (dazu hab ich noch relativ wenig gefunden), in den das Material übernommen wird. Wenn dazu noch die 3 Abschnitte Wildcards, Variablen und Kommandostrukturen kurz (!) erklärt werden und 2-3 Beispiele drin sind, ist's auch für eine Enzyklopädia in Ordnung.
- Hubi 20:53, 24. Aug 2003 (CEST)
-
- 1. stimme ich zu. 2. stimmt ich auch zu. Der Name schränkt es aber auf Kommandos ein, vielleicht wäre Befehle und Programme von Unix-Derivaten besser (analog zu Linux-Befehle und Programme oder ist der zu lang....? Achja, einen Teil von Linux-Befehle und Programme können wir ja dann nach "Befehle und Programme von Unix-Derivaten" (oder wieauchimmer der Name heißen wird) kopieren. Im Artikel Linux-Befehle und Programme bleibt dann der Vergleich zw. Linux und Dos-Befehlen stehen.... Wir können die entweder löschen, die Seite umbennen (der Titel passt nicht) oder wir kopieren es zu Unix-Kommandos (schlecht). 3. stimme ich zu, aber der Inhalt sollte nicht nach Unix-Shells kopiert, sondern nach bash oder sh. Die Unix-Shells sind ja untereinander nicht vollständig kompatibel (siehe obiges Bsp von mir). --diddi 19:57, 25. Aug 2003 (CEST)
-
-
- Ok, so machen wir's, der Titel Befehle und Programme von Unix-Derivaten gefällt mir sogar besser. Damit besteht weitgehend Übereinstimmung, was mich sehr freut.
-
-
-
- Zum Artikel Unix-Shells noch einige Anmerkungen:
- Zu C-Shell Skripting siehe C Shell programming considered harmful (by Tom Christiansen)
- sh/ksh/bash können im wesentlich gleich dargestellt werden. 99.9% der Beispiele laufen unverändert.
- >,>>,2>,>&,|,||,&& sind im wesentlichen gleich, für Einführung exakt gleich
- test,expr sind bei sh externe Kommandos, richtige Syntax verwenden, dann ok
- eingebaute Kommandos von sh (cd,read,export) für Einführung ausreichend und bei sh/bash auch vorhanden
- sh wird bei den init-Skripten verwendet
- Kontrollstrukturen: if,while,for reichen
- Zum Artikel Unix-Shells noch einige Anmerkungen:
-
-
-
- Ich würde daher einen Artikel vorschlagen, der für normale sh-Programmierung ausreicht (soll ja auch nicht zu lang sein, Interessierte finden auf Weblinks und Bücher ja weitere Inos). Im Enzyklopädischen Sinne kann der Artikel ja dann auch ein bischen Historie/Hintergrundinfos bieten. Er sollte auch die Schönheit der Shellprogrammierung rüberbringen. Schließlich war das Konzept eines einfachen User-level Programmes als Kommandointerpreter bei der Erfindung von Unix neu. Der Artikel könnte dann auf die Erweiterungen und Unterschiede von bash/ksh hinweisen. Diese führen aber für Einführungsartikel jedenfalls was Skripting angeht im Detail nach meiner Meinung zu weit (Arrayvariablen, Koroutinen)
-
- Thema verfehlt? Das Befehl und Kommando synonym sind, dürfte jedem einleuchten. Darunter verstehe ich aber keine eigenständigen Programme wie tar, ls, fsck etc. Man bedenke auch den eklatanten Unterschied von einem Shell-Kommando wie cd zu echo. Ersteres kann überhaupt nicht als eigenständiges Programm implementiert werden; bei letzterem ist dies abgesehen von eventuellen Performanzeinbußen völlig egal. Genauer gesagt, ist die Eingabe von "tar" ein Befehl an die Shell das entsprechende Programm auszuführen. Der Begriff „Unix-Kommando“ ist in meinen Augen daher völlig sinnlos. Nicht umsonst heißt der Artikel im Englischen „en:List of Unix programs“. Das POSIX überhaupt nicht auftaucht ist schon deshalb Schade, weil man sich damit die Diskussion um Linux vs. BSD vs. SysV etc. eigentlich sparen kann. --Cyclonus 00:02, 15. Jul 2005 (CEST)