6 Bash Tips And Tricks Every New User Should Know Feature Image

Table des matières

En tant qu’utilisateurs de Linux, c’est un moment spécial où nous ouvrons un terminal pour la première fois et commençons à travailler sur le système d’une manière la plus efficace, puissante et flexible. Cependant, votre première incursion dans le terminal pourrait potentiellement être intimidante, car tout ce que vous êtes accueilli est un curseur clignotant et un monde sans fin de possibilités. Pour aider à cela, nous vous montrons quelques conseils et astuces bash pour travailler plus intelligemment, pas plus difficile, dans le terminal.

Bash contre le terminal

Si vous pensez que Bash est le terminal, et vice versa, vous avez plus tort que bien. Le terminal est l’application (ou l’interface graphique) où vous tapez des commandes pour interagir avec le système. Bash est le shell (langage de programmation pour UNIX) qui interprète les commandes que vous tapez et les exécutez. Ainsi, lorsque nous ouvrons le terminal et y travaillons, nous avons en fait affaire à la coquille de bash (ou Zsh, poisson ou la coquille qui accompagne votre système). Les conseils et astuces suivants sont des conseils de lignes de commande qui fonctionnent sur le shell bash, plutôt que sur l’application terminale.

1. Créez des alias personnalisés pour des commandes fréquentes

Vous êtes-vous toujours fatigué de taper la même longue commande à chaque fois? Ou avez-vous des commandes que vous tapez une douzaine de fois par jour? Si tel est le cas, vous devriez utiliser des alias. Avec des alias, vous n’avez pas besoin de taper le tout, vous tapez simplement vos alias courts et mémorables.

Par exemple, au lieu de courir git status Chaque fois, vous pouvez construire un alias comme gs ou tout autre raccourci basé sur votre préférence. Vous pouvez créer des alias temporairement pour votre session actuelle ou en permanence.

Pour créer un alias temporaire pour votre session actuelle, vous pouvez utiliser la commande Alias ​​comme celle-ci:

alias gs="git status"

Maintenant, juste type gset Bash fonctionnera git status pour toi. C’est aussi simple que cela. Vous pouvez ajouter autant d’alias que vous le souhaitez, mais la vraie magie se produit lorsque vous rendez ces alias permanents.

Ouvrez simplement votre fichier de configuration bash (généralement «~ / .bashrc» ou ~ / .bash_profile) avec votre éditeur préféré, comme Nano:

sudo nano ~/.bashrc

Ensuite, ajoutez vos commandes d’alias à la fin du fichier.

Enregistrez-le, redémarrez votre terminal ou exécutez:

sudo source ~/.bashrc

Maintenant, ils seront disponibles à chaque fois que vous ouvrez un terminal. De plus, j’ai des alias pour tout, en particulier pour les commandes de mise à jour et de mise à niveau:

alias update='sudo apt update && sudo apt upgrade -y'

Maintenant, au lieu de taper la commande complète, je tape juste updateet il fera le reste.
De plus, vous pouvez même créer des alias avec des paramètres à l’aide de fonctions:

mkcd() {
mkdir -p "$1" && cd "$1"
}

Maintenant, mkcd projects/new-app Crée le répertoire et s’y saute instantanément. Assurez-vous simplement d’éviter d’écraser les commandes intégrées, ou vous finirez par vous confondre.

2. Recherchez instantanément dans votre historique de commandement

Parcourir votre historique terminal avec la flèche UP peut prendre une éternité. Vous savez que la commande est là-dedans, mais y arriver signifie appuyer sur la touche encore et encore. Heureusement, Bash a une recherche intégrée qui le rend sans effort.

Recherche de throghly à l'aide de certificat intégrée

Juste presser Ctrl + R dans votre terminal. Votre invite changera et vous pouvez commencer à taper n’importe quelle partie de la commande que vous recherchez. Lorsque vous tapez, Bash montre instantanément le match le plus récent de votre histoire.

Alternativement, collez cet extrait dans votre fichier «~ / .inputrc» (s’il n’existe pas, créez-le):

"e(A": history-search-backward
"e(B": history-search-forward
set show-all-if-ambiguous on
set completion-ignore-case on

Recharger votre terminal. Vous pouvez maintenant taper quelques caractères et utiliser le En haut/ /Vers le bas Arrow pour rechercher l’historique de bash les commandes qui commencent par le caractère typé. Par exemple, si vous tapez cd / Et appuyez sur le bouton de flèche vers le haut, il recherchera votre historique des commandes qui commencent par cd /.

3. Les commandes de la chaîne ensemble à l’aide de pipelines et de redirection

