Fermer

octobre 24, 2021

9 astuces pour gagner du temps pour votre ligne de commande



Comment écrivez-vous un bon code ? En étant efficace. Si vous voulez créer quelque chose de génial, vous devrez éliminer les vidages de temps qui vous ralentissent. Avec seulement quelques astuces, vous pouvez accélérer votre travail et vous concentrer sur ce qui compte.

1. Créez des alias

Chaque shell est livré avec un fichier appelé ~/.bashrc ou ~/.bash_profile. Celui que vous utiliserez dépend de votre système. Cet article l'explique en détail.

Pensez maintenant aux commandes que vous utilisez beaucoup. Les taper à chaque fois est ardu et vous pouvez tout gâcher si vous avez tendance à faire des fautes de frappe. C'est à cela que servent les alias : ils remplacent votre commande d'origine par un raccourci.

alias $preferredAlias='$commandToAlias'

Par exemple, j'ai un dossier Dropbox auquel j'ai besoin d'accéder assez souvent. Comme je n'aime pas taper trop de caractères, j'ai cet alias dans mon ~/.bash_profile:

alias topbox="cd ~/Dropbox/top-eft/"

D'autres les alias utiles sont :

alias mv="mv -i"
alias cp="cp -i"

L'option -i indique que vous serez invité avant d'écraser un déposer. Si vous avez déjà accidentellement écrasé quelque chose d'important, vous savez de quoi je parle.

Si vous utilisez beaucoup d'alias, il peut être judicieux de créer un fichier séparé. Il suffit de regrouper tous vos alias dans un nouveau fichier appelé ~/.bash_aliases. Maintenant, vous devez indiquer à votre fichier de configuration d'origine où résident les alias. Pour cela, ajoutez les lignes suivantes en haut de votre ~/.bash_profile ou ~/.bashrc :

if [ -f ~/.bash_aliases ] ; puis
. ~/.bash_aliases
fi

Et vous avez terminé !

Chaque fois que vous avez modifié votre fichier bash, assurez-vous d'exécuter les deux commandes suivantes :
source ~/.bash_profile
source ~/.bashrc

De cette façon, vous dites à votre système d'adhérer à vos modifications à partir de maintenant. Si vous ouvrez une nouvelle fenêtre, le fichier sera automatiquement source.

2. Pimp your prompt

Votre invite de ligne de commande est la première chose que vous verrez lorsque vous commencerez à travailler, et probablement la dernière chose que vous regardez avant de partir. Il est donc logique de l'adapter à vos préférences.

Je suis un minimaliste, j'inclus donc uniquement le répertoire actuel dans mon invite. Par conséquent, dans mon ~/.bash_profile j'ai spécifié :
PS1='[W]$ '
Ici, le W fait référence au répertoire courant, et PS1 est la variable qui fait référence à l'invite.

D'autres options courantes sont :

  • Un horodatage vous aide à retracer votre travail. Ajoutez @ dans votre fichier.
  • L'ajout de votre nom d'utilisateur et de votre nom d'hôte a du sens si vous travaillez sur un serveur distant. Ajoutez u et / ou h.
  • Vous pouvez ajouter le shell et la version shell si cela est pertinent pour votre travail. Ajoutez s et/ou v à votre fichier.
  • Un signe dollar $ marque généralement la fin de l'invite.

Vous pouvez également imprimer votre invite en couleurs. Cela peut aider lorsque vous générez beaucoup de sorties (ou de messages d'erreur…) et que vous voulez voir où le programme a commencé.

3. Tirez le meilleur parti de votre historique

Bien sûr, vous ne voulez pas taper les mêmes commandes encore et encore. Bien sûr, il y a la complétion de tabulation – commencez à taper une commande, puis appuyez sur tab pour la compléter automatiquement. Mais que faire si vous voulez accéder à vos commandes passées ? Il existe quelques options :

  • Les flèches haut et bas vous permettent de naviguer dans votre historique récent.
  • Si vous souhaitez réexécuter votre dernière commande, tapez !!.
  • Si vous voulez réexécuter la dernière commande commençant par foo, tapez !foo. Supposons par exemple que la dernière fois que j'ai utilisé mon éditeur de texte préféré, j'ai ouvert mon fichier de configuration : vim ~/.bash_profile. La prochaine fois, je taperai simplement !vim.
  • Si vous souhaitez accéder à l'argument de la commande précédente, vous pouvez utiliser !$. Disons que je viens d'ouvrir mon fichier de configuration avec vim, mais maintenant je veux utiliser un autre éditeur de texte. Ensuite, nano !$ suffit.
  • Et si vous vous souvenez de la partie centrale d'une longue commande, mais pas des premières lettres ? Vous pouvez rechercher la commande en utilisant ctrl+Rpuis en tapant les lettres que vous connaissez. Une fois que vous avez trouvé la commande, appuyez sur enter comme d'habitude.
  • Si vous voulez voir les 500 dernières commandes que vous avez effectuées, tapez simplement history. Vous pouvez modifier le nombre de commandes stockées dans l'historique à, disons, un million d'entrées en ajoutant HISTSIZE=1000000 et HISTFILESIZE=1000000 à votre configuration de shell. Si vous souhaitez supprimer l'intégralité de votre historique, saisissez rm ~/.bash_history.

4. Utilisez votre environnement efficacement

Vous avez déjà rencontré quelques variables d'environnement — PS1HISTSIZE et HISTFILESIZE. En général, ce sont des variables écrites en LETTRES MAJUSCULES qui définissent des propriétés importantes du système.

Vous pouvez accéder à la liste complète d'entre elles avec la commande set. Un autre exemple (parmi beaucoup) est SHELLOPTS. Il répertorie tous les programmes qui sont définis sur « on » au démarrage de votre session de terminal. Une documentation complète des variables prédéfinies peut être trouvée dans la documentation GNU.

5. Profitez des options du shell
Vous pouvez personnaliser votre shell de plusieurs manières avec les options du shell. Pour afficher toutes les options, exécutez les commandes suivantes dans votre terminal :
bash -O
bash -o

L'option -O fait référence aux options spécifiques au shell bash, tandis que -o fait référence à toutes les autres options.

Dans la liste affichée, vous verrez également si une option est activée ou désactivée. Vous pouvez modifier le paramètre par défaut en ajoutant une ligne dans votre fichier de configuration. Voici quelques exemples pratiques :
# Corriger l'orthographe
shopt -q -s cdspell
# Cd dans le répertoire avec uniquement son nom
shopt -s autocd
# Recevoir une notification immédiate de la fin du travail en arrière-plan
set -o notify

La première option répertoriée ici rend le shell plus résistant aux fautes de frappe. La seconde vous évite de taper cd à chaque fois que vous souhaitez changer de répertoire. Et si de nombreuses tâches en arrière-plan sont en cours d'exécution, vous souhaiterez peut-être être averti en ajoutant la troisième option à votre fichier d'environnement.

6. Rechercher des fichiers par nom

Imaginons que vous recherchiez le fichier foo.txt, mais que vous n'ayez aucune idée de l'endroit où vous l'avez placé. Ensuite, à partir de votre répertoire personnel, tapez :
find . -name foo.txt

Ici, le fichier . représente le répertoire de travail actuel, et vous spécifiez le nom du fichier avec l'option -name. Vous pouvez également utiliser des caractères génériques. Par exemple, cette commande renverra tous les fichiers au format txt :
find . -nom *.txt

7. Rechercher des fichiers par contenu

Imaginons que vous souhaitiez rechercher toutes les occurrences de bar dans foo.txt. Alors grep est votre ami :
grep bar foo.txt

Si vous voulez rechercher plusieurs fichiers, vous pouvez les ajouter comme ceci :
grep bar foo.txt foo2.txt foo3.txt

Et si vous souhaitez rechercher bar dans tous les fichiers du répertoire dirfoo, vous pouvez utiliser le mode récursif :
grep -r bar dirfoo

Pour plus d'options, vous pouvez consulter la page manual. Appuyez simplement sur man grep dans votre terminal.

8. Traitez beaucoup de sortie

Parfois, vous aurez envie de chercher quelque chose, mais la sortie est trop longue pour être imprimée à l'écran. C'est là que la tuyauterie avec le symbole | est utile.

Disons par exemple qu'il y a un millier de fichiers dans le répertoire dirfoo qui contiennent bar. Vous voudrez peut-être passer au crible la sortie et sélectionner les fichiers qui vous intéressent. Ensuite, vous pouvez taper :
grep -r bar dirfoo | less

Cela affichera la sortie d'une manière plus digeste. Vous pouvez alors prendre note des fichiers souhaités et fermer l'affichage en tapant q. Cela laissera votre interface de ligne de commande épurée.

Vous pouvez également utiliser grep dans le sens inverse. Supposons que vous vouliez exécuter un programme fooprog qui produit beaucoup de sorties. Mais vous n'êtes intéressé que par la partie qui contient bar.

Pour rendre cette sortie plus compréhensible, vous pouvez ajouter les trois lignes précédant chaque occurrence de bar et les cinq lignes qui la suivent. Vous pouvez alors taper :
./fooprog | grep -B3 -A5 -i bar

Ici, -B3 fait référence aux trois lignes avant la mesure et -A5 aux cinq après. De cette façon, vous pouvez vous assurer que vous n'obtiendrez que des informations significatives imprimées dans votre terminal.

9. Se déplacer dans le texte

Vous pensiez que votre terminal était uniquement composé de frappes ? Eh bien, en voici un : vous pouvez alt-cliquer au milieu d'une ligne dans votre terminal. C'est un peu maladroit, mais ce sera suffisant pour impressionner vos amis.
Ce qui vous fera gagner beaucoup de temps, ce sont les raccourcis clavier. Pour commencer, je vous propose de commencer par adopter les éléments suivants :

  • Haut au début d'une ligne avec ctrl+a.
  • Haut jusqu'à la fin d'une ligne avec ctrl+e .
  • Supprimez tout du début de la ligne jusqu'au curseur avec ctrl+u.
  • Supprimez tout du curseur à la fin de la ligne avec ctrl+k .
  • Vous pouvez adopter d'autres raccourcis en utilisant la liste complète des raccourcis clavier d'Apple. Cela fonctionne également très bien sur une ligne de commande Linux.
    Bien sûr, vous ne pouvez pas apprendre tous les raccourcis clavier à la fois. Je suggère de commencer par quelques-uns d'entre eux, puis de passer au couple suivant une fois que vous avez maîtrisé le premier. , l'invite, les variables d'environnement et les options du shell. Vous pouvez désormais accéder à son historique, parcourir de grandes quantités de fichiers et naviguer vers les parties significatives.
    Le codage est un processus d'apprentissage continu. Il n'est jamais trop tard pour être efficace !




Source link