Astuce shell

Créer des alias de commande

Ou comment se simplifier le Terminal
Première publication : .
Mise en ligne: 25 mars 2003.
Modifié le : 17 janvier 2005.
Par Frédéric Guerrier
Créer des alias de commande, Terminal, , Shell, , Alias, , Commande

Il est parfois fastidieux de taper de longues commandes dans le Terminal, il est aussi très utile de pouvoir modifier le comportement de certaines commandes, pour les ’customiser’ en quelque sorte... Cet article va vous expliquer comment proceder.

Mise en garde

Il faut bien réfléchir avant de créer des alias de commande :

-  Que le nom de ceux-ci ne soient pas deja le nom d’une commande existante.

-  Il n’est pas conseillé de faire des alias à tout va, car ensuite on risque de ne plus se souvenir des commandes originelles.

-  Assurez vous de bien maitriser le concept avant de vous lancer :)

Il est donc possible de créer des sortes de raccourcis de commande dans le Terminal, pour voir les alias existants, il suffit de taper :


% alias

Si rien ne se passe chez vous, assurez vous que vous avez effectué les modifications nécessaires depuis le passage à Mac OS 10.2 (voir là).

Pour ajouter un alias il existe plusieures possibilités...

Modifier une commande de manière momentanée

Modifions la commande ls en lui ajoutant l’option a, afin qu’elle affiche les fichiers invisibles :


[Mac_de_gunjin: ~] % ls
Documents      Library        Music          Sites          cmd
Decompression      Downloads      Liens          Pictures       apps          
exe      Desktop        Icon?          Movies         Public         bin            logs
[Mac_de_gunjin: ~] % alias la "ls -a"
[Mac_de_gunjin: ~] % la
.                      .jmf-resource          Decompression          Pictures
..                     .login                 Desktop                Public
.CFUserTextEncoding    .logout                Documents              Sites
.DS_Store              .lpoptions             Downloads              apps
.Trash                 .ssh                   Icon?                  bin
.bash_history          .tcsh_history          Library                cmd
.bashrc                .tcshrc                Liens                  exe
.cshrc                 .tcshrc.save           Movies                 logs
.cshrc.save            Music
[Mac_de_gunjin: ~] %

Le problème est que si vous ouvrez une autre fenêtre, l’alias ne fonctionne plus :


[Mac_de_gunjin: ~] % la

OK? lam? no
la: Command not found.
[Mac_de_gunjin: ~] %

Définitivement modifier la commande

Par exemple, la #ommande rm sert à effacer un fichier, elle peut s’avérer dangereuse...


% alias rm /bin/rm -i

Cela à pour effet d’ajouter l’option i à la commande rm pour en minimiser les dangers, elle vous demande ensuite à chaque fois si vous voulez bien effacer le fichier.


[Mac_de_gunjin: ~] % touch test
[Mac_de_gunjin: ~] % ls
Anne_Jaguar    Downloads      Movies         Sites          exe
Decompression  Icon?          Music          apps           logs
Desktop        Library        Pictures       bin            test
Documents      Liens          Public         cmd
[Mac_de_gunjin: ~] % rm test
remove test? y
[Mac_de_gunjin: ~] % ls
Anne_Jaguar    Documents      Library        Music          Sites          cmd
Decompression  Downloads      Liens          Pictures       apps           exe
Desktop        Icon?          Movies         Public         bin            logs
[Mac_de_gunjin: ~] %

Le problème avec cette technique est que l’on modifie rm directement ou elle se trouve, et tout les utilisateurs de la machine verront leur commande rm transformée. De plus ce n’est pas particulièrement élégant :)

On peut revenir en arrière comme ceci par exemple :


% alias rm /bin/rm

Créer un fichier de configuration pour son shell

Il est bien plus pratique de créer un fichier de configuration qui sera lu au lancement du Terminal :


% pico .tcshrc

il doit contenir déjà la ligne suivante (du fait de la modification inérante à 10.2) :


source /usr/share/tcsh/examples/rc

Nous allons rajouter ici les alias, placez vous à la fin de la ligne avec les flèches du clavier, appuyez sur entrée deux fois, pour aller à la ligne et en laisser une vide pour plus de clarté et commencez à ajouter des alias comme ceci :


source /usr/share/tcsh/examples/rc

# debut des alias de commande

