Zephyrnet-logo

75 Zsh-opdrachten, plug-ins, aliassen en tools

Datum:

Ik breng een groot deel van mijn dag door in de terminal, en dat is mijn favoriete shell zsh - een zeer aanpasbare Unix-shell die een aantal zeer krachtige functies bevat. Aangezien ik een luie ontwikkelaarTM, ben ik altijd op zoek naar manieren om minder te typen en alles te automatiseren. Gelukkig is dit iets waar Zsh zich goed voor leent.

In dit bericht ga ik 75 commando's, plug-ins, aliassen en tools met je delen die je hopelijk enkele toetsaanslagen zullen besparen en je productiever zullen maken in je dagelijkse werk.

Als je Zsh niet op je computer hebt geïnstalleerd, check dan uit dit bericht, waar ik je laat zien hoe je aan de slag kunt.

15 dingen die Zsh direct kan doen

Zsh deelt veel handige functies met Bash. Geen van de volgende zaken is uniek voor Zsh, maar ze zijn toch goed om te weten. Ik moedig u aan om de opdrachtregel te gaan gebruiken om bewerkingen uit te voeren zoals hieronder vermeld. In het begin lijkt het misschien meer werk dan het gebruik van een GUI, maar als je de dingen eenmaal onder de knie hebt, wil je nooit meer achterom.

  • Invoeren cd vanaf elke plek op het bestandssysteem brengt u rechtstreeks terug naar uw thuismap.
  • Invoeren !! zal het laatste commando weergeven. Dit is handig als een opdracht mislukt omdat er beheerdersrechten voor nodig zijn. In dit geval kunt u typen sudo !!.
  • Je kunt gebruiken && om meerdere commando's aan elkaar te koppelen. Bijvoorbeeld, mkdir project && cd project && npm init -y.
  • Voorwaardelijke uitvoering is mogelijk met behulp van ||. Bijvoorbeeld, git commit -m "whatever..." || echo "Commit failed".
  • Met een -p schakelen met de mkdir Met de opdracht kunt u indien nodig bovenliggende mappen maken. Het gebruik van accolade-uitbreiding vermindert herhaling. Bijvoorbeeld, mkdir -p articles/jim/sitepoint/article{1,2,3}.
  • Zet de omgevingsvariabelen op een per-commandobasis zoals zo: NODE_DEBUG=myapp node index.js. Of, op een per-sessie basis zoals zo: export NODE_DEBUG=myapp. U kunt controleren of het is ingesteld door te typen echo $<variable-name>.
  • Pipetteer de uitvoer van één opdracht naar een tweede opdracht. Bijvoorbeeld, cat /var/log/kern.log | less om een ​​lang logboek leesbaar te maken, of history | grep ssh om te zoeken naar geschiedenisvermeldingen die "ssh" bevatten.
  • U kunt vanuit de terminal bestanden openen in uw editor. Bijvoorbeeld, nano ~/.zshrc (nano), subl ~/.zshrc (Sublieme tekst), code ~/.zshrc (VS-code). Als het bestand niet bestaat, wordt het gemaakt wanneer u op drukt Bespaar in de editor.
  • Navigatie is een belangrijke vaardigheid om onder de knie te krijgen. Vertrouw niet alleen op uw pijltjestoetsen. Bijvoorbeeld, Ctrl + a brengt u naar het begin van een regel.
  • Terwijl Ctrl + e zal je tot het einde brengen.
  • Je kunt gebruiken Ctrl + w om één woord te wissen (achteruit).
  • Ctrl + u verwijdert alles van de cursor tot het begin van de regel.
  • Ctrl + k zal alles wissen, van de cursor tot het einde van de regel. Deze laatste drie kunnen ongedaan worden gemaakt Ctrl + y.
  • U kunt tekst kopiëren met Ctrl + Shift + c. Dit is veel eleganter dan rechtsklikken en selecteren Kopiëren.
  • Omgekeerd kunt u gekopieerde tekst plakken met Ctrl + verschuiving + v.

Probeer die toetscombinaties in het geheugen vast te leggen. Het zal je verbazen hoe vaak ze van pas komen.

15 aangepaste aliassen om uw productiviteit te verhogen

Aliassen zijn terminalsnelkoppelingen voor reguliere opdrachten. Je kunt ze aan je toevoegen ~/.zshrc -bestand en laad vervolgens uw terminal opnieuw (met behulp van source ~/.zshrc) om ze van kracht te laten worden.

De syntaxis voor het declareren van een (eenvoudige) alias is als volgt:

alias [alias-name]='[command]'

Aliassen zijn geweldig voor veelgebruikte opdrachten, lange opdrachten of opdrachten met een moeilijk te onthouden syntaxis. Hier zijn enkele die ik regelmatig gebruik:

  • A myip alias, die uw huidige openbare IP-adres naar de terminal afdrukt: alias myip='curl http://ipecho.net/plain; echo'.
  • A distro alias om informatie over uw Linux-distributie uit te voeren: alias distro='cat /etc/*-release'.
  • A reload alias, omdat ik me nooit kan herinneren hoe ik mijn terminal opnieuw moet laden: alias reload='source ~/.zshrc'.
  • An undo-git-reset alias: alias undo-git-reset-head="git reset 'HEAD@{1}'". Dit keert de effecten van hardlopen terug git reset HEAD~.
  • Een alias om pakketlijsten bij te werken: alias sapu='sudo apt-get update'.
  • Een alias om de vorige opdracht mee opnieuw uit te voeren sudo: alias ffs='sudo !!'.
  • Omdat ik lui ben, heb ik een alias gebruikt y aan de yarn opdracht: alias y='yarn'. Dit betekent dat ik een repo kan klonen en dan gewoon kan typen y om alle afhankelijkheden binnen te halen. Ik heb deze van Scott Tolinski geleerd Syntaxis.
  • Niet een van degene die ik gebruik, maar deze alias blaast de node_modules map en verwijdert de package-lock.json bestand, voordat u de afhankelijkheden van een project opnieuw installeert: alias yolo='rm -rf node_modules/ && rm package-lock.json && yarn install'. Zoals je waarschijnlijk weet, staat yolo voor You Olleen Live Ons.
  • Een alias om mijn te openen .zshrc bestand om te bewerken: alias zshconfig='subl $HOME/.zshrc'.
  • Een alias om de lijst met Ruby-versies bij te werken rbenv kan installeren: alias update-available-rubies='cd ~/.rbenv/plugins/ruby-build && git pull'
  • Een alias om een ​​server in uw huidige directory te starten (geen npm-pakketten vereist): alias server='python -m SimpleHTTPServer 8000'.
  • U kunt ook een alias aanmaken om documentatie in uw browser te openen: alias npmhelp='firefox https://github.com/robbyrussell/oh-my-zsh/tree/master/plugins/npm'.
  • Een globale alias om de uitvoer van een opdracht naar toe te leiden less: alias -g L='| less'. Je kunt het zo gebruiken: cat production.log L.
  • Een globale alias om de uitvoer van een opdracht naar toe te leiden grep: alias -g G='| grep'. Je kunt het zo gebruiken: history G ssh.
  • U kunt ook functies gebruiken om aliassen te maken. Het volgende (overgenomen van hier) maakt een alias die code toevoegt, vastlegt en pusht naar GitHub:
    bash
    function acp() {
    git add .
    git commit -m "$1"
    git push
    }

Er zijn veel plaatsen om meer ideeën voor aliassen online te vinden. Bijvoorbeeld, deze Hacker News-discussie, of dit bericht op opdrachtregelproductiviteit met Zsh.

15 coole dingen die je kunt doen met (Oh My) Zsh

Oh mijn zsh is een door de gemeenschap aangestuurd raamwerk voor het beheer van uw Zsh-configuratie en wordt geleverd met duizenden handige functies, helpers, plug-ins en thema's. Als je van de Z-shell je dagelijkse driver wilt maken, zou je dat moeten doen werkelijk Installeer Oh My Zsh.

