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 !

Vus : 487
Publié par Scurz : 48