alias q "exit"
alias la "ls -a"
alias rm "rm -i"
alias conf "pico ~/.tcshrc"

# fin des alias

Control x, y et entrée pour sauver le fichier .tcshrc
Il faut ensuite quitter le terminal et le relancer pour qu’il prenne en compte le fichier de configuration nouvellement crée.

Evitez de mettre des accents, des caractères exotiques, ils ne sont pas reconnus par le shell.

Le # sert à inserrer des commentaires, ils ne sont pas interprétés.Cela permet une meilleure lisibilité du code.

Nous avons ajoutés en plus alias conf "pico /.tcshrc" qui nous permettra d’ajouter facilement des alias en tapant la commande conf.

Je vous propose quelques alias sympathiques :

-  alias voir "ls -lagR | more"

  • Permet de lister récursivement le dossier en liste longue, d’afficher aussi les fichiers invisibles(commençant par un ’.’), de renseigner sur le type de fichier, le tout avec un arrêt à chaque fin de page.

-  alias ssh[nom] "ssh [mon_login]@[adresse_de_la_machine]"

  • Permet d’ajouter une liste d’adresses de ses collègues ou de ses machines afin de se connecter rapidement en SSH.les termes entre [ ] sont à remplacer par vos informations.

-  alias ftp[nom] "ftp -p[port] [mon_login]@[adresse_de_la_machine]"

  • Idem pour les connexions en FTP par le terminal, il faut bien évidement que les machines en question disposent d’une adresse IP fixe ou d’un alias DNS.

-  alias bootweb "sudo apachectl graceful"

  • Pour relancer le serveur Apache.

etc...

Enjoy :)

Envoyer
L'e-mail du destinataire :

Votre Nom :

Votre e-mail :


 |  Imprimer |  Réagir
Créer des alias de commande .bashrc
Par Wisrou le 13 avril 2006 - Menu du forum
 
Bonjour à tous, j’ai édité le fichier .bashrc (/etc/bashrc) dans lequel j’ai mis 3 alias. J’ai sauvegardé le fichier, quitté le terminal, puis relancé le terminal. Mais mes alias restent incompris avec le message "-bash : q : command not found" Pourtant j’ai bien édité le fichier bashrc... je ne comprends pas où je me suis trompé.
 
> Créer des alias de commande
Par Jacques Vernin le 8 juin 2005 - Menu du forum
 

J’ai le même problème que décrit dans une autre réaction (Joe ?), c’est à dire que j’obtiens :


imac-g5-de-jacques-vernin : /eslettrin jver$ alias la "ls -a"
-  bash : alias : la : not found
-  bash : alias : ls -a : not found imac-g5-de-jacques-vernin : /eslettrin jver$


et je n’ai âs modifié .bashrc ni l’autre. Le livre "Unix pour Mac OS X Panther" donne les mêmes conseils que vous et ça ne marche pas.

Salutations

JV

 
> Créer des alias de commande
Par neldus le 30 novembre 2005 - Menu du forum
 

Dans mon cas (Mac OS X 10.4.3) cela marche à merveille. J’ai édité mon " /.bash_profile" comme ceci :

export ada="/Users/Moi/Documents/Projets/Ada/"

alias travail="cd $ada"

et voilà.

Merci D :-)

 
> Créer des alias de commande
Par joe le 18 mai 2005 - Menu du forum
 

Apres avoir suivi toute la demarche je n’ai pas reussi a créer d’alias. :(

Lorsque je veux créer un alias, j’obtiens : % alias la "ls -al" bash : alias : la : not found bash : alias : ls -al : not found

Et apres avoir créer et modifier le fichier .tcshrc a la racine de mon home, j’obtiens : % la bash : la : command not found

Pourriez vous m’aider svp ?

 
> Fichier de configuration du shell
Par Gunjin le 18 mai 2005 - Menu du forum
 

C’est tout à fait normal Joe, car il faut savoir qu’il existe plusieurs types de shell, TCSH en est un, et BASH un autre.

Le fichier .tcshrc sert à configurer TCSH, et en ce qui concerne BASH, il convient de modifier ou de créer un .bashrc pour configurer son shell.

@+ :)

 
> Fichier de configuration du bash
Par Aiolia le 4 janvier 2006 - Menu du forum
 
vi mé pour les newbee on fait comment les fichiers de configuration pour bash ? stp
 
