BSD Shell Hack

Le SHELL est l’outil en ligne de commande le plus basique utilisé par un administrateur Unix digne de ce nom. Le plus commun est le bash sur les systèmes BSD. Mais il n’est pas le seul qui existe pour le superutilisateur root ou le user de base.

Il y a en autres, le C Shell ou csh et sa variante plus complexe le tcsh que nous allons aborder ici.

Historique et Auto-complétion
Vous pouvez utiliser les touches fléchées Haut, Bas et la tabulation pour vous faciliter la tâche.
Les touches Haut et Bas servent à naviguer parmi l’historique des commandes saisies précédemment.

La tabulation permet de compléter une commande ou un mot.
Par exemple en entrant sur le client Shell netst et Tab :
#nets
vous obtiendrez:
#netstat

Vous voyez, c’est assez pratique et efficace ;-)

Pour lister l’historique complet des commandes, utilsez la commande history ou simplement h:
srv1# h
1 9:06 sockstat
2 9:06 pwd
3 9:07 cd /usr/ports/
4 9:07 make search name=postfix
5 9:19 netstat
6 10:28 h

La commande point d’exclamation ! ou Bang!
Elle permet de récupérer une commande précise dans l’historique ou de compléter une commande précédemment entrée
srv1# !5
netstat
Active Internet connections
Proto Recv-Q Send-Q Local Address Foreign Address (state)
Proto Recv-Q Send-Q Local Address Foreign Address (state)
udp 0 0 srv1.39442 ns.lunique.fr.ntp
udp 0 0 localhost.noublo.biff *.*
udp 0 0 srv1.24489 eth0-castralrock.ntp
udp 0 0 srv1.16805 goelette.net.ntp
udp 0 0 srv1.12455 rtr-001.dsi13.ne.ntp

srv1~ !p
pwd
/usr/ports

Se déplacer plus rapidement dans les répertoires
Vous connaissez la commande cd, comme tout le monde. Mais saviez-vous que vous pouviez revenir au répertoire précédent gràce à un seul paramètre ?
Essayez cette commande magique et regardez le résultat:
~cd -

Utilisation de l’historique dans vos commandes
Vous pouvez utiliser les paramètres de la commande précédente dans celle que vous êtes en train de saisir dans votre CLI (Command Line Interface) avec l’argument !$.

Exemple:
#touch /tmp/dir/test.txt
#vi !$ vous éditera le fichier test.txt dans le répertoire /tmp/dir/. Génial, no ? :-)

Leave a Reply