Une autre grande capacité de bash est que vous pouvez enchaîner les commandes ensemble. Au lieu d’exécuter les commandes une par un, vous pouvez les connecter, de sorte que la sortie de l’une devient l’entrée d’un autre. Vous pouvez le faire avec l’opérateur de pipeline (|).

Par exemple, si vous souhaitez ne voir que des processus en cours d’exécution liés à Python, vous n’avez pas besoin d’utiliser deux commandes distinctes. Au lieu de cela, vous pouvez les enchaîner ensemble comme ceci:

ps aux | grep python
Récupération des processus Python en utilisant la commande de chaîne

Ici, ps aux répertorie tous les processus en cours d’exécution, et grep Python filtre la liste pour afficher uniquement celles liées à Python. De plus, vous pouvez continuer à chaîner plus de deux commandes pour construire des doublures rapides, comme ceci:

cat logfile.txt | grep "error" | wc -l

Cela compte combien de lignes d’erreur apparaissent dans un fichier journal – trois commandes fonctionnant ensemble de manière transparente.

La redirection est un autre outil essentiel. Au lieu d’imprimer la sortie sur votre écran, vous pouvez l’envoyer à un fichier. Par exemple, disons que vous souhaitez enregistrer la liste du répertoire dans un fichier. Vous pouvez le faire avec:

ls -l > files.txt

Vous pouvez également utiliser >> au lieu de > Si vous souhaitez ajouter au lieu de remplacer. La redirection est particulièrement utile pour les journaux, les sauvegardes ou chaque fois que vous souhaitez enregistrer des résultats pour plus tard.

4. Envoyez toute commande en cours d’exécution à l’arrière-plan

Vous venez de lancer quelque chose qui va prendre une éternité, comme un grand transfert de fichiers ou un long travail, et votre terminal est maintenant coincé. Au lieu d’ouvrir une nouvelle fenêtre, vous pouvez la pousser sur l’arrière-plan.

Par exemple. Si quelque chose fonctionne déjà, appuyez Ctrl + Z. Cela le suspend et vous renvoie à l’invite de shell. Puis tapez:

bg

Cela le reprend en arrière-plan, donc ça continue pendant que vous faites d’autres choses. Cependant, si vous souhaitez voir quels travaux sont en cours d’exécution ou en suspension, utilisez simplement ceci:

jobs

Vous pouvez également en ramener un au premier plan avec ceci:

fg %1

Utilisez le numéro du travail; Si vous le laissez de côté, fg choisit le plus récent. De plus, vous pouvez également démarrer une commande en arrière-plan depuis le début en ajoutant & comme ça:

some_long_task &

De cette façon, il commence à détacher et vous obtenez votre invite immédiatement. Une autre astuce: si vous craignez que le travail soit tué lorsque vous fermerez le terminal, vous pouvez courir:

disown -h %job

Cette commande bash envoie un code «ne pas suspendre» (sighup) à ce travail lorsque votre shell sort. Ou utilisez NoHup au début, n’oubliez pas: les travaux d’arrière-plan peuvent toujours écrire la sortie sur votre écran, et toutes les commandes ne sont pas comme le fait d’être fondaient. Utilisez la redirection ou le noHup en cas de besoin.

5. Re-Rerr la commande précédente avec les privilèges racine (sudo !!)

C’est celui qui est vraiment utile dans un scénario spécifique qui m’arrive beaucoup. !! (Bang-bang) réduira en entier la commande précédente. Cela peut ne pas sembler utile, mais si vous pensez à toutes les fois où vous tapez une commande qui doit être exécutée sous des privilèges de super utilisateur, vous commencerez à comprendre où cela est utile.

Un excellent exemple consiste à installer des scripts. Disons que vous exécutez un script d’installation avec «./script-name.sh», et il dit que vous devez l’exécuter avec des privilèges de superutilisateur. Just Type sudo !!entrez votre mot de passe et vous êtes parti pour les courses. Il économise beaucoup de temps, et une fois que vous aurez obtenu cette séquence dans votre mémoire musculaire, vous pourrez le faire plus rapidement que lorsque vous le faisiez mal.

Tableaux et astuces Bang Bang

6. Exécutez plusieurs commandes simultanément

Parfois, vous ne voulez pas vous asseoir en tapant une commande à la fois. Bash vous permet de les enchaîner ensemble pour qu’ils courent l’un après l’autre sans que vous ayez à attendre. Si vous voulez juste qu’ils s’exécutent tous en séquence quoi qu’il arrive, vous pouvez séparer les commandes avec un point-virgule (;), comme ça:

mkdir newdir; cd newdir; touch file.txt

Si vous voulez que la deuxième commande s’exécute lorsque la première réussit, utilisez &&comme ça:

sudo apt update && sudo apt upgrade

D’un autre côté, vous pouvez utiliser || Pour exécuter quelque chose uniquement si la première commande échoue:

backup_database || echo "Backup failed!"

Vous n’êtes pas non plus limité aux commandes séquentielles. Ajoutez un ampère et à la fin et la commande s’exécute en arrière-plan et libérant votre terminal. Par exemple, vous pouvez ouvrir plusieurs applications directement à partir de votre terminal de diverses manières:

python script.py & firefox &

Cela exécute votre script Python et ouvre Firefox en même temps. De plus, une fois que vous serez à l’aise avec le chaînage, les travaux d’arrière-plan et un peu de substitution de processus, vous cesserez de penser les commandes comme des étapes uniques et commencez à les traiter comme des blocs de construction, vous pouvez vous réunir dans des flux de travail plus importants.

7. Trouver des commandes avec APROPOS

APROPOS (App-Row-Poe) est une commande qui vous permet de trouver des commandes avec man ou des entrées manuelles en fonction de leur description. Si vous avez déjà trouvé une page d’homme d’une commande, cela ressemble un peu à ceci:

Tableaux et astuces

Cette section «nom» en haut est ce dont je parle. Si je voulais trouver le ping commander avec aproposJe taperais apropos icmp dans mon terminal et appuyez sur Entrée. Notez que ce n’est pas sensible à la casse. Cela tire chaque commande avec une entrée de nom qui contient «ICMP».

Conseils et astuces à propos

Une autre grande utilité pour apropos explore des outils que vous ne connaissez peut-être pas, comme selinux. Émettant le apropos selinux La commande vous donnera une liste de toutes les différentes commandes que vous pouvez utiliser pour interagir avec le Selinux, vous faisant démarrer sur la route pour faire respecter efficacement.

8. substituer dans la commande précédente

Quelque chose qui m’a fait gagner une tonne de temps dans le terminal consiste à comprendre comment remplacer quelque chose dans la commande précédente. Si je vais mal orthographier quelque chose ou si j’ai juste besoin de remplacer une option dans la commande précédente, je peux utiliser un ^ clé pour tirer le mot que j’ai mal orthographié, puis un autre ^ pour mettre le mot ou l’option que je voulais.

Regardons un exemple. Supposons que je souhaite cingler «maketecheasier.com» pour m’assurer d’avoir une connectivité Internet complète (y compris DNS). Mais si je mal orthographier quelque chose, je pourrais obtenir une sorte d’erreur. Donc, si je ping accidentellement Maktecheaser.com (manquant le «je»), j’aurai des problèmes.

Pour remplacer l’option mal orthographiée, je peux taper ^maktecheaser.com^maketecheasier.comet la commande s’exécutera comme prévu. Ceci est un exemple simple, mais disons que vous exécutez une longue commande avec beaucoup d’options ou mal orienter la sortie ou les erreurs de votre commande. Être capable de substituer > pour >> Dans une commande complexe se trouve une bouée de sauvetage.

Conseils de bash Tips and Tricks Ping Exemple

Un autre exemple est avec Systemd et le systemctl commande. Je vais souvent émettre plusieurs différents systemctl sous-communs, comme commencer, arrêter, activer ou désactiver un service. Je peux juste les soumettre avec ^start^enablece qui me fera gagner du temps.

9. Passer des arguments des commandes précédentes

En utilisant !$nous pouvons transmettre le dernier argument d’une commande à la commande actuelle, et avec quelques variations légères, nous pouvons transmettre n’importe lequel des arguments à notre commande actuelle.

Regardons quelques exemples. Si je modifie un script, je peux utiliser la commande nano samplescript.sh. Une fois que j’ai terminé ce script, je veux le rendre exécutable, donc je peux changer les autorisations octales en 755. Pour ce faire, je pourrais utiliser le chmod 755 !$ commande. Ensuite, pour retirer le nom du script, je pourrais utiliser ./!:2 pour extraire le deuxième argument.

Conseils et arguments de trucs

Quelques autres exemples:

!^ - first argument
!* - all arguments
!:2-$ - second through last arguments
!:2-4 - second through fourth arguments

Vous pouvez remplacer vos chiffres pour tirer tous les arguments que vous souhaitez. Bash conservera près de 100 arguments à la pression avec cette méthode, et vous pouvez facilement travailler rapidement à travers certaines tâches subalternes comme celle-ci.

J’espère que vous avez apprécié ces conseils et astuces bash pour vous aider à travailler plus intelligent dans le terminal. Vous devez également en savoir plus sur les variables bash et les caractères spéciaux.

Partager :
Facebook
Twitter
LinkedIn

Gentil Geek

Passionné d'informatique depuis ma plus tendre enfance aujourd'hui j'en ai fait mon métier. A vos côtés pour simplifier votre utilisation de l'informatique et vous permettre de gagner en compétences.

Poster le commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *