home *** CD-ROM | disk | FTP | other *** search
- Quelques bonnes trucs et astuces que j'ai rassemblΘ:
-
-
- EDITION
-
-
- Les situations trΦs courantes:
- $ mkdir documents
- $ cd documents
- peut Ωtre abrΘgΘe par:
- $ mk documents
- $ [CTRL-T] (insΦre tout sauf le premier mot de la ligne
-
-
- Aussi trΦs courant:
- $ mv document document1
- $mv [CTRL-P]1
- La fonction CTRL-P duplique le mot prΘcΘdent sur la ligne de commande
-
-
- Vous pourriez vous Ωtre demandΘ en quoi CTRL-N (laisse la ligne courante)
- peut vous Ωtre utile.
- Supposons, par exemple, que vous avez tapΘ
- $ rm dh1:graphics/lo-res/gorilla
- quand il vous vient α l'esprit que vous prΘfereriez garder une copie de cette
- image sur disquette. Plusieurs effaceraient la ligne de commande. Comme vous
- avez de la classe, vous faεtes ce qui suit:
- $ [CTRL-N] (laisse la ligne de commande tranquile)
- $ co [CTRL-T] df0:
- $ [FlΦche-Haute][FlΦche-Haute] (reprend la lignede commande que vous aviez
- laissΘ)
-
-
- Au cas o∙ vous ne sauriez pas ce qu'est la complΘtion sur l'historique:
- $ search *.c *.h makefile toto
- $ ram:
- $ dir
- $ rm tmpfile
- Maintenant si vous voulez rΘpΘter la commande search, entrez
- $ se[Shift-FlΦche-Haute]
- ce qui rapelle la derniΦre commande commenτant par 'se'.
-
-
- Si jamais vous cyclez trop loing en utilisant la touche TAB, en dΘpassant
- l'entrΘe que vous vouliez, vous pouvez revenir en arriΦre d'une entrΘe en
- utilisant CTRL-U [undo]. La mΩme chose s'applique si vous aviez entrΘ une
- abrΘviation, pressΘ TAB mais vu que l'abbrΘviation Θtait trop courte.
-
-
- Si vous voulez effacer le fichier
- $ rm dh2:comm/uucp/mail/junk/409
- et que vous Ωtes loin de ce rΘpertoire, entrez
- $ rm ju[ESC-c]409 (entre le chemin correspondant α cd ju)
-
-
- La mΩme fonction est aussi utilisable pour 'cd'. Supposons que vous avez
- plusieurs rΘpertoires 'junk':
- $ ju[ESC-c][CTRL-R][CTRL-R][CTRL-R]
- Comme ceci vous cyclerez α travers les rΘpertoires junk. Quand vous aurez le
- bon, appuyez sur enter.
-
-
- Supposons qu'il y a les fichiers comm1.c, comm2.c, et comm3.c avec leurs
- fichiers .o correspondants. Vous voulez comm3.c:
- $ co[Shift-Tab]1[Tab]
- Bien s√r ceci est plus utile surdes noms de fichiers plus longs.
-
-
- Vous pouvez complΘter un nom de fichier par tab sur n'importe quel motif,
- pas seulement les abrΘviations. Supposons que vous voulez effacer tous les
- fichiers .c dans le rΘpertoire courant sauf le dernier:
- $ rm *.c[ESC-Tab][CTRL-W]
- De plus, vous pouvez voir tous les fichiers encore une fois avant de les
- effacer.
-
-
- Ensuite: Vous avez entrΘ:
- $ dir
- $ foreach i ( *.c ) "e >>ram:temp $i
- et vous voudriez effectuer les mΩmes trois actions α nouveau, entrez:
- $ [FlΦche-Haute][FlΦche-Haute][FlΦche-Haute][ESC-Return][CTRL-R][CTRL-R]
-
-
- Je sais que l'Θdition n'est pas trΦs conviviale. C'est parce qu'il est assez
- difficile et dangereux de prendre des codes raw sur la console, et il est
- impossible de prendre ces codes depuis un terminal VT200. Ainsi j'ai me
- dΘbrouiller avec des combinaisons de CTRL et ESC. Une fois que vous les avez
- appris (certains d'entre eux sont similaire α EMACS), vous Θconomisez
- beaucoup de frappe.
-
-
- COMMANDES
-
-
- Mon conseil ici est trΦs clair: Utilisez les alias, les alias, les alias.
- Pour Ωtre capable de les crΘer aussi vite que possible, crΘez un alias (par
- ex. 'le') qui Θdite votre fichier de login, plus un autre (par ex. 'lx'),
- qui le rΘexΘcute. Mon login ne contient quasiment que des alias, tout le
- reste, je l'ai mis dans 'firstlogin.sh'.
-
-
- Si vous n'aimez pas mes options par dΘfaut pour une commande, vous pouvez
- en ajouter en utilisant un alias:
- $ alias dir "dir -q
- A partir de lα, les blocs ne seront plus affichΘs dans 'dir'.
-
-
- Si vous alias ont des arguments, par ex.:
- $ alias sc "search *.c
- des problΦmes surgissent lorsque vous essayez de spΘcifier des options, par
- exemple la sensibilitΘ aux majuscules:
- $ sc -c "bonjour tout le monde
- Ceci ne marchera evidemment pas. C'est ce que rΘsoud @pickopts:
- $ alias sc "%a serach @pickopts( $a ) *.c @pickargs( $a )
-
-
- Une fois que vous avez des alias, il est utile de les garder triΘs. Vous
- pourriez aussi les documenter: crΘez un fichier 'alias.doc', et faites
- $ set _man alias.doc csh.doc
- De cette faτon vous pouvez les documenter dans un fichier sΘparΘ.
-
- Si vous vouliez crΘer des alias qui acceptent des arguments, vous pouvez
- les implΘmenter en utilisant 'if -o'.
- $ alias bon "%a if -o v $a;echo -n "tres ";endif;echo bon boulot, @arg( $a )
- $ bon olivier --> bon boulot, olivier
- $ bon -v olivier --> tres bon boulot, olivier
-
- 'cat' peut Ωtre utilisΘ pour crΘer de petits fichiers de texte:
- $ cat >monfichier
- bonjour
- [CTRL-\]
- La combinaison de touches CTRL-\ crΘe un caractΦre de fin de fichier
-
-
- FONCTIONS
-
- @age est trΦs utile pour archiver les scripts:
- $ foreach i ( * ) "if @age( $i ) > 30;cp -m $i backup:;endif
-
-
- @clinum peut Ωtre utilisΘ pour rendre 'break' et 'pri' plus flexibles:
- $ alias break "%a break @clinum( $a )
- Maintenant vous pouvez faire, par exemple, 'break cc'. Les numΘros de Cli
- sont toujours autorisΘs.
-
- @complete simule l'effet de la complΘtion des noms de fichiers par TAB. De
- cette faτon, vous n'avez plus besoin de presser TAB pour cela:
- $ alias edit "%a ced @complete( $a * )
-
-
- @confirm peut Ωtre uitilisΘ pour un 'rm' s√r:
- $ alias rm "%a rm @confirm( $a )
-
-
- @howmany est utile au lancement:
- $ if $howmany = 1;window -l;endif
-
-
- @intersect, @union et @without conviennent bien α de nombreuses applications
- Si vous stockez, par exemple, tous les fichiers d'un de vos amis, dans la
- variable $him, (il peut faire un 'dir -np .../ >temp', vous faites alors un
- 'readf him <temp'), et vos fichiers dans $me, alors vous pouvez savoir ce
- qu'il a et pas vous en utilisant
- $ echo @without( $him , $me )
- Pour ignorer des noms de chemins diffΘrents, utilisez
- $ set him @basename( $ him )
- Si vous avez les noms de fichiers sans les chemins, vous pouvez retrouver le
- chemin en 'search'ant le fichier temp.
-
-
- @opt et @arg sont utilisΘs chaque fois que vous avez qui spΘcifie dΘjα des
- arguments, mais autorise l'utilisateur α spΘcifier des options additionelles.
- $ alias sc "%a search @opt( $a ) *.c @arg( $a )
-
-
- @volume peut Ωtre utilisΘ pour tester si il y a un disque dans un certain
- lecteur. Il supprimera les requesters et retourne une chaεne vide s'il n'y
- a pas de disque.
-
-
- VARIABLES
-
-
- $_except peut Ωtre rendue locale. Dans ce cas vous avez un traitement
- d'erreur spΘcial pour l'alias ou le fichier script courant.
-
-
- $_man peut contenir les noms de plus d'un fichier .doc. De cette faτon, vous
- pourriez ajouter de la documentation pour vos propres alias.
-
-
- Lorsque vous travaillez avec des gros fichiers et les pipes, vous pourriez
- souhaiter mettre $_pipe vers un rΘpertoire sur votre disque dur.
-
-
- INTERPRETEUR
-
-
- Si vous avez besoin d'ajouter une chaεne α une variable, vous pouvez le faire
- de cette faτon:
- $ set toto truc
- $ echo $foo""bidule --> trucbidule
- Le "" n'est pas nΘcessaire si le premier caractΦre de la chaεne α Ωtre ajoutΘe
- n'est ni une lettre ni un chiffre ni un _.
-
- Pour Ωtre s√r qu'aucune commande interne n'est exΘcutΘe, mettez la premiΦre
- lettre de votre commande en majuscule:
- $ Dir ram: ALL
-
- Pour ne pas tenir compte des alias existants sur une commande, entrez:
- $ alias echo "xxxxxx
- $ \echo bonjour --> bonjour