Comment dynamiser votre terminal effrayant avec de petits scripts utiles

Photo par Matt Artz sur Unsplash

Je vais vous parler de trois outils précieux qui vous aideront enfin à vaincre votre peur des terminaux: les pseudonymes Git, les pseudonymes Bash et les extraits en un clic.

Une combinaison d'alias et de scripts bash peut vous rendre très productif dans votre flux de travail de développement. Utilisez-le assez longtemps et vous oublierez même les commandes d'origine situées sous les alias. Ce qui n’est pas vraiment une mauvaise chose - jusqu’à ce que vous obteniez un nouvel ordinateur portable brillant et que vous ne sachiez pas où vous avez placé vos alias dans l’ancien :)

Vous avez peut-être utilisé des alias Git. Vous pourriez trouver de nouveaux alias de bash. Mais ne manquez pas le gif montrant des icônes en un clic au travail vers la fin. Ces icônes de bureau en un clic sont ma ligne de défense. Ils m’aident à plonger directement dans le codage / l’écriture avant que la liste inoffensive «Les plus visités» de l’onglet Nouvel onglet du navigateur ne me fasse perdre la route.

En passant, j’utilise Firefox tous les soirs et il est facile de configurer une ardoise vierge comme nouvel onglet. D'accord, aux affaires.

1: Alias ​​Git

Si le terminal est le donjon des débutants en technologie, Git a tendance à être le passage le plus sombre, intimidant avec de longues périodes de commandes.

Mais, Git est magnifique. Essayez ce jeu.

Une partie de rendre git plus facile à utiliser consiste à créer vos propres alias. C'est-à-dire une fois que vous avez compris les commandes sous-jacentes. Ce n'est pas pour vous donner tous les alias utiles. Au lieu de cela, je vous orienterai vers les possibilités afin que vous puissiez construire votre propre liste d’alias.

Vol solo

Disons que vous piratez vous-même. Vous mettez en scène et commettez toute la journée, peut-être votre code ou vos écrits pour le blog. Vous trouverez une multitude d’alias très utiles.

git config --global alias.s status
git config --global alias.aa 'add --all'
git config --global alias.cm 'commit -am'
git config --global alias.up 'push'

Assurez-vous de disposer d’un fichier .gitignore bien défini pour éviter de suivre les fichiers inutiles tels que node_modules. Cela vous aidera lorsque vous utilisez git aa pour organiser tous les fichiers.

Tous ces alias sont stockés dans un fichier de configuration sous le répertoire de base. Jetez un coup d'œil à ~ / .gitconfig. Vous pouvez même éditer le fichier de configuration directement - assurez-vous de ne pas le trébucher.

Collaboration de code

Lorsque vous collaborez avec une équipe, une liste complète de commandes peut être utile. Rappelez-vous, rebase réécrit l'histoire. Il est conseillé aux branches locales de nettoyer votre code par-dessus une branche distante.

git config --global alias.pr 'pull --rebase upstream master'

En voici une de Harry sur les alias blâmants et autres pépites que vous pourriez trouver utiles.

Alias ​​avancés

git config --global alias.ls 'log --pretty = format: "% C (jaune)% h% C (vert)% s% Creset (% ad)" --date = relative'

% C (jaune) marque le jeton suivant le code de couleur en rouge. Dans notre cas ci-dessus,% h correspond au commit hash, qui sera peint en jaune sur notre terminal. % Creset, sans crochets, vous ramène à la couleur de police par défaut du terminal. --date = parent vous dit il y a jours / semaines au lieu d'une date réelle.

Tous ces mots peuvent s’efforcer d’expliquer à quoi cela ressemble, mais le voici:

journal git codé par couleur

Références

Vous pouvez en apprendre plus sur la décoration dans git-scm.com. Il existe une foule d'informations que vous pouvez extraire, telles que% h,% n, etc. En passant, c’est un livre entièrement gratuit sur Git. Commencez à la page 1.

J'ai appris beaucoup de trucs utiles de Nicola il y a quelque temps, lors de son discours au sommet Atlassian de 2014. Je ne pouvais pas trouver la vidéo, mais j’ai trouvé sa diapositive. Ne manquez pas cette fonction anonyme dans les alias.

Voici une liste de ses pseudonymes Git. Mais, dans ses propres mots, ne copiez pas simplement des alias. Construisez-les au fur et à mesure, en ajoutant uniquement les alias qui vous sont utiles. Sinon, ce sera comme passer des heures à préparer des articles / livres que nous ne lirons jamais.

2: Alias ​​Bash

Git n'est pas la seule interface de ligne de commande (CLI) à demander la saisie sur le terminal. Pensez à bundb exec rails db: migrer sur un terminal ou un script d’exécution NPM exécuté par docker-compose que vous exécutez sur un conteneur. Que diriez-vous de quelque chose de plus court?

Si vous utilisez des commandes plus longues quotidiennement, envisagez de configurer des alias bash.

La syntaxe est très simple.

alias new_cmd = 'never-ending-command; et une autre commande '

Vous ajoutez ceci à la fin du fichier .bashrc dans votre dossier personnel. Normalement, ~ / .bashrc est l’emplacement où il se trouve. Celui que j'ai récemment créé concerne les commandes du menu fixe. Cela devrait servir d'exemple.

alias dc = 'docker-compose'
alias de = 'docker-compose exec'
alias up = 'cd ~ / Projects / docker_project /; dc up '

J'avais l'habitude de me déconnecter et de me reconnecter pour le faire fonctionner sur les terminaux. Cependant, cette commande géniale de Stackoverflow m'a sauvé. Exécutez ceci sur votre terminal et commencez immédiatement à utiliser de nouveaux alias: source ~ / .bashrc

Pensez-vous ce que je pense? Oubliez les alias Git? Comment appelons-nous bash alias pour git pull --rebase upstream master? Que diriez-vous de gprum?

Devenir fou! Veillez à ne pas réutiliser les commandes existantes. Par exemple, df montre de l’espace disque libre sous Linux, je ne l’utiliserais donc pas comme alias.

3: extraits en un clic

Mes favoris. En un clic, sur l’icône de votre bureau conçu sur mesure, avec votre propre logo, vous obtiendrez les éléments suivants:

  • Ouvre votre dossier de projet dans VS Code / atom
  • Un terminal exécutant un serveur de développement sur un onglet
  • Un autre onglet exécutant tests / rechargement à chaud
  • Dernier onglet qui s'ouvre avec le statut Git
  • Le dernier onglet reste ouvert pour que vous puissiez faire des choses.
  • Si votre serveur dev n'ouvre pas le navigateur, vous pouvez l'ouvrir ici

Il y a quelque chose de magique lorsque vous pouvez simplement appuyer sur une icône et que l'environnement entier naît pour vous. Un clic et vous obtenez déjà votre éditeur de texte, votre serveur Web et vos tests.

Le fichier bash get-to-work.sh ressemble à ceci. À propos, c'est sous Linux.

#! / bin / bash
export WD = "~ / development"
code $ WD gnome-terminal \
 --tab --working-directory = $ WD \
 -e 'bash -c "export BASH_POST_RC = \" npm start \ "; exec bash"' \
 --tab --working-directory = $ WD \
 -e 'bash -c "export BASH_POST_RC = \" npm lancer le suivi \ "; exec bash"' \
 --tab --working-directory = $ WD \
 -e 'bash -c "export BASH_POST_RC = \" statut git \ "; exec bash"'

Nous avons un répertoire de travail configuré sous la variable WD. Commence alors une très longue ligne qui se plie pour 7 lignes sur une largeur de terminal de 80 caractères. Ne laissez pas cela vous effrayer. Si vous regardez attentivement, nous ouvrons gnome-terminal avec trois onglets et trois commandes différentes.

Exécutez cette commande pour marquer le script exécutable bash.

chmod + x get-to-work.sh

Vous pouvez déjà vérifier si le script fonctionne. Cd dans le dossier où vous avez le script shell et tapez ceci sur votre terminal.

./get-to-work.sh

Ajoutons une jolie icône de bureau à notre script. Exec et Icon sont importants. Ils doivent être dans un fichier .desktop. J'ai nommé le mien comme get-to-work.desktop.

À propos, c'est pour Linux. La plupart des bureaux utilisent la spécification freedesktop. En lisant entre les lignes, j'aurais peut-être enfreint quelques directives (comme ne pas supprimer de champs même s'ils ne sont pas applicables).

[Entrée du bureau]
Nom = Travailler
Commentaire = Commencez à coder en un instant.
GenericName = Environnement de développement
Exec = / home / nom d'utilisateur / snippets / get-to-work.sh
Icon = / usr / share / icons / logo.png
Type = Application
Terminal = true
StartupNotify = true
Categories = Utilitaire;

N'oubliez pas d'utiliser le chemin correct à la place de / home / nom_utilisateur / .... Assurez-vous de placer l'icône dans un dossier accessible où vous êtes autorisé à au moins lire le fichier.

Validez et installez le fichier .desktop.

bureau-fichier-valider get-to-work.desktop
bureau-fichier-installer get-to-work.desktop

Si vous rencontrez des problèmes d’autorisation, il est préférable de l’installer localement, comme ceci:

bureau-fichier-installer get-to-work.desktop --dir = .local / share / applications

C'est tout. Votre logo sera prêt en tant qu’application dans votre lanceur. Vous pouvez également l'installer sur le quai.

Regarder l'icône en un clic en action

Voici un gif montrant mon script récent en un clic.

Un plus grand, 2,6 Mo, peut être trouvé ici si vous voulez regarder de plus près.

En voici un de plus que j'utilise pour commencer à écrire mon blog.

  • Ouvre le dossier du blog sur le code VS
  • Charge localhost sur firefox
  • Ouvre le serveur Hugo sur le terminal

Contrairement à l'exemple précédent, dans celui-ci, j'utilise l'OS élémentaire et le terminal panthéon par défaut qui l'accompagne. Mais cela n’ouvre pas plusieurs onglets, et je n’ai pas compris comment faire en sorte que panthéon-terminal le fasse (comme nous l’avons déjà vu avec gnome-terminal). Ce petit & à la fin de Firefox redonne le contrôle au script. Sinon, mon terminal ne s’ouvrirait pas avant la fermeture de Firefox.

#! / bin / bash
export WORK_DIR = "~ / pineboat"
/ opt / firefox / firefox localhost: 1313 &
code $ WORK_DIR
pantheon-terminal -e 'bash -c "cd $ WORK_DIR; serveur hugo -wvFD"'

Enfin, j’ai créé un fichier de bureau avec le logo de mon blog. Assez doux, n'est-ce pas?

J'espère que cela a été utile et évite quelques frappes au clavier. Clap / Share / Tweet pour laisser votre réseau savoir, si vous pensez qu'ils apprécieront ce poste. Tous les problèmes, connectez-vous sous ce problème github. Ou dans les conversations ci-dessous.

Merci pour votre temps et votre attention!

Initialement publié sur www.pineboat.in - une île inconnue sur Internet.