Je passe une grande partie de ma journée dans le terminal, et mon shell de choix est Zsh – un shell Unix hautement personnalisable qui contient des fonctionnalités très puissantes. Comme je suis un développeur paresseux TM je cherche toujours des moyens de taper moins et d’automatiser toutes les choses. Heureusement, c'est quelque chose auquel Zsh se prête bien.
Dans cet article, je vais partager avec vous 75 commandes, plugins, alias et outils qui, espérons-le, vous permettront d'économiser quelques touches et de vous rendre plus productif dans votre journée.
Si vous n'avez pas installé Zsh sur votre machine, consultez cet article où je vous montre comment être opérationnel.
15 choses que Zsh peut Sortez de la boîte
Zsh partage de nombreuses fonctionnalités pratiques avec Bash. Aucun des éléments suivants n'est unique à Zsh, mais il est bon de le savoir néanmoins. Je vous encourage à commencer à utiliser la ligne de commande pour effectuer des opérations telles que celles répertoriées ci-dessous. Cela peut sembler plus de travail que d'utiliser une interface graphique au début, mais une fois que vous maîtrisez les choses, vous ne regarderez jamais en arrière.
- La saisie du
cd
de n'importe où sur le système de fichiers vous amènera directement retour à votre répertoire personnel. - La saisie de
!!
affichera la dernière commande. C'est pratique si une commande échoue car elle a besoin de droits d'administrateur. Dans ce cas, vous pouvez tapersudo !!
. - Vous pouvez utiliser
&&
pour chaîner plusieurs commandes. Par exemple,mkdir project && cd project && npm init -y
. - L'exécution conditionnelle est possible en utilisant
||
. Par exemple,git commit -m "any ..." || echo "Commit failed"
. - L'utilisation d'un commutateur
-p
avec la commandemkdir
vous permettra de créer des répertoires parents selon vos besoins. L'utilisation de l'accolade réduit la répétition. Par exemple,mkdir -p articles / jim / sitepoint / article {1,2,3}
. - Définissez les variables d'environnement sur une base par commande comme ceci:
NODE_DEBUG = myapp node index.js
. Ou, par session comme ceci:export NODE_DEBUG = myapp
. Vous pouvez vérifier qu'il a été défini en tapantecho $
. - Canalisez la sortie d'une commande dans une deuxième commande. Par exemple,
cat /var/log/kern.log | moins
pour rendre un long journal lisible, ouhistorique | grep ssh
pour rechercher toutes les entrées d'historique contenant "ssh". - Vous pouvez ouvrir des fichiers dans votre éditeur depuis le terminal. Par exemple,
nano ~ / .zshrc
(nano),subl ~ / .zshrc
(Texte sublime),code ~ / .zshrc
(code VS). Si le fichier n'existe pas, il sera créé lorsque vous appuyez sur Enregistrer dans l'éditeur. - La navigation est une compétence importante à maîtriser. Ne vous fiez pas seulement à vos touches fléchées. Par exemple, Ctrl + a vous amènera au début d'une ligne.
- Alors que Ctrl + e vous emmènera jusqu'à la fin.
- Vous pouvez utiliser Ctrl + w pour supprimer un mot (en arrière).
- Ctrl + u ] supprimera tout du curseur jusqu'au début de la ligne.
- Ctrl + k effacera tout, du curseur jusqu'à la fin de la ligne. Ces trois derniers peuvent être annulés avec Ctrl + y .
- Vous pouvez copier du texte avec Ctrl + Shift + c . C'est beaucoup plus élégant que de cliquer avec le bouton droit et de sélectionner Copier .
- Inversement, vous pouvez coller du texte copié avec Ctrl + shift + v .
Essayez de valider ces combinaisons de touches en mémoire. Vous serez surpris de la fréquence à laquelle ils sont utiles.
15 alias personnalisés pour booster votre productivité
Les alias sont des raccourcis terminaux pour les commandes normales. Vous pouvez les ajouter à votre fichier ~ / .zshrc
puis recharger votre terminal (en utilisant la source ~ / .zshrc
) pour qu'ils prennent effet.
La syntaxe de déclaration d'un (simple) alias est le suivant:
alias [alias-name] = '[command]'
Les alias sont parfaits pour les commandes souvent utilisées, les commandes longues ou les commandes dont la syntaxe est difficile à retenir. Voici certains de ceux que j'utilise régulièrement:
- Un alias
myip
qui imprime votre adresse IP publique actuelle sur le terminal:alias myip = 'curl http: // ipecho .net / plain; echo '
. - Un alias
distro
pour afficher des informations sur votre distribution Linux:alias distro =' cat /etc/*-release'2019459017.
reload
alias, car je n'arrive jamais à me souvenir comment recharger mon terminal:alias reload = 'source ~ / .zshrc'
. - Un
undo-git-reset
alias:alias undo-git-reset-head = "git reset 'HEAD @ {1}'"
. Cela annule les effets de l'exécution degit reset HEAD ~
. - Un alias pour mettre à jour les listes de packages:
alias sapu = 'sudo apt-get update'
. - Un alias pour réexécutez la commande précédente avec
sudo
:alias ffs = 'sudo !!'
. - Parce que je suis paresseux, j'ai redéfini
y
versfil
commande:alias y = 'fil'
. Cela signifie que je peux cloner un dépôt, puis tapez simplement y pour récupérer toutes les dépendances. J'ai appris celui-ci de Scott Tolinski sur Syntaxe . - Pas un de ceux que j'utilise, mais cet alias efface le dossier
node_modules
et supprime lepackage-lock .json
avant de réinstaller les dépendances d'un projet:alias yolo = 'rm -rf node_modules / && rm package-lock.json && yarn install'
. Comme vous le savez probablement, yolo signifie Y ou O nly L ive O nce. - Un alias pour ouvrir mon
.zshrc
fichier à modifier:alias zshconfig = 'subl $ HOME / .zshrc'
. - . Un alias pour mettre à jour la liste des versions Ruby rbenv peut être installé :
alias update-available-rubies = 'cd ~ / .rbenv / plugins / ruby-build && git pull'
- Un alias pour lancer un serveur dans votre répertoire actuel (aucun paquet npm requis) :
alias server = 'python -m SimpleHTTPServer 8000'
. - Vous pouvez également créer un alias pour ouvrir la documentation dans votre navigateur:
alias npmhelp = 'firefox https://github.com/ robbyrussell / oh-my-zsh / tree / master / plugins / npm '
. - Un alias global pour diriger la sortie d'une commande vers
moins
:alias -g L =' | moins '
. Vous pouvez l'utiliser comme ceci:cat production.log L
. - Un alias global pour diriger la sortie d'une commande vers
grep
:alias -g G = '| grep '
. Vous pouvez l'utiliser comme ceci:history G ssh
. - Vous pouvez également utiliser des fonctions pour créer des alias. Ce qui suit (extrait de ici ) crée un alias qui ajoute, valide et pousse le code vers GitHub:
bash
fonction acp () {
git add.
git commit -m "$ 1"
git push
}
Il existe de nombreux endroits pour trouver plus d'idées d'alias en ligne. Par exemple, cette discussion de Hacker News ou cet article sur productivité en ligne de commande avec Zsh .
15 choses sympas que vous pouvez faire avec (Oh My) Zsh
Oh My Zsh est un framework géré par la communauté pour gérer votre configuration Zsh et est livré avec des milliers de fonctions, aides, plugins et thèmes utiles. Si vous voulez faire du shell Z votre pilote quotidien, vous devez vraiment installer Oh My Zsh.
Voici quinze choses utiles que Oh My Zsh peut faire pour vous:
- Le
La commande] take
créera un nouveau répertoire et le modifiera.Take my-project
remplacemkdir my-project && cd my-project
. -
zsh_stats
vous donnera une liste des 20 commandes les plus importantes et le nombre de commandes - Oh My Zsh simplifie la navigation dans votre système de fichiers. Par exemple,
..
est un alias pourcd ..
. - De la même manière,
...
vous fait monter de deux répertoires,....
vous fait monter de trois, et.....
vous fait monter de quatre. - Vous pouvez omettre le
cd
lorsque vous naviguez. Par exemple, en tapant/
vous accédez directement à la racine de votre système de fichiers. - La correspondance partielle est également prise en charge. Par exemple, en tapant
/ h / j / De
et en appuyant sur TAB puis sur Retour m'amène à/ home / jim / Desktop / [19459017
-
rd
est un alias pourrmdir
etmd
est un alias pourmkdir -p
. - Vous pouvez tapez
d
pour répertorier les derniers répertoires utilisés à partir d'une session de terminal. - Vous pouvez ensuite accéder à l'un de ces répertoires à l'aide de
cd -n
oùn
est le numéro de répertoire. - La complétion des onglets est une autre grande fonctionnalité. Par exemple, en tapant
ls -
et en appuyant sur TAB toutes les options de la commande seront répertoriées, ainsi qu'une description utile de ce qu'elles font. Cela fonctionne également pourcap
râteau
ssh
etkill
. - Typing
alias
répertorie tous de vos alias actuels. - Avec la globalisation (une fonction Zsh), vous pouvez lister les fichiers avec une extension particulière. Par exemple,
ls * .html
répertorie tous les fichiers HTML du répertoire actuel. Pour inclure les sous-répertoires, passez à:ls ** / *. Html
. - Les qualificateurs de globes vous permettent de sélectionner des types de fichiers à l'aide d'indicateurs. Par exemple,
ls -l ** / * (. X)
trouvera tous les fichiers exécutables dans le répertoire actuel et tous les sous-répertoires. - Vous pouvez rechercher des fichiers par date de modification. Par exemple,
ls * (m-7)
répertorie tous les fichiers modifiés au cours de la dernière semaine. - Vous pouvez rechercher des fichiers par taille. Par exemple,
ls * (Lm + 1)
trouvera tous les fichiers d'une taille supérieure à 1 Mo.
Utilisation de plugins pour le plaisir et le profit
Oh My Zsh est livré avec beaucoup de plugins . Vous devriez les parcourir et consacrer du temps à apprendre ceux qui vous aideront dans votre flux de travail.
Voici trois plugins que j'utilise régulièrement, qui fournissent une tonne de raccourcis et d'alias pratiques.
10 alias Nifty Git
The git le plugin fournit de nombreux alias et plusieurs fonctions utiles . Pourquoi ne pas les parcourir et essayer de mémoriser votre top dix? Voici ceux que j'utilise le plus souvent.
g
est un alias pratique pourgit
. Cela signifie que vous pouvez taper des choses commeg clone
au lieu degit clone
. Il ne peut y avoir que deux frappes, mais elles s'additionnent rapidement.-
gaa
est un alias pourgit add all
. J'utilise celle-ci tout le temps. -
gb
est un alias pourgit branch
qui listera toutes les branches du référentiel actuel et vous montrera laquelle vous êtes -
gcb
est un alias pourgit checkout -b
la commande qui vous permet de créer une nouvelle branche. -
gcm
est un alias pourgit checkout master
. Cela vous ramène à la branche principale. -
gdca
est un alias pourgit diff --cached
. Cela vous permet de différencier tous les fichiers que vous avez organisés pour la validation. -
gf
est un alias pourgit fetch
. -
gm
est un alias pourgit merge
. -
gp
est un alias pourgit push
. Pour synchroniser une fourchette d'un dépôt, vous pouvez faire:gf en amont
gm en amont / maître
suivi degp
. -
glog
est un alias pourgit log --oneline --decorate --graph
qui vous donnera un joli graphique de branche git.
10 Handy npm Aliases
Le npm plugin fournit également une série d'alias utiles.
-
npmg
est un alias pournpm install --global
que vous pouvez utiliser pour installer des dépendances globalement sur votre système. . Par exemple,npmg nodemon
. -
npmS
est un alias pournpm install --save
que vous utilisez pour installer des dépendances et les ajouter à ladépendances
section de votrepackage.json
. Notez que, depuis npm 5.0.0 il s'agit de la valeur par défaut lors de l'exécution denpm i
. -
npmD
est un alias pournpm install --save-dev
que vous utilisez pour installer des dépendances et les ajouter à la sectiondevDependencies
de votrepackage.json
. -
npmO
est un alias pournpm obsolète
qui vérifiera le registre pour voir si des packages installés (ou spécifiques) sont actuellement obsolètes. -
npmL
est un alias pournpm list
qui répertorie les packages installés. -
npmL0
est un alias pournpm list --depth = 0
qui répertorie les packages de niveau supérieur. Ceci est particulièrement utile pour voir quels modules sont installés globalement sans inonder votre terminal avec une énorme arborescence de dépendances:npmL0 -g
. -
npmst
est un alias pournpm run start
un script npm souvent utilisé pour démarrer une application. -
npmt
est un alias pournpm run test
qui, comme vous pourriez le faire est utilisé pour exécuter vos tests. -
npmR
est un alias pournpm run
. À elle seule, cette commande répertorie tous les scripts npm disponibles d'un projet, ainsi qu'une description de ce qu'ils font. Utilisé conjointement avec un nom de script, il exécutera ce script, par exemple,build npmR
. -
npmI
est un alias pournpm init
. Cela vous posera un tas de questions, puis créera unpackage.json
en fonction de vos réponses. Utilisez l'indicateur-y
pour automatiser le processus. Par exemple,npmI -y
.
10 Rails / Rake alias
Ce plugin ajoute l'achèvement du cadre Ruby on Rails et du programme de râteau . ainsi que quelques alias pour les journaux et les variables d'environnement.
-
rc
est un alias pourrails console
qui vous permet d'interagir avec votre application Rails depuis la CLI . -
rdc
est un alias pourrake db: create
qui (sauf siRAILS_ENV
est défini) crée les bases de données de développement et de test pour votre application. [19659008]rdd
est un alias pourrake db: drop
qui supprime les bases de données de développement et de test de votre application. -
rdm
est un alias pourrake db: migrate
qui exécutera toutes les migrations de base de données en attente. -
rds
est un alias pourrake db: seed
qui exécute ledb /seeds.rb
pour remplir votre base de données de développement avec des données. -
rgen
est un alias pourrails generate
qui générera du code passe-partout. Par exemple:nom d'élément d'échafaudage rgen: description de chaîne: texte
. -
rgm
est un alias pourles rails génèrent la migration
qui générera une migration de la base de données. Par exemple:rgm add_description_to_products description: chaîne
. -
rr
est un alias pourroutes de râteau
qui répertorie tous les itinéraires définis d'une application. -
rrg
est un alias pourroutes de râteau | grep
qui vous permettra de lister et filtrer les routes définies. Par exemple,utilisateur rrg
. -
rs
est un alias pourserveur de rails
qui lance le serveur Web par défaut de Rails.
Ressources supplémentaires [19659006] La tâche principale des plugins listés ci-dessus est de fournir des alias aux commandes souvent utilisées. Veuillez noter qu'il existe de nombreux autres plugins qui augmentent votre shell avec des fonctionnalités supplémentaires.
Voici quatre de mes favoris:
- sudo vous permet de préfixer facilement vos commandes actuelles ou précédentes avec
sudo
en appuyant deux fois sur ESC . - autosuggestions suggère des commandes que vous tapez en fonction de l'historique et des achèvements. Si la suggestion est celle que vous recherchez, appuyez sur la touche → pour l'accepter. Un gain de temps réel!
- command-not-found : si une commande n'est pas reconnue dans le
$ PATH
ceci utilisera le paquet Ubuntu command-not-found pour trouver ou suggérer des fautes d'orthographe. - z est un plugin pratique qui construit une liste de vos dossiers les plus fréquents et les plus récents (il les appelle "frecents") et vous permet d'y accéder avec une seule commande.
Et n'oubliez pas que si vous passez beaucoup de temps dans le terminal, cela vaut la peine d'investir des efforts pour le rendre visuellement attrayant. Heureusement, Oh My Zsh est livré avec tout un tas de thèmes à choisir. Mon choix est Agnoster .
Vous pouvez en savoir plus sur les thèmes dans mon article 10 conseils et astuces Zsh: configuration, personnalisation et utilisation .
Conclusion
Conclusion
Conclusion
19659006] Nous y voilà: 75 commandes, plugins, alias et outils Zsh. J'espère que vous avez appris une ou deux astuces en cours de route et je vous encourage à sortir de vos interfaces graphiques et à accéder au terminal. C'est plus simple qu'il n'y paraît et c'est un excellent moyen d'augmenter votre productivité.
Conclusion
19659006] Nous y voilà: 75 commandes, plugins, alias et outils Zsh. J'espère que vous avez appris une ou deux astuces en cours de route et je vous encourage à sortir de vos interfaces graphiques et à accéder au terminal. C'est plus simple qu'il n'y paraît et c'est un excellent moyen d'augmenter votre productivité.
Si j'ai raté votre plugin préféré, ou alias / commande qui vous fait gagner du temps, faites-le moi savoir sur Twitter .
Vous voulez profiter encore plus de votre boîte à outils? Consultez Code Visual Studio: outils de mise au point et de débogage de bout en bout pour les développeurs Web de Wiley.
Source link