home *** CD-ROM | disk | FTP | other *** search
- Ein paar gute Ideen:
-
- EDITIERUNG
-
- Die oft vorkommende Situation:
- $ mkdir documents
- $ cd documents
- kann abgekⁿrzt werden:
- $ mk documents
- $ [CTRL-T] [RETURN] (fⁿgt alles ausser dem ersten Word der
- vorherigen Zeile ein)
-
-
- Auf sehr hΣufig:
- $ mv document document1
- kann durch
- $ mv document [CTRL-P]1
- abgekⁿrzt werden, CTRL-p dupliziert das vorhergehende Wort.
-
- Sie haben sich vielleicht schon gefragt wozu ein CTRL-N (aktuelle Zeile
- nicht ausfⁿhren) gut sein soll. Stellen wir uns vor Sie haben gerade
- getippt:
- $ rm dh1:grafik/lo-res/gorilla
- als Ihnen einfΣllt, das es doch besser wΣre eine Kopie dieses Bildes auf
- Diskette abzuspeichern. Viele wⁿrden jetzt die Zeile l÷schen. Da sie ein
- toller Junge sind, tun Sie folgendes:
- $ [CTRL-N] (lΣ▀t diese Zeile auf sich beruhen)
- $ co[CTRL-T] df0: (kopiert den Gorilla nach df0:)
- $ [Cursor-Auf][Cursor-Auf] (wir sind wieder da wo wir waren)
-
- Im Falle Sie wissen nicht was die Kommandospeicher ErgΣnzung ist:
- $ search *.c *.h makfile foobar
- $ ram:
- $ dir
- $ rm tmpfile
- Jetzt wollen Sie den Suchbefehl wiederholen, einfach
- $ se[Shift-Cursor-Auf]
- drⁿcken, und der letzte Befehl mit einem 'se' am Anfang wird
- hervorgeholt.
-
- Sie wollen die Datei l÷schen:
- $ rm dh2:comm/uucp/mail/junk/409
- sind aber weit weg von diesem Ordner, dann geben Sie ein:
- $ rm ju[ESC-c]409 (fⁿgt den resultierenden Pfad von cd ju ein)
-
- Dieselbe Funktion kann auch fⁿr ein 'cd' verwendet werden. Stellen wir
- uns vor, Sie haben mehrere 'Junk' Ordner:
- $ cd ju[ESC-c][CTRL-R][CTRL-R][CTRL-R]
- Damit k÷nnen Sie die verschiednen 'Junk'-Ordner wechseln, bis Sie den
- Richtigen gefunden haben.
-
-
- Nehmen wir an wir hΣtten die Dateien comm1.c, comm2.c und comm3.c und ihre .o
- Dateien. Sie wollen nun comm3.c erreichen:
- $ co[Shift-Tab]1[Tab]
- Natⁿrlich ist dies bei lΣngeren Dateinamen noch nⁿtzlicher.
-
- Sie k÷nnen mittles der Tab-Dateinamen-Expandierung jedes Suchmuster
- expandieren, nicht nur Abkⁿrzungen. Wollen Sie nun alle .c Dateien ausser
- dem letzten l÷schen:
- $ rm *.c[ESC-Tab][CTRL-W]
- ZusΣtzlich k÷nnen Sie alle Dateien sehen bevor Sie sie l÷schen.
-
- Nun stellen wir uns vor Sie haben gerade eingegeben:
- $ dir
- $ foreach i ( *.c ) "e >>ram:temp $i"
- $ more ram:temp
- Und Sie wollen diese drei Kommandos nocheinmal ausfⁿhren:
- $ [Cursor-Auf][Cursor-Auf][Cursor-Auf][ESC-Return][CTRL-R][CTRL-R]
-
- Die Editierung ist nicht die Beste, dies liegt einfach an der KomplexitΣt
- Tastendrⁿcke von der Konsole mittles Raw-Kodes zu interpretieren,
- ausserdem ist es unm÷glich diese von einem VT220 Terminal zu erhalten.
- Deshalb die vielen CTRL und ESC Kombinationen. Haben Sie sie erstmal
- gelernt (die meisten sind wie beim EMACS), k÷nnen Sie sich eine Menge
- Tipparbeit sparen.
-
-
- KOMMANDOS
-
- Hier ist es wirklich einfach: Nutzen sie Aliase, Aliase und Aliase.
- Um diese schnell und einfach zu erstellen, ist es sinnvoll, ein Alias zu
- erstellen (z.B. 'le') das Ihre Login-Datei editiert, ein anderes, welches
- es erneut ausfⁿhrt.
-
- Wenn Sie die Default Argumente der Kommandos nicht m÷gen, dann k÷nnen Sie
- sie mit einem Alias Σndern, etwa wie folgt:
- $ alias dir "dir -q"
- Ab jetzt wird dir keine Bl÷cke mehr anzeigen.
-
- Wenn Ihre Aliase Argumente haben, z.B:
- $ alias sc "search *.c
- k÷nnen Probleme auftauchen, wenn Sie selber Argumente mitgeben, in etwa:
- $ sc -c "hello world"
- Dies wird offensichtlich nicht funktionieren. Dazu ist @pickopts da:
- $ alias sc "%a search @pickopts( $a ) *.c @pickargs( $a )
-
- Sobald Sie viele Aliase haben, ist es sinnvoll diese sortiert zu halten.
- Sie k÷nnen sie auch kommentieren: Erstellen Sie eine Datei 'aliase.doc'
- und setzen Sie _man auf aliase.doc csh.doc
- $ set _man aliase.doc csh.doc
- Auf diesem Wege k÷nnen Sie die Aliase in einer speraten Datei
- dokmentieren.
-
- M÷chten Sie ein Alias erstellen, welches Argumente akzeptiert, k÷nnen Sie
- dies mit 'if -o' tun.
- $ alias gut "%a if -o v $a;echo -n"Sehr";endif;echo gute Arbeit, @arg( $a )
- $ gut Erna -> gute Arbeit, Erna
- $ gut -v Erna -> Sehr gute Arbeit, Erna
-
- 'cat' kann benutzt werden, um kleine Textdateien zu erstellen:
- $ cat >MeineDatei
- hallo du da
- [CTRl-\]
- Die Tastenkombination [CTRL-\] ist gleichwertig zu EOF.
-
-
- FUNKTIONEN
-
- @age ist sehr nⁿtzlich fⁿr Archivierungs-Stapeldateien:
- $ foreach i ( * ) "if @age( $i ) > 30;cp -m $i backup:;endif
-
- @clinum kann benutzt werden, 'break' und 'pri' flexibler zu gestalten:
- $ alias break "%a break @clinum( $a )
- Ab jetzt ist es m÷glich etwa: break cc einzugeben. Nummern sind nach wie
- vor erlaubt.
-
- @complete simuliert den Effekt der Tab-Dateinamen-ErgΣnzung. Das heisst,
- Sie brauchen TAB nicht selber zu drⁿcken:
- $ alias edit "%a ced @complete( $a * )
-
- @confirm kann fⁿr eine Sicherheitsabfrage benutzt werden:
- $ alias rm "%a rm @confirm( $a )
-
- @howmany ist sinnvoll fⁿr die Startdatei:
- $ if $howmany = 1; window -l;endif
-
- @intersect, @union und @without sind geeignet fⁿr eine Menge von
- Applikationen. Sie k÷nnen damit z.B: alle Dateien eines Freundes in der
- Variablen $Seins (etwa erstellt mit 'dir -np >temp; readfile Seins <temp')
- und ihre Dateien in $Meins, dann k÷nnen Sie sehen was er hat und Sie
- nicht, indem Sie eingeben:
- $ echo @without( $Seins , $Meins )
- Um die unterschiedlichen Pfade zu ignorieren benutzen Sie:
- $ set Seins @basename( Seins )
- Haben Sie die Dateien ohne Pfadnamen, k÷nnen Sie diesen in der Datei temp
- ersuchen.
-
- @opt und @arg werden benutzt, wenn Sie ein Alias haben, welches bereits
- Argumente an ein Kommando ⁿbergibt, dem Benutzer aber auch eigene
- Argumente zur Verfⁿgung stellen soll:
- $ alias sc "%a search @opt( $a ) *.c @arg( $a )
-
- @volume ist sinnvoll um herauszubekommen, ob eine Diskette im Laufwerk
- steckt. Requester werden vermieden, es wird eine leere Zeichenkette
- zurⁿckgegeben, ist die Diskette nicht vorhanden.
-
-
- VARIABLEN
-
- $_except kann lokal gehalten werden. In diesem Fall mⁿssen Sie eine
- spezielle Fehlerbehandlung fⁿr das aktuelle Alias oder die Stapeldatei
- schreiben.
-
- $_man kann mehrere Pfade und Dateinamen enthalten. Somit k÷nnen Sie
- eigene Funktionen, Aliase, etc. kommentieren.
-
- Arbeiten Sie mit grossen Dateien in der Pipe, k÷nnen Sie den temporΣren
- Ordner der Pipe in $_pipe auf die Festplatte legen.
-
-
- PARSER
-
- Mⁿssen Sie eine Zeichenkette an eine Variable hΣngen, so k÷nnen Sie das
- wie folgt tun:
- $ set bla fasel
- $ echo $bla\blubber ->faselblubber
- Das '\' ist nicht notwendig, wenn das erste Zeichen der anzuhΣngenden
- Zeichenkette weder ein Buchstabe oder eine Zahl ist.
-
- Um sicher zu gehen, das kein internes Kommando aufgerufen wird,
- schreiben Sie den ersten Buschstaben gross:
- $ Dir ram: ALL (nutzt Dir von C:)
-
- Um existierende Aliase die mit einem Kommando kolliedieren zu umgehen
- tippen Sie folgendes:
- $ alias echo "blafasel"
- $ \echo hallo -> hallo
-
- Haben Sie auch Tips ? Noch mehr Ideen ? Schreiben Sie mir !
- Addresse bitte dem csh.doc entnehmen.
-