Hier zijn vijftien nuttige dingen die Oh My Zsh voor je kan doen:

  • De take opdracht zal een nieuwe map maken en erin veranderen. take my-project vervangt mkdir my-project && cd my-project.
  • zsh_stats geeft je een lijst met de 20 belangrijkste opdrachten en hoe vaak ze zijn uitgevoerd.
  • Oh My Zsh vereenvoudigt het navigeren door uw bestandssysteem. Bijvoorbeeld, .. is een alias voor cd ...
  • Op dezelfde manier, ... gaat u twee mappen omhoog, .... brengt je drie omhoog, en ..... brengt je vier omhoog.
  • U kunt de cd bij het navigeren. Typen /, brengt u bijvoorbeeld rechtstreeks naar de hoofdmap van uw bestandssysteem.
  • Gedeeltelijke matching wordt ook ondersteund. Typen bijvoorbeeld /h/j/De en drukken TABdan Retourneren, brengt me naar /home/jim/Desktop/.
  • rd is een alias voor rmdir en md is een alias voor mkdir -p.
  • Jij kan typen d om de laatst gebruikte mappen van een terminalsessie weer te geven.
  • U kunt vervolgens naar een van deze navigeren met behulp van cd -n, Waar n is het directorynummer.
  • Tabaanvulling is een andere geweldige functie. Typen bijvoorbeeld ls - en drukken TAB zal alle opties van de opdracht weergeven, samen met een nuttige beschrijving van wat ze doen. Dit werkt ook voor cap, rake, ssh en kill.
  • Typen alias somt al uw huidige aliassen op.
  • Met globbing (een Zsh-functie) kunt u bestanden met een bepaalde extensie weergeven. Bijvoorbeeld, ls *.html zal alle HTML-bestanden in de huidige map weergeven. Om submappen op te nemen, verandert u in: ls **/*.html.
  • Glob-kwalificaties kunt u typen bestanden selecteren met behulp van vlaggen. Bijvoorbeeld, ls -l **/*(.x) vindt alle uitvoerbare bestanden in de huidige map en alle submappen.
  • U kunt naar bestanden zoeken op wijzigingsdatum. Bijvoorbeeld, ls *(m-7) zal alle bestanden weergeven die in de afgelopen week zijn gewijzigd.
  • U kunt bestanden zoeken op grootte. Bijvoorbeeld, ls *(Lm+1) vindt alle bestanden met een grootte groter dan 1 MB.

Plug-ins gebruiken voor plezier en winst

Oh My Zsh wordt geleverd met veel van plug-ins. U moet deze doornemen en wat tijd investeren om die te leren die uw workflow zullen helpen.

Hier zijn drie plug-ins die ik regelmatig gebruik en die een heleboel handige snelkoppelingen en aliassen bieden.

10 handige Git-aliassen

De git-plug-in biedt veel aliassen en verschillende nuttig functies. Waarom neem je deze niet door en probeer je top tien uit je hoofd te leren? Dit zijn degene die ik het vaakst gebruik.

  1. g is een handige alias voor git. Dit betekent dat u dingen kunt typen zoals g clone <whatever> in plaats van git clone <whatever>. Misschien zijn het maar twee toetsaanslagen, maar ze tellen al snel op.
  2. gaa is een alias voor git add all. Ik gebruik deze de hele tijd.
  3. gb is een alias voor git branch, die alle branches in de huidige repo opsomt en je laat zien op welke je zit.
  4. gcb is een alias voor git checkout -b, de opdracht waarmee u een nieuwe branch kunt maken.
  5. gcm is een alias voor git checkout master. Dit brengt je terug naar de master branch.
  6. gdca is een alias voor git diff --cached. Dit stelt je in staat om alle bestanden die je gestaged hebt voor commit te differentiëren.
  7. gf is een alias voor git fetch.
  8. gm is een alias voor git merge.
  9. gp is een alias voor git push. Om een ​​fork van een repo te synchroniseren, kunt u het volgende doen: gf upstream, gm upstream/master, Gevolgd door gp.
  10. glog is een alias voor git log --oneline --decorate --graph, wat je een mooie git branch-grafiek geeft.

10 handige npm-aliassen

De npm-plug-in biedt voltooiing en een aantal nuttige aliassen.

  • npmg is een alias voor npm install --global, die u kunt gebruiken om afhankelijkheden wereldwijd op uw systeem te installeren. Bijvoorbeeld, npmg nodemon.
  • npmS is een alias voor npm install --save, die u gebruikt om afhankelijkheden te installeren en toe te voegen aan het dependencies gedeelte van uw package.json. Merk op dat vanaf npm 5.0.0, dit is de standaardinstelling tijdens het uitvoeren npm i <package>.
  • npmD is een alias voor npm install --save-dev, die u gebruikt om afhankelijkheden te installeren en toe te voegen aan het devDependencies gedeelte van uw package.json.
  • npmO is een alias voor npm outdated, die het register zal controleren om te zien of (of specifieke) geïnstalleerde pakketten momenteel verouderd zijn.
  • npmL is een alias voor npm list, die de geïnstalleerde pakketten weergeeft.
  • npmL0 is een alias voor npm list --depth=0, waarin pakketten op het hoogste niveau worden vermeld. Dit is vooral handig om te zien welke modules wereldwijd zijn geïnstalleerd zonder uw terminal te overspoelen met een enorme afhankelijkheidsboom: npmL0 -g.
  • npmst is een alias voor npm run starteen npm-script vaak gebruikt om een ​​applicatie te starten.
  • npmt is een alias voor npm run test, die, zoals u wellicht vermoedt, wordt gebruikt om uw tests uit te voeren.
  • npmR is een alias voor npm run. Op zichzelf zal deze opdracht alle beschikbare npm-scripts van een project weergeven, samen met een beschrijving van wat ze doen. Gebruikt in combinatie met een scriptnaam, zal het dat script uitvoeren, bijvoorbeeld npmR build.
  • npmI is een alias voor npm init. Dit zal je een heleboel vragen stellen, maak dan een package.json op basis van uw antwoorden. Gebruik de -y vlag om het proces te automatiseren. Bijvoorbeeld, npmI -y.

10 tijdbesparende rails/hark-aliassen

Deze plug-in voegt voltooiing toe voor de Ruby on Rails-raamwerk en Rake programma, evenals enkele aliassen voor logboeken en omgevingsvariabelen.

  • rc is een alias voor rails console, waarmee u vanuit de CLI kunt communiceren met uw Rails-app.
  • rdc is een alias voor rake db:create, welke (tenzij RAILS_ENV is ingesteld) maakt de ontwikkel- en testdatabases voor uw app.
  • rdd is een alias voor rake db:drop, waardoor de ontwikkelings- en testdatabases van uw app vallen.
  • rdm is een alias voor rake db:migrate, waarmee eventuele lopende databasemigraties worden uitgevoerd.
  • rds is een alias voor rake db:seed, die de db/seeds.rb bestand om uw ontwikkelingsdatabase te vullen met gegevens.
  • rgen is een alias voor rails generate, die boilerplate-code zal genereren. Bijvoorbeeld: rgen scaffold item name:string description:text.
  • rgm is een alias voor rails generate migration, die een databasemigratie zal genereren. Bijvoorbeeld: rgm add_description_to_products description:string.
  • rr is een alias voor rake routes, waarin alle gedefinieerde routes van een app worden vermeld.
  • rrg is een alias voor rake routes | grep, waarmee u de gedefinieerde routes kunt weergeven en filteren. Bijvoorbeeld, rrg user.
  • rs is een alias voor rails server, waarmee de standaardwebserver van Rails wordt gestart.

Aanvullende informatiebronnen

De belangrijkste taak van de hierboven genoemde plug-ins is om aliassen te bieden aan veelgebruikte opdrachten. Houd er rekening mee dat er nog veel meer plug-ins zijn die uw shell uitbreiden met extra functionaliteit.

Hier zijn vier van mijn favorieten:

  • sudo stelt u in staat om eenvoudig uw huidige of vorige commando's vooraf te laten gaan met sudo door te drukken ESC tweemaal.
  • autosuggesties suggereert opdrachten terwijl u typt op basis van geschiedenis en voltooiingen. Als de suggestie degene is die u zoekt, drukt u op de sleutel om het te accepteren. Een echte tijdsbesparing!
  • opdracht niet gevonden: als een opdracht niet wordt herkend in de $PATH, zal dit Ubuntu's command-not-found-pakket gebruiken om het te vinden of om spelfouten voor te stellen.
  • z is een handige plug-in dat een lijst opbouwt van uw meest frequente en recente mappen (het noemt deze "frecent") en stelt u in staat om er met één opdracht naar toe te gaan.

En vergeet niet dat als u veel tijd in de terminal doorbrengt, het de moeite waard is om wat moeite te doen om het visueel aantrekkelijk te maken. Gelukkig wordt Oh My Zsh geleverd met een hele reeks thema's voor u om uit te kiezen. Mijn keuze van het stel is agnosticus.

Meer over thema's vind je in mijn artikel 10 Zsh-tips en -trucs: configuratie, aanpassing en gebruik.

Conclusie

Dus daar hebben we het: 75 Zsh-commando's, plug-ins, aliassen en tools. Ik hoop dat je onderweg een paar trucjes hebt geleerd, en ik moedig je aan om uit je GUI's en in de terminal te komen. Het is eenvoudiger dan het lijkt en een geweldige manier om uw productiviteit te verhogen.

Als ik je favoriete plug-in of tijdbesparende alias/opdracht heb gemist, laat het me dan weten Twitter.

Nog meer uit uw toolkit halen? Uitchecken Visual Studio Code: end-to-end bewerkings- en foutopsporingstools voor webontwikkelaars van Wiley.

Bron: https://www.sitepoint.com/zsh-commands-plugins-aliases-tools/?utm_source=rss

spot_img

Laatste intelligentie

spot_img