> Fichier de configuration du bash
Par MarcOS le 19 janvier 2006 - Menu du forum
 

N’importe quel éditeur de texte suffit pour créer un fichier de configuration. TextEdit par exemple.

Concernant l’article, pour ma part ça n’a pas fonctionné directement. J’utilise /bin/bash comme shell. Mais l’ouverture d’une nouvelle fenêre de Terminal ne lisait pas le fichier .bashrc.

J’ai du modifier les Preferences de Terminal pour que l’ouverture d’une nouvelle fenêtre lance la commande /bin/bash -i

Et là ça fonctionne maintenant.

 
> Fichier de configuration du bash
Par bloodreaver le 11 avril 2006 - Menu du forum
 

Pas besoin de modifier quoi que ce soit. En fait, dans Tiger cela fonctionne maintenant comme ca :

Pour trouver faire un man bash (car c’est le bash par defaut renseigné dans le fichier passwd).

Au depart /etc/profile est lancé, il appelle ensuite le /etc/bashrc, puis par defaut si rien n’est precisé, le shell demarre autmatiquement un .profile dans le Home Folder. il suffit de mettre ses alias dans ce fichier donc pico .profile et roule ma poule. Par contre, si on veut les alias dans le su il faut un fichier /.bashrc CQFD Cordialement

PS : les "tilde" ne passent pas dans les commentaires depuis ma config

 
> Fichier de configuration du bash
Par jmj le 25 mai 2006 - Menu du forum
 

Bonjour à tous !

Voici ce que j’obtiens après avoir configuré les alias avec "sudo pico /etc/bashrc" (sans sudo, impossible d’enregistrer) et au lancement d’une fenêtre de terminal :

bash : alias : q : not found bash : alias : exit : not found bash : alias : lsal : not found bash : alias : ls-al : not found bash : alias : rm : not found bash : alias : rm -i : not found bash : alias : conf : not found bash : alias : pico /etc/bashrc : not found bash : alias : sshadmin : not found bash : alias : ssh admin@ServeurG5 : not found bash : alias : bootweb : not found bash : alias : sudo apachectl graceful : not found Hargl-MBP : jmj$

 
> Fichier de configuration du bash
Par jmj le 25 mai 2006 - Menu du forum
 

Je recommence :

Voici ce que j’obtiens après avoir configuré les alias avec "sudo pico /etc/bashrc" (sans sudo, impossible d’enregistrer) ou "pico .profile" et au lancement d’une fenêtre de terminal :

-  bash : alias : q : not found
-  bash : alias : exit : not found
-  bash : alias : lsal : not found
-  bash : alias : ls -al : not found
-  bash : alias : rm : not found
-  bash : alias : rm -i : not found
-  bash : alias : conf : not found
-  bash : alias : pico /etc/bashrc : not found
-  bash : alias : sshadmin : not found
-  bash : alias : ssh admin@ServeurG5 : not found
-  bash : alias : bootweb : not found
-  bash : alias : sudo apachectl graceful : not found Hargl-MBP : jmj$

et quand je modifie les préférences de terminal : /bin/bash -i

je tombe certes directement sur le prompt mais les alias de commandes ne sont pas plus reconnues...

Alors, le fin mot de l’histoire ? Merci

 
> Fichier de configuration du bash
Par Patrice le 1er juin 2006 - Menu du forum
 

avec bash la commande alias fonctionne de la façon suivante : alias ll="ls -l" (par exemple)

pour ne pas avoir à taper cela à chaque fois, il suffit d’ajouter la commande dans /etc/bashrc

 
> Fichier de configuration du bash
Par Zutz le 3 juin 2006 - Menu du forum
 
Super ! Ca marche ..... Merci !!!
 
> Fichier de configuration du bash
Par allmighty le 10 juin 2006 - Menu du forum
 

salut un autre alias pour lister par page si celle- ci est trop longue

alias p="fc -s| less"

cette alias repasse la derniere commande sous less

 
> Fichier de configuration du bash
Par allmighty le 10 juin 2006 - Menu du forum
 

//je demande ou trouvé une version pdf de tous ces tuto sur le terminale

mon email : baneamadou@gmail.com

 
Copyright 2002-2017 xrings - Tous droits réservés - Mentions légales - Propulsé par SPIP - Webdesigner et référencement Frédéric Guerrier