home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / prgtools / cli / oscli10x.zoo / command.txt < prev    next >
Encoding:
Text File  |  1992-02-02  |  54.0 KB  |  1,594 lines

  1. Anleitung zum Kommandozeileninterpreter Version 1.0x
  2. (c) Oliver Scholz, Februar 1992
  3.  
  4. In eigener Sache
  5. ----------------
  6.  
  7. Lieber Benutzerin, lieber Benutzer!
  8.  
  9. Das vorliegende Programm ist SHAREWARE. Das bedeutet, daß es
  10. weiterkopiert werden kann und soll! Man kann es allen seinen Freunden
  11. weitergeben und die wieder ihren Freunden u.s.w.
  12. Es dürfen aber nur alle Dateien komplett kopiert werden, d.h.
  13.  
  14. OSCLI\DOKU\
  15.       COMMAND.TEX       LaTeX-Version dieser Anleitung
  16.       COMMAND.TXT       ASCII-Version dieser Anleitung
  17.       REVISION.TXT      Entwicklungsgeschichte
  18. OSCLI\DOKU\STYLES
  19.       A4WIDE.STY        LaTeX-Style für DIN A4 Seitenformat
  20. OSCLI\ETC\
  21.       PASSWD            Passwort Beispieldatei
  22.       TERMCAP           Terminalsteuersequenzen Beispieldatei
  23.  
  24. OSCLI\
  25.       COMMAND.PRG       Ausführbare CLI Programmdatei
  26.       LOGIN.PRG         Ausführbare LOGIN Programmdatei
  27.        
  28. Es darf in den Dateien nichts verändert werden! Ausgenommen sind
  29. Layoutänderungen beim Ausdruck der Textdateien. Auf Wunsch kann bei
  30. mir auch noch eine englische Übersetzung der Dokumentation bestellt
  31. werden.
  32.  
  33. Wer das Programm benutzt sollte mir 30 DM überweisen, als Anerkennung
  34. für meine Mühe. Damit werdet ihr automatisch registrierter Benutzer
  35. und könnt euch bei auftretenden Problemen und Fragen schriftlich an mich
  36. wenden. Registrierte Benutzer bekommen jederzeit gegen eine formatierte 3,5"
  37. Diskette und einen selbstadressierten, frankierten Rückumschlag die neueste
  38. Version.
  39.  
  40. Ohne mein (schriftliches) Einverständnis darf das Programm nicht in einen
  41. Public Domain Vetrieb aufgenommen werden. Denn wer für ein Programm schon
  42. 10-15 DM plus Porto und Nachnahme bezahlt hat, sieht nicht ein, sich auch
  43. noch für 30 DM registrieren zu lassen.
  44.  
  45. Dieses Programm ist im Laufe von eineinhalb Jahren 
  46. entstanden und ich habe unzählige Stunden daran gearbeitet.
  47. Darum möchte ich darum bitten, mir obigen Betrag auch zu überweisen,
  48. wenn ihr mit diesem Programm arbeitet.
  49.  
  50. Das Programm ist zu 100 Prozent in Assembler geschrieben. Das erklärt
  51. seine Geschwindigkeit, aber auch seine Kompaktheit. Schließlich sind
  52. über 60 Befehle eingebaut, d.h. es fallen bei diesen Befehlen keine Ladezeiten
  53. an.
  54. Und nicht jeder hat 2 oder 4 Megabytes und will davon über 100 KB für eine
  55. riesige, langsame Shell verbraten, nur weil diese in C geschrieben ist und sich
  56. enorme Hashtables anlegt. Der CLI ist unter 40K lang und reserviert sich auch
  57. nicht viel mehr. Nur einige KBytes für die Alias und Environments.
  58.  
  59. Mein Dank gilt hier Marcus, der diese Anleitung geLaTeXt und auch sonst
  60. mit konstruktiver Kritik nicht gespart hat.
  61.  
  62. Den Assembler, mit dem der CLI geschrieben ist, habe ich auch selbst
  63. entwickelt, und wenn das Sharewarekonzept klappt, mache ich den auch zu
  64. Shareware. Also noch ein Grund, sich registrieren zu lassen.
  65. Helft mit, das Sharewarekonzept zu einem Erfolg zu machen, wie in den USA.
  66.  
  67. Meine Bankverbindung:
  68.       
  69.                       Postgiroamt 2000 Hamburg
  70.                       Bankleitzahl 200 100 20
  71.                       Kontonummer 3457 42-203
  72.  
  73. Vergesst bitte nicht, euren Namen,Adresse und das Stichwort CLI mit auf
  74. das Überweisungsformular zu schreiben, sonst weiß ich nicht, woher das
  75. Geld gekommen ist.
  76.  
  77. Ihr könnt das Geld auch in einen Umschlag stecken:
  78.  
  79.                       Oliver Scholz
  80.                       Garstedter Weg 226
  81.                       Postfach 61 02 29
  82.                       2000 Hamburg 61
  83.  
  84. Auf elektronischem Wege bin ich an der Universität Erlangen über die
  85. Adresse
  86.  
  87.            orscholz@faui43.informatik.uni-erlangen.de
  88.  
  89. oder "uber Marcus'  folgende e-mail Adressen zu erreichen:
  90.  
  91.            uucp      marcus@drdhh.hanse.de
  92.            Zerberus  MARCUS_OLK@LINK-HH.ZER
  93.  
  94. Er wird auflaufende Nachrichten dann an mich weiterleiten.
  95.  
  96. Meine Telefonnummer gebe ich am besten gar nicht erst an, weil ich ohnehin
  97. fast nie zuhause bin, und auch nicht morgens um sieben schon von den ersten
  98. Leuten aus dem Bett geholt werden möchte. Bitte versteht das.
  99.  
  100. Fast hätte ich's vergessen:
  101.  
  102. DISCLAIMER/HAFTUNGSAUSSCHLUSS:
  103.  
  104. Das Programm wurde sorgfältig entwickelt und getestet. Trotzdem sind, wie
  105. es bei Software üblich ist, Fehler nicht auszuschließen.
  106. Der Autor sieht sich daher gezwungen, darauf hinzuweisen, dass keine Garantie
  107. für das fehlerfreie Funktionieren dieses Programmes übernommen werden kann,
  108. noch für irgendwelche Schäden, die aus Fehlern im Programm oder durch Fehlbe-
  109. dienung entstehen, gehaftet wird.
  110.  
  111. Mit dem Starten des Programmes werden diese Bedingungen anerkannt.
  112. So, und jetzt viel Spass mit dem Programm.
  113.  
  114. Hamburg im Januar 1992                                           Oliver Scholz
  115.  
  116.  
  117.  
  118. Einleitung
  119. ----------
  120.  
  121. Neben dem GEM-Desktop stellt ein Kommandozeileninterpreter (CLI) eine weitere 
  122. Möglichkeit dar, mit dem ST zu kommunizieren. Hierbei werden die Kommandos 
  123. nicht mit der Maus angewählt, sondern die Befehle mit Namen eingegeben.
  124.  
  125. Es werden dabei zwei verschiedene Arten von Befehlen unterschieden: 
  126. Residente und nichtresidente Befehle. Die residenten Befehle sind im CLI 
  127. eingebaut, d.h. sie stehen nach dem Laden unmittelbar zur Verfügung.
  128. Nichtresidente Befehle dagegen befinden sich auf Diskette bzw. Festplatte und 
  129. werden erst von dort geladen. Der Vorteil dabei ist, daß Befehle, die der
  130. CLI nicht enthält, selbst geschrieben werden können, und somit der CLI quasi 
  131. erweitert werden kann.
  132. Ein weiterer Vorteil eines CLI ist die Möglichkeit Batchdateien abzuarbeiten, 
  133. d.h. festgelegte Kommandofolgen mit einem Befehl abarbeiten zu lassen.
  134.  
  135. Die Benutzung der, vom TOS unterstützten, Environmentvariablen ist
  136. beim Arbeiten mit dem Desktop leider nicht möglich. Dies ist schade, denn
  137. sie bieten dem Benutzer u.a. die Möglichkeit seine persönliche
  138. Benutzerumgebung besser zu strukturieren. Ein weiterer Vorteil eines CLI ist
  139. also, daß eben diese Environmentvariablen problemlos definier- und
  140. ansprechbar sind.
  141.  
  142.  
  143. Das Arbeiten mit dem CLI
  144. ------------------------
  145.  
  146. Auch wenn zwischen residenten und nichtresidenten Befehlen unterschieden wird, 
  147. ist dieser Unterschied für den Benutzer kaum merklich. Erst wenn die Diskette 
  148. bzw. Festplatte anläuft, merkt man, daß ein Befehl nichtresident ist.
  149. Nach dem Starten meldet sich der CLI mit dem sogenannten Prompt, der z.B.
  150. so aussehen könnte: `C:>'.
  151. Wann immer der CLI diesen Prompt ausgibt, ist er bereit einen Befehl 
  152. entgegenzunehmen. Dieser Prompt kann aber auch umdefiniert werden. Siehe
  153. dazu Abschnitt 'PROMPT'.
  154.  
  155. Eine Kommandozeile besteht aus einem Befehl und optionalen Parametern, die 
  156. voneinander durch ein oder mehrere Leerzeichen getrennt sind. Zunächst testet 
  157. der CLI, ob es sich bei dem Befehl um einen residenten Befehl handelt. Ist das 
  158. der Fall, so wird der Befehl sofort ausgeführt. Handelt es sich jedoch um
  159. einen nicht eingebauten Befehl, so wird auf dem aktuellen Verzeichnis nach
  160. einer Datei gleichen Namens gesucht, und diese geladen.
  161. Wurde keine Extension angegeben, so versucht der CLI zunächst die Extension 
  162. '.PRG', dann der Reihe nach '.TOS', '.TTP', '.APP' und schließlich '.BAT'.
  163. Hatte keiner dieser Versuche Erfolg, so wird die Meldung 
  164.  
  165. 'Command or file not found!'
  166.  
  167. ausgegeben. Ist die Environmentvariable PATH vorhanden, so werden auch die
  168. darin angegebenen Pfade durchsucht, bevor die Meldung ausgegeben wird.
  169. Groß-/Kleinschreibung spielt bei der Befehlseingabe übrigens keine Rolle.
  170.  
  171.  
  172. Die HOME-Abkürzung in Pfaden
  173. -----------------------------
  174.  
  175. Das Tilde-Zeichen ('~') in einem Pfad steht für das Homedirectory
  176. des jeweiligen Benutzers. Der CLI ersetzt dieses Zeichen also durch den
  177. Inhalt der Environmentvariablen HOME. Zum Beispiel:
  178.  
  179.   cp tst.txt  ~\txt\
  180.  
  181. wäre gleichbedeutend mit
  182.  
  183.   cp tst.txt $HOME\txt\
  184.  
  185. oder, wenn HOME=e:\usr\olav\, auch
  186.  
  187.   cp tst.txt e:\usr\olav\txt\
  188.  
  189.  
  190. Wildcards und Dateinamen unter TOS
  191. ----------------------------------
  192.  
  193. Wenn im folgenden von wildcards die Rede ist, so ist damit
  194. die Möglichkeit gemeint, Dateinamen unvollständig zu spezifizieren.
  195. Einzelne Zeichen in Dateinamen können gegen ein Fragezeichen (`?')
  196. und ganze Zeichenketten durch einen Stern (`*') ersetzt werden.
  197. Dabei besteht ein Dateiname aus 8 Zeichen plus 3 optionalen, durch einen
  198. Punkt getrennten Zeichen, auch Extension genannt. Also beispielsweise
  199. filename.ext.
  200.  
  201. Es ist jedoch zu beachten, wie die beiden Wildcard-Zeichen von TOS
  202. interpretiert werden. Wird in einem Dateinamen ein Stern verwendet, so
  203. füllt TOS bis zum Punkt mit Fragezeichen auf, d.h. alle Zeichen nach einem
  204. Stern bis zum Punkt werden ignoriert!
  205.  
  206. Besondere Vorsicht bei der Verwendung von Wildcards ist also bei 
  207. Löschoperationen geboten. Fatale Folgen könnte folgende Anweisung haben:
  208.  
  209.   rm *abc.*
  210.  
  211. TOS interpretiert dies als
  212.  
  213.   rm *.*
  214.  
  215. Was das bedeuten kann, ist wohl jedem klar. Also Vorsicht!!!
  216.  
  217.  
  218. Batchdateien
  219. ------------
  220.  
  221. Eine Batchdatei dient dazu, eine oft benutzte Befehlsfolge zu automatisieren. 
  222. Soll z.B. die Befehlsfolge 
  223.  
  224.   date
  225.   time
  226.  
  227. zusammen ausgeführt werden, so schreibt man mit einem Editor eine Textdatei,
  228. die in der ersten Zeile 'date' und in der zweiten Zeile 'time' enthält. 
  229. Nennt man diese Datei z.B. DATETIME.BAT, so wird bei Eingabe von 'datetime.bat'
  230. automatisch die Befehlsfolge 'date time' ausgeführt. Es ist auch möglich, einer 
  231. Batchdatei max. 10 Parameter zu übergeben. Die Parameter werden in der 
  232. Kommandozeile durch Leerzeichen voneinander getrennt. Der erste Parameter 
  233. heißt %1, der zweite %2, u.s.w. und der zehnte %0. Taucht in der 
  234. Batchdatei dann %1 auf, so wird %1 durch den Parameter in der
  235. Kommandozeile ersetzt. 
  236. Soll das '%' dargestellt werden, so wird es einfach verdoppelt: '%%'. Lautet 
  237. die Batchdatei 'TEST.BAT' etwa: 'echo %1', so bewirkt die Kommandozeile
  238. 'test Hallo', daß auf dem Bildschirm 'Hallo' ausgegeben wird.
  239.  
  240. Mit Batchdateien lassen sich z.B. Compiler-/Linkerläufe automatisieren:
  241.  
  242.   compiler %1.c %1.o
  243.   linker %1.prg=startup,%1.o,lib
  244.  
  245. Wird diese Batchdatei 'C.BAT' genannt, so bewirkt 'c test', daß die 
  246. Befehlsfolge
  247.  
  248.   compiler test.c test.s
  249.   linker test.prg=startup,test.o,lib
  250.  
  251. abgearbeitet wird. Als besonderer Clou kann der CLI auch selbst eine 
  252. Kommandozeile übernehmen. 
  253. Diese kann dann z.B. der Name einer Batchdatei sein, die nach dem Starten 
  254. des CLI automatisch abgearbeitet wird. Damit ist es vom Desktop aus
  255. z.B. möglich, COMMAND.PRG als Anwendung anzumelden, und zwar mit der
  256. Extension '.BAT'. Wird dann 'C.BAT' doppelt angeklickt, so startet der
  257. CLI automatisch und arbeitet die entsprechende Batchdatei ab.
  258.  
  259. Wird keine Kommandozeile angegeben, so sucht der CLI nach einer Batchdatei 
  260. 'AUTOEXEC.BAT', die, sofern vorhanden, ebenfalls automatisch abgearbeitet 
  261. wird. In dieser Datei kann man den CLI nach eigenen Wünschen einstellen, z.B. 
  262. mit 'prompt &p&g' wird der Prompt so eingestellt, daß er das aktuelle 
  263. Laufwerk und Pfad gefolgt vom '>' ausgibt.
  264.  
  265. Des weiteren ist es möglich, rekursive Batchdateien zu verwenden, d.h. eine 
  266. Batchdatei kann eine weitere Batchdatei aufrufen.
  267. Dabei kann auf Parameter übergeordneter Batchdateien zugegriffen werden.
  268. Die Abarbeitung einer Batchdatei kann mit Ctrl-C abgebrochen werden.
  269.  
  270.  
  271. Ein- /Ausgabe Umleitung
  272. -----------------------
  273.  
  274. Die Ausgabe aller eingebauten Befehle erfolgt normalerweise auf den 
  275. Bildschirm, aber es kann manchmal gewünscht sein, Ausgaben auf den Drucker 
  276. oder in eine Datei auszugeben.
  277.  
  278. Dazu wird an das Ende der eigentlichen Kommandozeile '>dateiname'
  279. angefügt. 
  280. Damit wird eine Datei 'dateiname' angelegt und die Ausgabe des Befehls in 
  281. diese Datei geschrieben. Als Dateiname sind hier auch 'AUX:' und 'PRN:' 
  282. zulässig. Damit kann die Ausgabe auch auf den Drucker bzw. die serielle 
  283. Schnittstelle umgelenkt werden. Ist die Datei 'dateiname' schon vorhanden,
  284. so wird sie gelöscht, und eine neue Datei eröffnet. Soll an eine bestehende 
  285. Datei angehängt werden, so wird statt '>dateiname' der Befehl 
  286. '>>dateiname' an die Kommandozeile angehängt.
  287.  
  288. Es ist auch möglich die Eingabe von einer Datei vorzunehmen. Dazu wird an die 
  289. Kommandozeile '<dateiname' angehängt. Hier ist wieder auch
  290. 'AUX:' zugelassen, nicht aber 'PRN:'.
  291.  
  292. Benutzt ein Programm die Fehlerausgabe (stderr), so kann auch diese
  293. umgeleitet werden, und zwar mit '2>dateiname' bzw. '2>>dateiname'.
  294. Hier sind ebenfalls 'AUX:', 'PRN:' und 'CON:' zulässig.
  295.  
  296. Allerdings funktioniert die I/O-Umlenkung nicht bei allen TOS-Versionen 
  297. fehlerfrei. Erst ab TOS Version 1.4 sollte es fuktionieren.
  298.  
  299.  
  300. Pipes
  301. -----
  302.  
  303. Eine Pipe ist ein sehr angenehmes Mittel zur Kommunikation zwischen
  304. verschiedenen Programmen. Oft ist es gewünscht, die Ausgabe eines Programmes
  305. mit einem anderen Programm weiterzuverarbeiten. Eine Pipe gibt die Ausgabe,
  306. die ein Programm oder Befehl auf den Bildschirm (eigentlich 'stdout')
  307. schreiben will, an ein anderes Programm weiter, das diese Ausgabe als
  308. Eingabe akzeptiert. Eine Pipe ist also eine Art gleichzeitige Ausgabe- und
  309. Eingabeumlenkung mit verschiedenen Programmen.
  310. Das Zeichen, das diese Umlenkung vornimmt, ist der senkrechte Strich ('|').
  311. Soll z.B. die Fehlerliste eines C-Compilers auf eine Datei umgelenkt werden,
  312. so kann diese recht lang werden, und meist hängt ein Großteil der Fehler
  313. vom ersten Fehler ab. So kann man die Ausgabe durch eine Pipe an
  314. HEAD schicken, der nur die ersten paar Fehlermeldungen ausgibt:
  315.  
  316.   compiler | head -25
  317.  
  318. So schreibt der Compiler nur noch die ersten 25 Fehlermeldungen auf den
  319. Bildschirm. Man kann diese Ausgabe nun weiter in eine Datei umlenken:
  320.  
  321.   compiler | head -25 >errors
  322.  
  323. Nun enthält 'errors' die ersten 25 Fehlermeldungen. Sollen die Fehlermeldungen
  324. nur seitenweise ausgegeben werden und der Compiler hält nicht an, so kann
  325. die Ausgabe an MORE geschickt werden:
  326.  
  327.   compiler | more
  328.  
  329. Nun erfolgt die Ausgabe seitenweise, als hätte man:
  330.  
  331.   compiler >temp
  332.   more temp
  333.   del temp
  334.  
  335. eingegeben. Damit diese Umleitung funktioniert muß die Ausgabe die in eine
  336. Pipe geschickt werden soll natürlich auch umlenkbar sein, d.h. das Programm
  337. muß seine Ausgaben auf 'stdout' machen.
  338.  
  339. Sollen mehrere Befehle in einer Kommandozeile ausgeführt werden, ohne daß
  340. eine Pipe geöffnet wird, so müssen diese jeweils durch Semikolon getrennt
  341. werden.
  342.  
  343. Die Befehls Stopuhr
  344. -------------------
  345.  
  346. Wird eine Kommandozeile mit einem 'Klammeraffen' (@) begonnen, so wird eine
  347. interne Stopuhr gestartet und die Zeit zur Ausführung der Zeile
  348. gestoppt. So kann bequem bestimmt werden, wie lange z.B. ein
  349. Compiliervorgang dauert.
  350.  
  351.  
  352. Die History-Funktion
  353. --------------------
  354.  
  355. Der CLI merkt sich immer die letzten 20 Befehlszeilen, und diese können über 
  356. die Cursortasten (auf/ab) wieder abgerufen werden. Das ist sinnvoll, wenn man 
  357. einen zuvor benutzten Befehl noch einmal benutzen möchte, ohne ihn neu 
  358. eingeben zu müssen.
  359.  
  360. Diese Befehle können auch ggf. editiert werden. Eine weitere Möglichkeit,
  361. die letzten Befehle zu sehen und 
  362. auszuführen, ist der Befehl HISTORY. Damit werden die letzten Befehle 
  363. ausgegeben und jeweils mit einer Nummer versehen. Mittels Ausrufezeichen 
  364. können diese Befehle nun angesprochen werden, und zwar auf zwei verschiedene
  365. Arten:
  366.  
  367.   o '!5', würde z.B. den 5. Befehl ausführen, der nach Starten
  368.     des CLIs eingegeben wurde, sofern sich dieser Befehl noch im
  369.     History-Puffer befindet.
  370.  
  371.   o '!cc' würde den letzten Befehl, der mit 'cc' beginnt und
  372.     sich noch im History-Puffer befindet, ausführen.
  373.  
  374.  
  375. Editieren der Eingabezeile
  376. --------------------------
  377.  
  378. Eingegebene Zeichen werden dort eingefügt, wo sich der Cursor befindet. Sind 
  379. noch Zeichen rechts vom Cursor, so werden diese Zeichen nach rechts 
  380. verschoben.
  381.  
  382. Die Befehle, die zum Editieren der Kommandozeile zur Verfügung stehen, zeigt
  383. Tabelle 1. Eine genauere Erläuterung verlangt wohl die Dateinamensuche:
  384.  
  385. Es ist manchmal ganz hilfreich, dem Rechner die Suche nach einem
  386. komplizierten Dateinamen zu überlassen. Dazu gibt man eine unvollständige
  387. Dateinamenspezifikation an und drückt entweder die TAB-Taste oder
  388. die Tastenkombination Ctrl-U (unknown). Nun durchsucht der CLI
  389. das aktuelle Verzeichnis nach dem ersten Eintrag, der auf die angegebene
  390. Spezifikation paßt und gibt ihn auf dem Schirm aus. Ist dies nicht der
  391. gewünschte Eintrag, so kann man die Suche mit der Insert-Taste oder der
  392. Tastenkombination Ctrl-O (other) fortführen. Kann kein weiterer Eintrag mehr
  393. gefunden werden, so bleibt der letzte gefundene Eintrag in der Kommandozeile
  394. stehen.
  395.  
  396. Da das links vom Cursor stehende Wort als Suchspezifikation benutzt
  397. wird, bewirkt zweimaliges Drücken der TAB-Taste bzw. Ctrl-U, daß der
  398. erste gefundene Dateiname mit dem zweiten Drücken als, nun vollständige,
  399. Suchspezifikation interpretiert wird. Dadurch wird i.d.R. bei weiterer
  400. Suche mittels Ctrl-O kein anderer Dateiname mehr gefunden.
  401.  
  402. Folgendes Beispiel soll diese sinnvollen Befehle verdeutlichen:
  403.  
  404. Oft möchte man eine Datei löschen, will aber nicht den gesamten Namen
  405. eingeben. Angenommen, das aktuelle Verzeichnis enthält die folgenden Dateien:
  406.  
  407. BLAH.TXT
  408. BLAH1.TXT
  409. BLAH2.TXT
  410.  
  411. Gesetzt den Fall, man möchte BLAH1.TXT löschen. Nun reicht es
  412. beispielsweise aus, wenn man folgende Kommandozeile eingibt (ohne die
  413. RETURN Taste zu betätigen):
  414.  
  415. del bl
  416.  
  417. Drückt man nun die TAB-Taste (oder Ctrl-U) so würde die unvollständige
  418. Spezifikation 'bl' durch 'blah.txt' ersetzt werden.
  419. (In diesem Fall wäre ein Leerzeichen als Spezifikation auch ausreichend
  420. gewesen). Führt man die Suche nun mit Ctrl-O fort, so wird als nächstes
  421. BLAH.TXT durch die gesuchte Datei BLAH1.TXT ersetzt und man kann die
  422. erwünschte Kommandozeile durch Betätigung der RETURN Taste an den CLI
  423. weitergeben. Ähnlich läßt sich diese Suche auch bei anderen Befehlen anwenden.
  424. Auf vielfachen Wunsch wird der gefundene Dateiname ab Version 1.0t in
  425. Kleinbuchstaben eingefügt.
  426.  
  427.         Taste         |         Wirkung
  428. -------------------------------------------------------------------------
  429.         Pfeil links   | bewegt den Cursor nach links
  430.         Pfeil rechts  | bewegt den Cursor nach rechts
  431.         Backspace     | löscht das Zeichen links vom Cursor
  432.         Delete        | löscht das Zeichen unter dem Cursor
  433.         TAB           | Starte Dateinamensuche
  434.     Insert          | nächster Eintrag bei Dateinamensuche
  435.         Clr/Home      | löscht die aktuelle Kommandozeile
  436.     ESC          | wie Clr/Home
  437.         Ctrl-K        | löscht bis zum Ende der Kommandozeile
  438.         Ctrl-W        | löscht das nächste Wort
  439.         Ctrl-A        | springt an den Anfang der Kommandozeile
  440.         Ctrl-E        | springt an das Ende der Kommandozeile
  441.         Ctrl-U        | wie TAB (unknown)
  442.         Ctrl-O        | wie Insert (other)
  443.         Ctrl-D        | wie Delete
  444.         Ctrl-X        | wie Clr/Home
  445.         Ctrl-B        | wie Pfeil links  (backward)
  446.         Ctrl-F        | wie Pfeil rechts (forward)
  447.         Ctrl-P        | wie Pfeil hoch   (previous)
  448.         Ctrl-N        | wie Pfeil runter (next)
  449. -------------------------------------------------------------------------
  450.  
  451.             Tabelle 1: Befehle zum Editieren der Kommandozeile
  452.  
  453.  
  454.  
  455. Environmentvariablen
  456. --------------------
  457.  
  458. Das Betriebssystem TOS ermöglicht es, sogenannte Environmentvariablen zu 
  459. übergeben. In diesen Variablen können z.B. Suchpfade oder andere 
  460. Systemeinstellungen gespeichert werden. So kann bei manchen C-Compilern 
  461. festgelegt werden, wo sich die Include-Dateien befinden.
  462. Eine Environmentvariable wird definiert, indem ihr ein neuer Inhalt 
  463. zugewiesen wird. Ist sie schon vorhanden, wird der vorhandene Inhalt gelöscht 
  464. und durch den neuen Inhalt ersetzt.
  465.  
  466. Nach dem Starten existiert in der Regel nur eine Variable, nämlich PATH. 
  467. Diese Variable legt fest, wo der CLI nichtresidente Befehle sucht, wenn er sie 
  468. im aktuellen Verzeichnis nicht findet.
  469. Der CLI legt nun zu dieser vom TOS belegten Variable einige weitere Variablen 
  470. an, und zwar HOME, CWD, STATUS, DATE, TIME und u.U. USERNAME und USER.
  471.  
  472. In HOME wird das Verzeichnis vermerkt, in dem der CLI gestartet wurde. In CWD 
  473. befindet sich immer das aktuelle Verzeichnis (current working directory),
  474. und in STATUS wird der Exit-Code des letzten gestarteten Programmes vermerkt.
  475. 'STATUS=-33' z.B. bedeutet, daß die angegebene Datei nicht gefunden wurde.
  476. DATE und TIME enthalten nach Aufruf der Befehle DATE bzw. TIME
  477. unter Angabe der '-s' Option, das Systemdatum bzw. die Systemzeit zum 
  478. Zeitpunkt des Aufrufes.
  479.  
  480. USER wird von dem LOGIN-Programm angelegt und in dem entsprechenden
  481. Abschnitt erläutert.
  482.  
  483. Es ist nun praktisch, alle ausführbaren externen Befehle in einen Ordner zu 
  484. kopieren, und dem CLI diesen Pfad mitzuteilen. Befindet sich dieser Ordner 
  485. nun z.B. im Wurzelverzeichnis von Laufwerk C: und heißt 'BIN', so bewirkt
  486.  
  487.   PATH=C:\,C:\BIN\
  488.  
  489. daß nichtresidente Befehle zunächst im aktuellen Verzeichnis, dann im 
  490. Wurzelverzeichnis von 'C:' und dann im Ordner 'BIN' auf Laufwerk 'C:' gesucht 
  491. wird. Bei der PATH Variable können auch mehrere Pfade angegeben werden, diese 
  492. müssen dann durch Kommata getrennt werden.
  493. Variablen können aber auch in Befehlen verwendet werden. Um den Inhalt einer 
  494. Variablen zu benutzen, wird ihr ein Dollar-Zeichen ('$') vorangestellt, mit
  495.  
  496.   TEMP=$CWD
  497.  
  498. speichert man das aktuelle Verzeichnis in der Variablen TEMP ab. Zu einem 
  499. späteren Zeitpunkt kann dann mit 
  500.  
  501.   cd $TEMP
  502.  
  503. wieder in dieses Verzeichnis gelangen. (Eine einfachere Möglichkeit, sich
  504. ein Directory zu merken, bieten die Befehle PUSHD/POPD).
  505.  
  506. Weitere Möglichkeiten bieten auch die Befehle PRINTENV, SETENV und ADDENV.
  507.  
  508. Das Plus-Zeichen ('+') ermöglicht es, mit diversen Befehlen auf
  509. konkatenierte Environmentvariablen zuzugreifen. Ein Beispiel sollte
  510. erklären, was damit gemeint ist:
  511.  
  512.   del $HOME+$MYFILE
  513.  
  514. löscht die Datei, die in MYFILE enthalten ist, auf dem Pfad, der in
  515. HOME steht. D.h., die Inhalte der Variablen HOME und MYFILE werden
  516. aneinandergehängt und von der Kommandozeile übernommen.
  517.  
  518.  
  519. Das LOGIN-Programm
  520. ------------------
  521.  
  522. Ab Version 1.0v ist der von früheren Versionen bekannte LOGIN-Befehl
  523. als eigenständiges Programm implementiert.
  524. Nach der eigentlichen Benutzeridentifikation kann LOGIN nun ein beliebiges
  525. in der Datei PASSWD spezifiziertes Programm starten.
  526.  
  527. Die neue Aufrufsyntax lautet:  LOGIN [-ai?] [passwd-pfad]
  528.  
  529. Die ensprechenden Parameter werden im folgenden erklärt.
  530.  
  531. Mit dem LOGIN-Programm ist es möglich, mehreren Benutzern eigene CLI-Umgebungen
  532. (also Environments) bereitzustellen, sowie für eine Benutzeridentifikation
  533. zu sorgen.
  534.  
  535. Dabei wird jedem Benutzer Benutzername, Passwort, voller Name, ein Home
  536. Directory sowie ein zu startendes Programm zugewiesen (meist wird das ein
  537. CLI sein). Diese Benutzerdaten werden in einer Datei PASSWD
  538. festgelegt. LOGIN sucht diese Datei in dem Directory, welches in der
  539. Environmentvariable LOGIN angegeben ist, in dem Verzeichnis \ETC des aktuellen
  540. Laufwerkes, sowie in dem Verzeichnis, das LOGIN als Parameter übergeben
  541. werden kann (siehe Syntax).
  542.  
  543. So ist es möglich, daß ein geeignetes Programm auf ankommende Anrufe wartet
  544. das Modem abheben läßt, anschließend das LOGIN-Programm startet und dieses
  545. den Benutzer verifiziert. Schlägt die Identifikation fehl, wird LOGIN
  546. beendet, und die Leitung kann aufgelegt werden. Ist sie erfolgreich, wird
  547. das Programm gestartet, das in der PASSWD-Datei angegeben ist.
  548.  
  549. LOGIN fordert nach dem Start zunächst zur Eingabe des Benutzernamen auf.
  550. Ist der Benutzer in der PASSWD-Datei nicht eingetragen, so hat der Benutzer
  551. drei Versuche einen gültigen Benutzernamen einzugeben. Ist dies nicht
  552. geschehen, so wird LOGIN beendet und zum aufrufenden Programm
  553. zurückgekehrt.
  554.  
  555. Ist der Benutzer eingetragen, so wird nach dem Passwort gefragt. Ist kein
  556. Passwort vorhanden, genügt Betätigung der <RETURN>-Taste. Wurde das
  557. gültige Passwort eingegeben, so werden die Environmentvariablen USER und
  558. HOME entsprechend gesetzt, in das entsprechende Home-Directory gewechselt und
  559. das angegebene Programm ausgeführt.
  560.  
  561. Aufbau der PASSWD-Datei:
  562.  
  563.   user:password:uid:gid:username:home_directory:default_shell CR/LF
  564.  
  565. Ein neuer Usereintrag könnte dann etwa so aussehen:
  566.  
  567. SuperUser::0:0:Peter Meier:e:\super\:c:\bin\command.prg
  568.  
  569. Beim 'user', also dem Namen unter dem sich ein Benutzer eingelogged
  570. hat und welcher in der Environmentvariablen USER gespeichert wird, wird
  571. Groß- und Kleinschreibung unterschieden, ebenso
  572. beim 'password'. Das Passwort wird verschlüsselt abgespeichert und kann
  573. nur mit dem PASSWD-Befehl geändert werden.
  574. 'uid' und 'gid' sind ganze Zahlen und werden vom CLI unter TOS ignoriert,
  575. müssen aber aus Kompatibilitätsgründen zu UN*X vorhanden sein.
  576. 'username' ist der volle Benutzername, der in der Environmentvariablen
  577. USERNAME gespeichert wird. Die Environmentvariable HOME wird mit 
  578. 'home_directory' belegt. Im Feld 'default_shell' wird das Programm
  579. eingetragen, welches LOGIN nach erfolgreicher Benutzeridentifikation
  580. starten soll.
  581.  
  582. Wird beim Aufruf von LOGIN die i-Option gesetzt, so hat der Benutzer beliebig
  583. viele Versuche, sich zu identifizieren. Die a-Option sorgt dafür, daß die
  584. Benutzeridentifikation über die serielle Schnittstelle stattfindet und
  585. dem aufzurufenden Programm als Befehlszeile "LOGIN.BAT" übergeben wird.
  586. In der ersten Zeile dieser Batch-Datei sollte sich der Befehl "CTTY AUX:"
  587. befinden, damit die Ein-/Ausgabe auf die serielle Schnittstelle umgeleitet
  588. wird. Danach können weitere Befehle oder Programmaufrufe folgen, wie
  589. z.B. die Ausgabe eines freundlichen Intro-Textes. Da diese Datei wohl nur
  590. von dem OSCLI korrekt verarbeitet werden kann, ist die a-Option auch nur
  591. sinnvoll, wenn dieser als login-shell verwendet wird.
  592.  
  593.  
  594. Die TERMCAP-Datei
  595. -----------------
  596.  
  597. Wer den CLI ausschließlich auf bzw. an einem ST als Terminal betreibt, also
  598. den CTTY-Befehl gar nicht benutzt, der kann an dieser Stelle zum nächsten 
  599. Abschnitt übergehen.
  600.  
  601. Ab Version 1.0x kann der Bildschirmaufbau eines über den Befehl
  602. CTTY AUX: angewählten Terminals durch einen aus der UN*X Welt 
  603. bekannten Mechanismus terminal-spezifisch gesteuert werden. Benötigt wird
  604. eine sogenannte TERMCAP-Datei (TERMinalCAPabillities), welche für das
  605. gewünschte Terminal die weiter unten genannten Steuersequenzen enthält.
  606.  
  607. Der CLI sucht nach dem Start im aktuellen Verzeichnis nach der TERMCAP
  608. Datei und lädt diese in den Hauptspeicher. Ist die Environmentvariable TERMCAP
  609. gesetzt, so wird auch in dem in ihr eingestellten Verzeichnis gesucht.
  610. Wurde TERMCAP erfolgreich geladen, so wird eine entsprechende Meldung
  611. auf dem Bildschirm ausgegeben. Kann keine TERMCAP-Datei geladen werden,
  612. unterbleibt diese Meldung und der Bildschirmaufbau wird durch die Standard
  613. ST VT52 Sequenzen gesteuert. Über die Environmentvariable TERM läßt sich
  614. jetzt das gewünschte Terminal anwählen, sofern es in der TERMCAP-Datei
  615. einen passenden Eintrag gibt.
  616.  
  617. Die Beispiel-TERMCAP-Datei zeigt, welche Sequenzen für DEC VT52 und VT100
  618. Terminals benötigt werden. Die folgenden termcap-Einträge wertet der CLI
  619. aus:
  620.  
  621.     nd    Cursor nach rechts
  622.     cl    Bildschirm löschen
  623.     up    Cursor nach oben
  624.     ce    Bis Zeilenende löschen
  625.     nb    Cursor nach links
  626.     sc    Cursorposition retten
  627.     rc    Cursorposition wiederherstellen
  628.     wp    Zeilenumbruch einschalten
  629.     de    Zeile löschen, und Cursor an den linken Rand
  630.  
  631. Weitergehende Informationen zum termcap-Mechanismus gibt's beim lokalen
  632. UN*X-Guru.
  633.  
  634.  
  635. Benutzung des CLI durch Programme
  636. ---------------------------------
  637.  
  638. Der CLI unterstützt auch die GEMDOS-Variable _shell_p bei Adresse $4F6,
  639. hexadezimal. Dadurch wird es möglich, daß ein Programm das vom CLI
  640. aufgerufen wurde, dem CLI eine Kommandozeile zur Ausführung übergibt.
  641. Ein Beispiel dafür ist der system() Befehl einiger C-Compiler. Schreibt
  642. man z.B. ein MAKE-Programm so muß man nicht den RM Befehl abfangen,
  643. sondern schickt ihn einfach mittels system() an den CLI, und läßt ihn
  644. dort ausführen.
  645.  
  646. Der CLI und MiNT
  647. ----------------
  648.  
  649. Der CLI erkennt die Anwesenheit von MiNT im Speicher und berücksichtigt das
  650. bei einigen Befehlen; so werden UID und GID beim Login automatisch gesetzt.
  651. Der VER Befehl erkennt die MiNT Version und gibt sie mit aus. DIR akzeptiert
  652. die Pseudolaufwerke Q:, V: und X:. WAIT benutzt den S_Yield() Systemcall.
  653. Als neuer Befehl gibt PS die Prozeßtabelle aus. Schließlich wird Multitasking
  654. unterstützt, indem ein Programm im Hintergrund gestartet wird, wenn das erste
  655. Zeichen einer Zeile das '&' Zeichen ist.
  656.  
  657. Das ARGV-Schema
  658. ---------------
  659.  
  660. Der CLI unterstützt das neue ARGV-Protokoll, um Programmen u.a. den Zugriff
  661. auf den eigenen Namen zu ermöglichen (ARGV[0]). Leider vertragen sich einige
  662. Programme nicht mit dem neuen Protokoll. Daher kann man es mit einer neuen
  663. Environment Variablen ein- und ausschalten. Ist die Variable N127 vorhanden, 
  664. so ist das ARGV Protokoll eingeschaltet. Der zugewiesene Wert ist dabei 
  665. gleichgültig. Ist sie nicht vorhanden, so wird das Protokoll nicht unterstützt.
  666.  
  667.  
  668. Die Befehle
  669. -----------
  670.  
  671. Hier sollen nun die einzelnen eingebauten Befehle des CLI vorgestellt und 
  672. erläutert werden.
  673.  
  674. ADDENV
  675. ------
  676.  
  677. Syntax: ADDENV varname string
  678.  
  679. Mit ADDENV kann an eine Environmentvariable etwas angehängt werden.
  680. 'varname' ist dabei der Name der Variable, und 'string' wird
  681. (durch ein Komma getrennt) and den Inhalt der Variable angehängt.
  682. Ein Beispiel:
  683.  
  684.   addenv PATH $HOME
  685.  
  686. Nun würde auch das HOME-Verzeichnis mit in die Suche nach externen Befehlen 
  687. einbezogen.
  688.  
  689. ALIAS
  690. -----
  691.  
  692. Syntax: ALIAS [ [-d] string1 string2 ]
  693.  
  694. Mit ALIAS kann man die Zeichenkette 'string2' der Zeichenkette 'string1'
  695. zuweisen. D.h., gibt man nach einer ALIAS-Zuweisung, nach obiger Syntax,
  696. in der Kommandozeile string1 ein, so versucht der CLI 'string2' auszuführen.
  697. So bewirkt z.B.
  698.  
  699.   alias d dir
  700.  
  701. dass `d' als Befehl erkannt wird und wie der DIR-Befehl wirkt.
  702.  
  703. Wird die `-d' (delete) Option angegeben, so wird die entsprechende
  704. Zeichenkette aus der Alias-Liste entfernt.
  705.  
  706.   alias -d d
  707.  
  708. macht also die eben gemachte Zuweisung rückgängig.
  709.  
  710. Wird ALIAS ohne Parameter angegeben, wird die Liste der definierten Befehle 
  711. ausgegeben.
  712.  
  713.  
  714. BAUD
  715. ----
  716.  
  717. Syntax: BAUD baudrate,word size,parity,stop bits
  718.  
  719. Mit dem BAUD-Befehl kann die serielle Schnittstelle des ST (RS-232)
  720. konfiguriert werden. Zunächst wird die Baudrate angegeben, dann die Anzahl
  721. der Datenbits, gefolgt von der Parität (n,o,e für none, odd, even Parität)
  722. und schliesslich die Anzahl der Stopbits.
  723.  
  724. Mit: 
  725.  
  726.   baud 300,8,n,1
  727.  
  728. wird also z.B. die Schnittstelle auf 300 Baud, keine Parität, 8 Datenbits
  729. und ein Stopbit eingestellt.
  730.  
  731. CAT
  732. ---
  733.  
  734. Syntax: CAT {filename}
  735.  
  736. Ist equivalent zu TYPE.
  737.  
  738.  
  739. CD oder CHDIR
  740. -------------
  741.  
  742. Syntax: CD [pathname] oder CHDIR [pathname]
  743.  
  744. Mit CD (change directory) wird ein neues aktuelles Verzeichnis gewählt. 
  745. Normalerweise wird der angegebene Ordnername an den aktuellen Pfad angehängt.
  746. Die Abkürzung '..' bezieht sich auf das nächste übergeordnete Verzeichnis.
  747. Ist der aktuelle Pfad z.B. C:\TEMP\COMP\ und wird das Kommando 'cd ..'
  748. eingegeben, so wechselt das aktuelle Verzeichnis auf C:\TEMP\.
  749. Es kann aber auch ein kompletter neuer Pfad eingegeben werden, 
  750. z.B. 'cd e:\' oder 'cd a:\test\'.
  751. Wird kein Parameter angegeben, so wechselt CD in das HOME-Verzeichnis.
  752.  
  753. Der CLI bietet hier dem Benutzer die Möglichkeit, Pfadnamen mittels Wildcards
  754. anzugeben.
  755. Es werden einfach die signifikanten Zeichen eines Pfadnamens, gefolgt vom
  756. Asterisk-Zeichen ('*') angegeben. Der CLI ergänzt dann zum 
  757. vollständigen Pfadnamen. Angenommen das aktuelle Verzeichnis sei C:\
  758. und es gibt ein Unterverzeichnis \SOURCE\, in welches man wechslen möchte.
  759. Dann würde man vielleicht folgenden Befehl verwenden:
  760.  
  761.   cd sou*
  762.  
  763. Damit wird der CLI in das Verzeichnis C:\SOURCE\TEST\ wechseln.
  764.  
  765. CHMOD
  766. -----
  767. Syntax: CHMOD [+|-][r|h|s|a] dateiname
  768.  
  769. Mit diesem Befehl können die Dateiattribute verändert werden, ähnlich wie
  770. LOCK/UNLOCK etc. Jedes einzelne Attribut kann mit einem Befehl gezielt
  771. gesetzt oder gelöscht werden, z.B.:
  772.  
  773. chmod +r-sh test.txt
  774.  
  775. setzt das 'read-only' Attribut und löscht die 'system' und 'hidden'
  776. Attribute, und wirkt so wie
  777.  
  778. lock test.txt
  779. hide test.txt
  780.  
  781.  
  782. CLICK
  783. -----
  784. Syntax: CLICK [ON|OFF]
  785.  
  786. CLICK OFF schaltet den Tastaturklick ab, CLICK ON schaltet ihn wieder ein.
  787.  
  788. CLS
  789. ---
  790.  
  791. Syntax: CLS
  792.  
  793. Der Befehl CLS (clear screen) löscht den Bildschirm. Es werden dazu
  794. die Terminalsequenzen eines DEC VT-52 Terminals verwendet
  795. (also: ESC-H-ESC-J).
  796.  
  797.  
  798. COPY oder CP
  799. ------------
  800.  
  801. Syntax: COPY [-ns] pathname [pathname] oder
  802.         CP   [-ns] pathname [pathname]
  803.  
  804. Mit dem Befehl COPY, bzw. CP kann eine Kopie einer Datei in einem anderen 
  805. Verzeichnis oder Laufwerk angelegt werden. Hierbei sind Wildcards erlaubt.
  806. Ist im Zielpfad bereits eine Datei gleichen Namens vorhanden, fragt der
  807. CLI nach, ob diese gelöscht werden soll, oder ob man die Kopieranweisung
  808. abbrechen will. Wird kein Zielpfad angegeben, so ist der aktuelle Pfad
  809. Zielpfad der Operation. Das Dateidatum bleibt hierbei erhalten. Um die
  810. Kopie mit dem aktuellen Systemdatum zu versehen, siehe TOUCH Befehl.
  811. Einige Beispiele:
  812.  
  813. - COPY *.TXT A:\
  814.     kopiert alle Dateien, die auf '.TXT' enden aus dem aktuellen 
  815.     Verzeichnis auf Laufwerk A:
  816.  
  817. - COPY *.TXT C:\*.DOC
  818.     kopiert alle Dateien, die auf '.TXT' enden auf
  819.     Laufwerk C und benennt sie gleichzeitig in '.DOC' um.
  820.  
  821. - COPY HALLO.TXT TEST.DOC
  822.     legt eine Kopie der Datei HALLO.TXT an und nennt sie TEST.DOC.
  823.  
  824. Mit der Option '-n' (no query) wird die Nachfrage abgeschaltet, ob eine im
  825. Zielpfad schon vorhandene Datei gleichen Namens überschrieben werden soll
  826. oder nicht. Die Option `-s' (silent) bewirkt, daß der Kopiervorgang
  827. nicht auf dem Schirm mitprotokolliert wird.
  828.  
  829.  
  830. CTTY
  831. ----
  832.  
  833. Syntax: CTTY device
  834.  
  835. Mit dem Befehl CTTY (change TTY) wird dem CLI mitgeteilt, daß nun alle
  836. Ausgaben und Eingaben der internen Befehle über die serielle Schnittstelle
  837. AUX: oder über dir Konsole CON: abgewickelt werden sollen.
  838. Damit ist der CLI fernbedienbar. Bei Betrieb über die serielle Schnittstelle
  839. wird ab Version 1.0t weiterhin die Ausgabe auf den Bildschirm ausgegeben.
  840. Ab Version 1.0x ist zusätzlich die Eingabe von der Konsole möglich.
  841.  
  842. DATE
  843. ----
  844.  
  845. Syntax: DATE [-s]
  846.  
  847. Mit dem DATE Befehl kann das Systemdatum abgefragt und gestellt werden. Nach 
  848. Eingabe von DATE wird das aktuelle Datum ausgegeben. Nun kann ein neues Datum 
  849. eingegeben werden. Wird stattdessen ein ungültiges Datum angegeben oder
  850. einfach nur die <RETURN>-Taste betätigt, bleibt das Datum unverändert.
  851. Bei Angabe der '-s' Option (set) wird das aktuelle Datum im Format
  852.  
  853.  Wochentag ,  Tag .   Monat  Jahr
  854.  
  855. in die Environmentvariable DATE geschrieben.
  856.  
  857.  
  858. DEL
  859. ---
  860.  
  861. Syntax: DEL [-qs] {filename}
  862.  
  863. Löscht die angegebene Datei. Es können auch Wildcards ('*')
  864. angegeben werden, aber dabei ist Vorsicht geboten! Man löscht sich nur 
  865. allzuleicht Daten, die man nicht löschen wollte! So löscht 
  866.  
  867.   del *.prg
  868.  
  869. alle Dateien im aktuellen Verzeichnis, die die Extension `.PRG' besitzen.
  870. Siehe hierzu auch unbedingt Abschnitt `Wildcards und Dateinamen unter TOS'.
  871. Gibt man jeden Namen einzeln an und/oder nutzt die '-q' (query, Nachfrage)
  872. Option, geht man auf Nummer sicher.
  873.  
  874. DEL und seine Equivalente RM und ERA geben eine englische Meldung aus, was
  875. gelöscht wird. Ist diese englische Meldung in einer Batchabarbeitung 
  876. störend, so kann diese auch mit der '-s' Option (silent) unterdrückt
  877. werden.
  878.  
  879.  
  880. DELENV
  881. ------
  882.  
  883. Syntax: DELENV varname
  884.  
  885. Mit diesem Befehl kann die Environmentvariable 'varname' gelöscht
  886. werden. Dieser Befehl stellt also das Komplement zu SETENV dar.
  887.  
  888.  
  889. DIR
  890. ---
  891.  
  892. Syntax: DIR [-aepw] [pathname]
  893.  
  894. Der Inhalt des angegebenen Pfades, oder, wenn kein Pfad angegeben ist, der 
  895. Inhalt der aktuellen Directories wird ausgegeben. Normalerweise werden
  896. Dateien, bei denen das Hidden- oder System-Attribut gesetzt ist,
  897. nicht mit ausgegeben.
  898.  
  899. Wird jedoch die '-a' Option (all) angegeben, so werden auch diese Dateien
  900. mit ausgegeben.
  901. Mit der '-e' Option (extended) werden auch die Attribute 'read-only',
  902. 'system' und 'hidden' mit ausgegeben. Ist das Attribut gesetzt, so 
  903. erscheint der Buchstabe 'r','h' oder 's' und wenn das Attribut gelöscht ist, 
  904. erscheint ein '-'. Mit der '-p' Option (pause) wird auf einen Tastendruck 
  905. gewartet, sobald eine volle Seite ausgegeben wurde.
  906. Mit der '-w' Option (wide) werden 6 Dateinamen pro Zeile ausgegeben, dafür 
  907. aber ohne Länge, Datum und Uhrzeit.
  908.  
  909.  
  910. DUMP
  911. ----
  912.  
  913. Syntax: DUMP [-sHEXOFFSET] filename
  914.  
  915. Dieser Befehl gibt einen Hexdump der angegebenen Datei aus. Wird als Option
  916. ein Offset angegeben, so wird die Datei erst ab diesem Offset ausgegeben.
  917. Beispiel:
  918.  
  919.   dump -s2E test.txt
  920.  
  921. DUPLEX
  922. ------
  923. Syntax: DUPLEX [FULL|HALF]
  924.  
  925. Schaltet im Terminalbetrieb (TERM-Befehl) ein lokales Echo ein und aus.
  926. Ein Aufruf ohne Parameter liefert die momentane Betriebsart.
  927.  
  928. ECHO
  929. ----
  930.  
  931. Syntax: ECHO [ON|OFF|string]
  932.  
  933. Die auf diesen Befehl folgende Zeile wird, normalerweise, auf dem Bildschirm
  934. ausgegeben. Dieser Befehl wird gerne in Batchdateien verwendet um Meldungen
  935. auf dem Bildschirm auszugeben. Man kann ihn aber auch dazu benutzen, um eine
  936. kleine Textdatei zu erstellen, und das geht so:
  937.  
  938. Die erste Zeile der Batchdatei wird mit '>dateiname' in eine Datei umgeleitet.
  939. Alle weiteren Zeilen werden mit '>>dateiname' an die bestehende Datei
  940. angehängt.
  941. Dieses Verfahren ist allerdings ziemlich aufwendig und nur dann sinnvoll, wenn
  942. eine kleine Datei schnell erstellt werden soll und kein Texteditor zur
  943. Verfügung steht.
  944. Auch Sonderzeichen können mit Echo ausgegeben werden. Dazu muß anstelle 
  945. des Sonderzeichens '&hh' angegeben werden, wobei 'hh' hierbei der
  946. Hexcode des Sonderzeichens ist.
  947.  
  948. ECHO besitzt noch eine weitere Funktion; mit ihm kann festgelegt werden, ob
  949. bei der Abarbeitung einer Batch-Datei die einzelnen Befehle ausgegeben werden
  950. oder nicht. Grundeinstellung ist ECHO OFF. Mit ECHO ON schaltet man die
  951. Ausgabe ein. Wird nur ECHO eingegeben, wird der aktuelle ECHO-Status abgefragt.
  952.  
  953.  
  954. ERA
  955. ---
  956.  
  957. Syntax: ERA [-qs] {filename}
  958.  
  959. Ist equivalent zu DEL.
  960.  
  961.  
  962. EXIT
  963. ----
  964.  
  965. Syntax: EXIT
  966.  
  967. Dieser Befehl beendet den CLI und kehrt zum aufrufenden Programm zurück, und 
  968. das ist in der Regel das Desktop.
  969.  
  970.  
  971. FKEY
  972. ----
  973.  
  974. Syntax: FKEY [-e] Fnumber=text
  975.  
  976. Mit diesem Befehl kann einer der 10 Funktionstasten ein maximal 19 Zeichen 
  977. langer Text zugewiesen werden, der bei Betätigung der entsprechenden Taste
  978. dann ausgegeben wird. Beispiel:
  979.  
  980.   fkey F4=Hallo Welt
  981.  
  982. Die '-e' Option (execute) ermöglicht es, über Funktionstasten
  983. direkt Programme oder Batches auszuführen. Beispiel:
  984.  
  985.   fkey -e F10=gem uniterm
  986.  
  987.  
  988. FORMAT
  989. ------
  990.  
  991. Syntax: FORMAT [A:|B:]  [-s|-d|-dh] [-vvolumename]
  992.  
  993. Es wird eine Diskette in Laufwerk A: oder B: formatiert. Die '-s' Option
  994. formatiert im Single-Sided (360K) Format und die '-d' Option im 
  995. Double-Sided (720K) Format. Bei -dh wird die Diskette auf 1.44MB
  996. (Double sided, high density) formatiert, jedoch nur, wenn der ST über ein
  997. HD-Laufwerk verfügt und entsprechend modifiziert worden ist.
  998. Die -v Option ermöglicht es, der zu formatierenden Diskette den Namen
  999. 'volumename' zu geben. Dies ist aber nachträglich auch noch mit
  1000. dem LABEL Befehl möglich.
  1001.  
  1002.  
  1003. FRE
  1004. ---
  1005.  
  1006. Syntax: FRE [drive]
  1007.  
  1008. Gibt den Namen, den verfügbaren sowie den bereits belegten Speicherplatz 
  1009. des aktuellen Laufwerks aus.
  1010. Es ist auch möglich eine Laufwerksspezifikation 'drive' anzugeben, z.B.:
  1011.  
  1012.   fre d:
  1013.  
  1014. würde Namen, verfügbaren und belegten Speicherplatz von Laufwerk 'D:'
  1015. ausgeben.
  1016.  
  1017.  
  1018. GEM
  1019. ---
  1020.  
  1021. Syntax: GEM filename
  1022.  
  1023. Startet ein Programm, welches GEM-Routinen benutzt. Es werden also der
  1024. Mauszeiger eingeschaltet und der Bildschirm gelöscht.  'filename'
  1025. sollte hierbei eine ausführbare Binärdatei sein.
  1026.  
  1027. HEAD
  1028. ----
  1029.  
  1030. Syntax: HEAD [-anzahl] [filename]
  1031.  
  1032. Gibt die ersten paar Zeilen einer Textdatei aus. Normalerweise werden die
  1033. ersten 10 Zeilen ausgegeben. Mit dem Anzahl-Parameter kann jedoch eine
  1034. beliebige Zeilenzahl eingestellt werden. Wird kein Dateiname angegeben,
  1035. kann HEAD als Filter verwendet werden, d.h. er bezieht seine Eingabe durch
  1036. eine Pipe von einem anderen Programm.
  1037.  
  1038. HELP
  1039. ----
  1040.  
  1041. Syntax: HELP
  1042.  
  1043. Mit diesem Befehl wird eine Übersicht der CLI-Befehle ausgegeben.
  1044. Ein Drücken der HELP Taste hat die gleiche Wirkung.
  1045.  
  1046.  
  1047. HIDE
  1048. ----
  1049.  
  1050. Syntax: HIDE [-s] {filename}
  1051.  
  1052. Bei den angegebenen Dateien werden die Hidden- und System-Attribute
  1053. gesetzt. 
  1054. Damit sind diese Dateien (in TOS-Versionen ab Blitter-TOS) vom Desktop aus 
  1055. nicht mehr sichtbar. Damit diese Dateien vom DIR Befehl erkannt werden, muß 
  1056. beim DIR Befehl die '-a' Option angegeben werden. 
  1057. Die `-s' Option (silent) schaltet die Vollzugsmeldung ab.
  1058.  
  1059.  
  1060. HISTORY / !
  1061. -----------
  1062.  
  1063. Syntax: HISTORY / !number / !string
  1064.  
  1065. Gibt die letzten 20 Befehle auf dem Bildschirm aus. Es ist nun möglich,
  1066. einen der in der History gespeicherten Befehle anzuwählen. Und zwar:
  1067.  
  1068.  Cursortasten
  1069.    Mit den Cursortasten `Pfeil-hoch' und `Pfeil-runter' werden die
  1070.    im history-Puffer gespeicherten Befehle bei jedem Tastendruck in
  1071.    der Kommandozeile dargestellt und können dann editiert oder einfach
  1072.    noch einmal ausgeführt werden.
  1073.  
  1074.  direkte Wahl
  1075.    Die direkte Wahl bietet folgende zwei Möglichkeiten:
  1076.  
  1077.    o !number wählt den Befehl an, der an der Stelle 'number'
  1078.      im history-Puffer steht. Also beispielsweise      
  1079.  
  1080.           C:> history
  1081.             1: dir
  1082.             2: cp a:\hallo c:\
  1083.             3: history
  1084.           C:> !1
  1085.  
  1086.      würde den Befehl DIR ausführen.
  1087.  
  1088.    o !string wählt den ersten Befehl im im history-Puffer an, der
  1089.      'string' als Teilwort enthählt. Um bei obigem Beispiel zu
  1090.      bleiben, würde !cp den Befehl Nummer 2 im history-Puffer
  1091.      ausführen, also
  1092.  
  1093.          cp a:\hallo c:\
  1094.  
  1095.  
  1096. HSHAKE
  1097. ------
  1098.  
  1099. Syntax: HSHAKE [XON|RTS|NONE]
  1100.  
  1101. HSHAKE stellt das Protokoll der seriellen Schlittstelle der Atari ein.
  1102. Wird kein Parameter oder NONE angegeben, so wird das Handshake abgeschaltet,
  1103. bei XON schaltet der CLI den Atari auf XON/XOFF-Protokoll um, und bei RTS
  1104. auf RTS/CTS, was aber leider in älteren TOS-Versionen nicht funktioniert.
  1105.  
  1106.  
  1107. IGNORE
  1108. ------
  1109.  
  1110. Syntax: IGNORE command
  1111.  
  1112. Mit dem IGNORE-Befehl kann man erzwingen, daß ein Befehl von Disktte/Festplatte
  1113. geladen wird, auch wenn bereits ein eingebauter Befehl gleichen Namens
  1114. vorhanden ist.
  1115.  
  1116. ignore dir
  1117.  
  1118. würde bewirken, daß sich der CLI so verhält, als wäre der DIR-Befehl
  1119. nicht eingebaut. Daraufhin sucht er dann die PATH-Variable nach einem
  1120. Programm namens DIR.TTP, DIR.PRG usw. ab.
  1121. Siehe dazu auch REVIVE.
  1122.  
  1123.  
  1124. INVERT
  1125. ------
  1126.  
  1127. Syntax: INVERT
  1128.  
  1129. Invertiert den Bildschirm, also weiße Buchstaben auf schwarzem Grund und 
  1130. umgekehrt.
  1131.  
  1132.  
  1133. LABEL
  1134. -----
  1135.  
  1136. Syntax: LABEL volumename
  1137.  
  1138. Dem aktuellen Laufwerk wird der Name 'volumename' gegeben.
  1139.  
  1140.  
  1141. LOCK
  1142. ----
  1143.  
  1144. Syntax: LOCK [-s] {filename}
  1145.  
  1146. Bei der angegebenen Datei wird das 'read-only' Attribut gesetzt.
  1147. Danach kann diese Datei nur noch gelesen, aber nicht mehr beschrieben werden.
  1148. Die `-s' Option (silent) schaltet die Vollzugsmeldung ab.
  1149.  
  1150.  
  1151. LS
  1152. --
  1153.  
  1154. Syntax: LS [-aepl] [pathname]
  1155.  
  1156. Gleiche Funktion wie DIR, nur mit Voreinstellung Option '-w' gesetzt.
  1157.  
  1158.  
  1159. LTTY
  1160. ----
  1161.  
  1162. Syntax: LTTY
  1163.  
  1164. Der Befehl LTTY (lock TTY) ermöglicht eine Verriegelung der Tastatur.
  1165. Der Benutzer wird nach einem Passwort gefragt und muß dieses dann zur
  1166. Sicherheit noch einmal eingeben. Die Tastatur läßt sich nun nur noch
  1167. durch Eingabe dieses Passwortes oder natürlich durch einen Reset des
  1168. Rechners wieder entriegeln.
  1169.  
  1170.  
  1171. MAN
  1172. ---
  1173.  
  1174. Syntax: MAN [level] command
  1175.  
  1176. Es wird die Datei 'command.*' aus einem der Directories, welche in der 
  1177. Environmentvariablen MAN gespeichert sind, ausgegeben. Man kann sich so also
  1178. ein oder mehrere Directories mit Hilfstexten (ASCII-codiert) anlegen,
  1179. die jeweils die Endung '.MAN' tragen können.
  1180. Wird dabei die optionale Zahl `level' angegeben, so sucht der CLI nach einer
  1181. Extension, die mit dieser Zahl beginnt. Dabei darf sich `level' im Bereich
  1182. Null bis Sieben bewegen. So könnte die Beschreibung für den C-Befehl
  1183. `strcpy()' etwa `STRCPY.3C' heißen. Dabei steht die 3 für Level 3 und
  1184. das `C' für die Programmiersprache C.
  1185.  
  1186. Man könnte also den Utilities und anderen Programmen Level 1, den
  1187. Betriebssystemaufrufen den Level 2 und Bibliotheksfunktionen verschiedener
  1188. Programmiersprachen den Level 3 zuordnen, wobei der drei noch ein Kennbuchstabe
  1189. für die Programmiersprache nachgestellt wird.
  1190.  
  1191. Manchmal kann es sinnvoll sein, mehrere Hilfstexte in einer Datei abzulegen,
  1192. die aber unter verschiedenen Namen angesprochen werden soll. So könnte man
  1193. alle Stringbefehle in einer Datei 'STRING.3C' ablegen. Nun soll diese Datei
  1194. auch unter den Namen 'strcpy', 'strcmp', 'strcat' u.s.w. angesprochen werden.
  1195. Dazu wird eine Datei 'MAN.IDX' im Hilfstextdirectory angelegt, die pro Zeile
  1196. einen Namen einer Datei zuordnet. Dabei beginnt eine Zeile mit dem Namen,
  1197. unter dem die Datei angesprochen werden soll. Dann folgen ein oder
  1198. mehrere Leerzeichen und schließlich der Dateiname.
  1199. Die Datei könnte also z.B. so aussehen:
  1200.  
  1201. strcpy          string
  1202. strcmp          string
  1203. strcat          string
  1204. fopen           gemfile
  1205. fcreate         gemfile
  1206.  
  1207. Eine solche Indexdatei kann in jedem der in der MAN Environmentvariablen
  1208. abgelegten Directories angelegt werden. Dabei bezieht sich jeder Dateiname
  1209. auf das jeweilige Directory!
  1210.  
  1211. Normalerweise wird die Textdatei durch den internen MORE Befehl ausgegeben.
  1212. Es kann dazu jedoch auch z.B. ein Programm benutzt werden. Dazu wird in
  1213. der PAGER-Variablen der Name des Befehls abgelegt, der statt MORE die
  1214. Datei ausgeben soll.
  1215.  
  1216. MFREE
  1217. -----
  1218.  
  1219. Syntax: MFREE
  1220.  
  1221. Dieser Befehl gibt den aktuell verfügbaren Hauptspeicherplatz aus.
  1222.  
  1223.  
  1224. MKDIR
  1225. -----
  1226.  
  1227. Syntax: MKDIR dirname
  1228.  
  1229. Um einen neuen Ordner 'dirname' anzulegen verwendet man der MKDIR Befehl.
  1230.  
  1231.   mkdir TEST
  1232.  
  1233. legt einen Ordner mit Namen TEST an.
  1234.  
  1235.  
  1236.  
  1237. MORE
  1238. ----
  1239.  
  1240. Syntax: MORE {filename}
  1241.  
  1242. MORE ist ein Ausgabebefehl, der Dateien seitenweise auf dem Bildschirm 
  1243. anzeigt, und ausgibt, wieviel Prozent der Datei schon ausgegeben sind.
  1244. Mit der Taste 'b' kann zurückgeblättert werden, jede andere Taste blättert
  1245. vorwärts und mit der Taste 'n' wird, wenn mehrere Dateien
  1246. ausgegeben werden sollen, die aktuelle Ausgabe abgebrochen und
  1247. mit der nächsten Datei fortgefahren. Mit Control-C oder 'q' kann jederzeit
  1248. die Ausgabe abgebrochen werden.
  1249. Wird kein Dateiname angegeben, so liest MORE von 'stdin', d.h. es kann
  1250. mit einer Pipe die Ausgabe eines Programmes als Eingabe von MORE
  1251. verwendet werden.
  1252.  
  1253.  
  1254. MOVE oder MV
  1255. ------------
  1256.  
  1257. Syntax: MOVE [-ns] pathname [pathname] oder
  1258.         MV   [-ns] pathname [pathname]
  1259.  
  1260. Bewirkt exakt dasselbe wie COPY, jedoch wird die Quelldatei nach dem 
  1261. Kopiervorgang gelöscht. Die Datei(en) werden also verschoben. Die Option
  1262. `-s' (silent) bewirkt, daß dieser Vorgang nicht auf dem Schirm
  1263. mitprotokolliert wird.
  1264.  
  1265.  
  1266.  
  1267. MS
  1268. --
  1269. Syntax: MS [ON|OFF]
  1270.  
  1271. MS ON aktiviert den Mauszeiger. MS OFF ist das Komplement zu MS ON.
  1272.  
  1273. NECHO
  1274. -----
  1275. Syntax: NECHO string
  1276.  
  1277. Gibt eine Zeile aus (ähnlich wie ECHO), nur wird am Ende der Zeile kein
  1278. CR/LF ausgegeben.
  1279.  
  1280. PASSWD
  1281. ------
  1282.  
  1283. Syntax: PASSWD
  1284.  
  1285. Mit diesem Befehl kann man sein Passwort ändern. Die Benutzerführung ist 
  1286. selbsterklärend.
  1287.  
  1288.  
  1289. PATH oder PWD
  1290. -------------
  1291.  
  1292. Syntax: PATH oder PWD
  1293.  
  1294. Mit diesem Befehl wird das aktuelle Verzeichnis ausgegeben.
  1295.  
  1296.  
  1297. POPD
  1298. ----
  1299.  
  1300. Syntax: POPD
  1301.  
  1302. Ein Pfad wird vom Pfadstapel geholt und zum aktuellen Pfad gemacht.
  1303. Siehe hierzu auch Abschnitt 'PUSHD'.
  1304.  
  1305.  
  1306. PRINTENV
  1307. --------
  1308.  
  1309. Syntax: PRINTENV
  1310.  
  1311. Gibt die Namen aller Environmentvariablen und ihren Inhalt auf dem Bildschirm 
  1312. aus.
  1313.  
  1314.  
  1315. PROMPT
  1316. ------
  1317.  
  1318. Syntax: PROMPT [string]
  1319.  
  1320. Nach dem Starten meldet sich der CLI normalerweise mit einem Prompt, der
  1321. aus dem aktuellen Verzeichnis, und einem `>'-Zeichen aufgebaut ist
  1322. (MS-DOS lässt grüssen). Mit dem PROMPT-Befehl kann nun dieser Prompt
  1323. umdefiniert werden. Der angegebene 'string' wird unverändert als Prompt
  1324. ausgegeben, bis auf einige speziellen Zeichenkombinationen, die in Tabelle 2
  1325. aufgeführt sind.
  1326.  
  1327.  
  1328.          &n    | aktuelles Laufwerk
  1329.          &p    | aktueller Pfad
  1330.          &d    | Datum
  1331.          &t    | Zeit
  1332.          &v    | Version
  1333.          &g    | >
  1334.          &l    | <
  1335.          &q    | =
  1336.          &h    | Backspace
  1337.          &_    | CR/LF
  1338.          &e    | Escape
  1339.          &&    | Ampersand-zeichen
  1340.          &m    | Dollar (MONEY)-Zeichen
  1341.          &u    | Pipe-Zeichen ('|')
  1342.      &!    | aktuelle Zeilennummer
  1343.  
  1344.                 Tabelle 2: Sonderzeichen im Prompt
  1345.  
  1346.  
  1347. Einige dieser Zeichen könnten nicht direkt eingegeben werden oder hätten für 
  1348. den CLI eine besondere Bedeutung, so würde das '>' als Umlenkung
  1349. erkannt werden. Wenn daher im Prompt das '>' erscheinen soll, so wird an
  1350. seiner Stelle '&g' im Promptstring eingegeben.
  1351. Mit
  1352.  
  1353.   prompt &p&g
  1354.  
  1355. wird immer der aktuelle Pfad, gefolgt vom '>' Zeichen als Prompt
  1356. ausgegeben.
  1357.  
  1358. PROMPT ohne Argument stellt wieder den default Prompt ein, d.h. so, wie er
  1359. nach dem Starten war.
  1360.  
  1361. PUSHD
  1362. -----
  1363.  
  1364. Syntax: PUSHD [pfadname]
  1365.  
  1366. Befördert den angegebenen Pfad auf den Pfadstapel.
  1367. Der Pfadstapel faßt max. 16 Pfade. Wird PUSHD ohne
  1368. Argument aufgerufen, so wird der aktuelle Pfad abgelegt.
  1369.  
  1370. READ
  1371. ----
  1372.  
  1373. Syntax: READ varname
  1374.  
  1375. Liest einen String von der Tastatur ein und weist ihn der angegebenen
  1376. Environmentvariablen zu. 
  1377.  
  1378.  
  1379. RENAME oder REN
  1380. ---------------
  1381.  
  1382. Syntax: RENAME oder REN [-n] pathname filename
  1383.  
  1384. Mit diesem Befehl kann eine oder mehrere Dateien umbenannt werden. Ist schon 
  1385. eine Datei gleichen Namens vorhanden, so wird gefragt, ob diese gelöscht 
  1386. werden soll, oder ob die Quelldatei nicht umbenannt werden soll.
  1387. Beispiel:
  1388.  
  1389.   rename *.txt *.doc
  1390.  
  1391. ändert die Endungen aller '.TXT' Dateien im aktuellen Verzeichnis in 
  1392. '.DOC' um.
  1393.  
  1394. Mit der Option '-n' (no query) wird die Nachfrage abgeschaltet, ob eine
  1395. im Zielpfad schon vorhandene Datei gleichen Namens gelöscht werden soll
  1396. oder nicht. (destructive rename)
  1397.  
  1398.  
  1399. REVIVE
  1400. ------
  1401.  
  1402. Syntax: REVIVE command
  1403.  
  1404. Mit diesem Befehl kann ein Befehl, der mit dem IGNORE-Befehl abgeschaltet
  1405. wurde, wieder zum Leben erweckt werden.
  1406.  
  1407.  
  1408. RM
  1409. --
  1410.  
  1411. Syntax: RM [-qs] filename [filename]
  1412.  
  1413. Siehe dazu DEL.
  1414.  
  1415. RMDIR
  1416. -----
  1417.  
  1418. Syntax: RMDIR [-r|-a] pathname
  1419.  
  1420. Mit diesem Befehl kann ein Ordner gelöscht werden. Dabei muß der Ordner mit 
  1421. komplettem Pfad angegeben werden.
  1422. Der Order muß im Normalfall leer sein. Ist sich der Benutzer sicher, daß
  1423. ein kompletter Ordner gelöscht werden soll, so kann er unter Angabe der
  1424. Option '-r' oder '-a' jeden beliebigen Ordner löschen.
  1425.  
  1426. SETENV
  1427. ------
  1428.  
  1429. Syntax: SETENV varname [string]
  1430.  
  1431. Mit diesem Befehl kann einer Environmentvariablen ein neuer Inhalt,
  1432. 'string', zugewiesen werden. Name und Inhalt sind dabei entweder durch ein 
  1433. Leerzeichen oder ein '='-Zeichen getrennt. Man kann natürlich auch ohne
  1434. SETENV einer Variablen einen Inhalt zuweisen. 
  1435.  
  1436.   setenv TEMP Hallo
  1437.  
  1438. und
  1439.  
  1440.   TEMP=Hallo
  1441.  
  1442. sind vollkommen gleichwertig. Wird SETENV ohne Parameter aufgerufen, so 
  1443. werden alle vorhandenen Variablen ausgegeben (genau wie beim PRINTENV-Befehl).
  1444.  
  1445.  
  1446. SLEEP
  1447. -----
  1448.  
  1449. Syntax: SLEEP
  1450.  
  1451. Mit diesem Befehl lässt sich der Bildschirm dunkelschalten. Dies ist sinnvoll,
  1452. wenn man die Arbeit mit dem CLI für längere Zeit unterbricht, aber den
  1453. Rechner nicht abschalten möchte. Ein zuvor eingegebener SLEEP Befehl schont
  1454. dann die Bildröhre des Monitors. Der Schirm wird durch Betätigen einer
  1455. beliebigen Taste wieder eingeschaltet.
  1456.  
  1457.  
  1458. STEP
  1459. ----
  1460.  
  1461. Syntax: STEP step_rate
  1462.  
  1463. Der STEP-Befehl stellt eine neue Steprate für die beiden Laufwerke A:
  1464. und B: ein. Erlaubte Werte für step_rate sind: 2,3,6 und 12. Die Angabe
  1465. erfolgt in Millisekunden.
  1466.  
  1467. TEE
  1468. ---
  1469. Syntax: TEE [-a] filename
  1470.  
  1471. Der Inhalt einer Pipe wird in eine Datei 'filename' abgezweigt, die
  1472. Funktion der Pipe dadurch nicht beeinträchtigt. Mit der '-a' Option wird
  1473. an eine bestehende Datei angehängt.
  1474.  
  1475. TERM
  1476. ----
  1477.  
  1478. Syntax: TERM
  1479.  
  1480. TERM aktiviert den Terminalmodus. Dieser entspricht dem des von Atari
  1481. gelieferten Emulator-ACC's, welches einen einfachen VT-52 Emulator zur
  1482. Kommunikation über die serielle Schnittstelle darstellt.
  1483. Alle von der Tastatur eingegebenen Zeichen werden also an die serielle 
  1484. Schnittstelle gesendet. Ggf. muß die Baudrate mit dem BAUD-Befehl
  1485. eingestellt werden. Nach dem Einschalten befindet sich der Rechner
  1486. normalerweise im 9600 Baud Modus. Verlassen wird der Terminalmodus mit 
  1487. der <HELP> oder <UNDO> Taste. 
  1488. Bei Remotebetrieb ist der TERM-Befehl nicht sinnvoll, und ist daher
  1489. deaktiviert.
  1490.  
  1491.  
  1492.  
  1493. TIME
  1494. ----
  1495.  
  1496. Syntax: TIME [-s]
  1497.  
  1498. Der TIME-Befehl dient dazu, die Systemzeit abzufragen oder zu stellen. Nach 
  1499. Eingabe des Befehls wird die aktuelle Zeit ausgegeben. Dann kann eine neue Zeit 
  1500. eingegeben werden. Ist die eingegebene Zeit ungültig oder wird einfach nur 
  1501. <RETURN> eingegeben, so bleibt die ursprüngliche Zeit unverändert.
  1502. Bei Angabe der '-s' Option (set) wird die aktuelle Zeit in die
  1503. Environmentvariable TIME geschrieben.
  1504.  
  1505.  
  1506. TOUCH
  1507. -----
  1508.  
  1509. Syntax: TOUCH [-s] {filename}
  1510.  
  1511. TOUCH aktualisiert das Dateidatum also, das Erstellungsdatum einer Datei.
  1512. Die `-s' Option (silent) schaltet die Vollzugsmeldung ab.
  1513.  
  1514.  
  1515. TYPE
  1516. ----
  1517.  
  1518. Syntax: TYPE {filename}
  1519.  
  1520. Gibt die angegebene(n) Datei(en) aus. Die Ausgabe kann z.B. in eine Datei
  1521. umgelenkt werden (wie bei den meisten anderen Befehlen auch).
  1522.  
  1523.  
  1524. UNALIAS
  1525. -------
  1526.  
  1527. Syntax: UNALIAS name
  1528.  
  1529. Ein Eintrag wird aus der ALIAS-Liste entfernt. Bewirkt dasselbe wie
  1530. ALIAS mit der `d'-Option.
  1531.  
  1532.  
  1533. UNHIDE
  1534. ------
  1535.  
  1536. Syntax: UNHIDE [-s] {filename}
  1537.  
  1538. Bei den angegebenen Dateien werden die Attribute 'hidden' und 'system'
  1539. gelöscht. Die `-s' Option (silent) schaltet die Vollzugsmeldung ab.
  1540.  
  1541.  
  1542. UNLOCK
  1543. ------
  1544.  
  1545. Syntax: UNLOCK [-s] {filename}
  1546.  
  1547. Bei den angegebenen Dateien wird das 'read-only' Attribut gelöscht.
  1548. Die `-s' Option (silent) schaltet die Vollzugsmeldung ab.
  1549.  
  1550.  
  1551. VERSION oder VER
  1552. ----------------
  1553.  
  1554. Syntax: VERSION oder VER
  1555.  
  1556. Gibt die Versionsnummer des CLI und TOS-ROMs aus.
  1557.  
  1558.  
  1559. WAIT
  1560. ----
  1561.  
  1562. Syntax: WAIT [-s|-t time|-d date]
  1563.  
  1564. Dieser Befehl gibt eine englische Meldung aus und wartet auf ein <Return>.
  1565. WAIT wird sinnvollerweise nur in Batchdateien verwendet. Ist die englische
  1566. Meldung in einer Batchabarbeitung störend, so kann diese auch mit der
  1567. '-s' Option (silent) unterdrückt werden.
  1568. Bei Angabe der '-t' bzw. '-d' Option wartet der CLI bis zur angegebenen
  1569. Uhrzeit bzw. zum angegebenen Datum. Das Format ist dasselbe wie bei den
  1570. Befehlen TIME und DATE.
  1571.  
  1572. WATCH
  1573. -----
  1574.  
  1575. Syntax: WATCH [ON|OFF]
  1576.  
  1577. Mittels Watch kann der CLI die DCD-Leitung der RS232-Schnittstelle überwachen,
  1578. und terminiert, falls der Carrier verschwindet.
  1579. Ohne Parameter gibt WATCH den momentanen Zustand aus.
  1580.  
  1581. WC
  1582. --
  1583.  
  1584. Syntax: WC [filename]
  1585.  
  1586. Mit WC (Word Count) werden die Zeichen, Zeilen und Worte einer Textdatei 
  1587. gezählt. Wird kein Dateiname angegeben, bezieht WC seine Eingabe von
  1588. 'stdin'. Damit kann WC seine Eingabe durch eine Pipe von einem anderen
  1589. Programm beziehen.
  1590.  
  1591.  
  1592.  
  1593.     
  1594.