Des commandes bash pures et dures
Je trouve que beaucoup d'utilisateurs de bash ne connaissent pas certaines astuces utiles liées à des commandes usuelles, parce qu'elles ne sont pas assez mises en avant dans les documentations. Nous allons donc voir ici quelques commandes/astuces bash que tout le monde ne connait pas.
Les expressions : utlisation de "?" :
- Afficher tous les répertoires/fichiers comportant un seul caractère après le point :
ls *.? # ajoutez autant de "?" que vous souhaitez (??? pour trois caractères)
- Afficher tous les répertoires/fichiers comportant 5 caractères :
ls ? # adaptez le nombre de "?"
- Afficher tous les fichiers/répertoires dont le nom débute par "a" ou "b" :
ls [ab]* # vous pouvez remplacer les lettres, et même en ajouter/supprimer
Redirections :
- Rediriger les erreurs renvoyées par une commande :
macommande 2> erreur.file # vous pouvez faire 2>> pour ne pas écraser le erreur.file si il existe
- Rediriger les erreurs renvoyées par une commande vers "nul part" :
macommande 2> /dev/null
- Rediriger le résultat d'une commande dans un fichier qui n'existe pas :
ls | tee my_file
ou
ls > my_file
- Rediriger le résultat d'une commande dans un fichier qui existe (on veut concaténer) :
ls | tee -a my_file
ou
ls >> my_file
- Rediriger le résultat de plusieurs commandes dans un fichier, en restant dans le shell courant :
(cd /root/ ; pwd ; ls) > file
- Rediriger le résultat de plusieurs commandes dans un fichier, en allant dans /root :
{ cd /root/ ; pwd ; ls ;} > file
Voilà globalement des astuces bien utiles mais trop peu utilisées !