75 Zsh-komentoja, liitännäisiä, peitenimiä ja työkaluja

touko 9, 2021
admin

Vietän suuren osan päivästä terminaalissa, ja valitsemani komentotulkki on Zsh – erittäin muokattavissa oleva Unix-ohjelman komentotulkki, joka sisältää erittäin tehokkaita ominaisuuksia. Koska olen laiska kehittäjäTM, etsin aina tapoja kirjoittaa vähemmän ja automatisoida kaikki asiat. Onneksi Zsh soveltuu tähän hyvin.

Tässä postauksessa jaan kanssasi 75 komentoa, liitännäistä, aliaksia ja työkalua, jotka toivottavasti säästävät muutaman näppäinpainalluksen ja tekevät sinusta tuottavamman päivittäisessä työssäsi.

Jos sinulla ei ole Zsh:tä asennettuna koneellesi, tutustu tähän postaukseen, jossa näytän, miten saat sen käyttöön.

15 asiaa, joita Zsh voi tehdä valmiiksi

Zsh:llä on paljon yhteisiä käteviä ominaisuuksia Bashin kanssa. Mikään seuraavista ei ole ainutlaatuinen Zsh:lle, mutta ne on silti hyvä tietää. Kannustan sinua aloittamaan komentorivin käytön alla lueteltujen kaltaisten toimintojen suorittamiseen. Se saattaa aluksi tuntua työläämmältä kuin graafisen käyttöliittymän käyttäminen, mutta kun opit käyttämään sitä, et katso enää koskaan taaksepäin.

  • Syöttämällä cd mistä tahansa tiedostojärjestelmästä pääset suoraan takaisin kotihakemistoosi.
  • Syöttämällä !! saat esiin viimeisen komennon. Tämä on kätevää, jos jokin komento epäonnistuu, koska se tarvitsee järjestelmänvalvojan oikeuksia. Tällöin voit kirjoittaa sudo !!.
  • Voit käyttää && useiden komentojen ketjuttamiseen. Esimerkiksi mkdir project && cd project && npm init -y.
  • Ehdollinen suoritus on mahdollista käyttämällä ||. Esimerkiksi git commit -m "whatever..." || echo "Commit failed".
  • Kytkimen -p käyttäminen komennon mkdir kanssa mahdollistaa vanhempien hakemistojen luomisen tarpeen mukaan. Sulkujen laajentamisen käyttäminen vähentää toistoa. Esimerkiksi: mkdir -p articles/jim/sitepoint/article{1,2,3}.
  • Aseta ympäristömuuttujat komentokohtaisesti seuraavasti: NODE_DEBUG=myapp node index.js. Tai istuntokohtaisesti esimerkiksi näin: export NODE_DEBUG=myapp. Voit tarkistaa, että se asetettiin kirjoittamalla echo $<variable-name>.
  • Piippaa yhden komennon tulostus toiseen komentoon. Esimerkiksi cat /var/log/kern.log | less tehdäksesi pitkän lokin luettavaksi tai history | grep ssh etsiäksesi kaikki historiamerkinnät, jotka sisältävät ”ssh”.
  • Voit avata tiedostoja editorissa terminaalista. Esimerkiksi nano ~/.zshrc (nano), subl ~/.zshrc (Sublime Text), code ~/.zshrc (VS Code). Jos tiedostoa ei ole olemassa, se luodaan, kun painat Save editorissa.
  • Navigointi on tärkeä taito hallita. Älä luota vain nuolinäppäimiin. Esimerkiksi Ctrl + a vie sinut rivin alkuun.
  • Kun taas Ctrl + e vie sinut rivin loppuun.
  • Ctrl + w:llä voit poistaa yhden sanan (takaperin).
  • Ctrl + u poistaa kaiken kursorista rivin alkuun.
  • Ctrl + k tyhjentää kaiken kursorista rivin loppuun. Nämä kolme viimeistä voi kumota Ctrl + y:llä.
  • Voit kopioida tekstiä Ctrl + Shift + c. Tämä on paljon tyylikkäämpää kuin klikata hiiren oikealla painikkeella ja valita Kopioi.
  • Kääntäen voit liittää kopioidun tekstin Ctrl + Shift + v:llä.

Yritä painaa nuo näppäinyhdistelmät muistiin. Yllätyt, kuinka usein ne tulevat tarpeeseen.

15 mukautettua peitenimeä, jotka lisäävät tuottavuuttasi

Peitenimet ovat terminaalin pikanäppäimiä tavallisille komennoille. Voit lisätä ne ~/.zshrc-tiedostoon ja ladata terminaalin uudelleen (käyttämällä source ~/.zshrc), jotta ne tulevat voimaan.

(Yksinkertaisen) aliaksen ilmoittamisen syntaksi on seuraava:

alias =''

Aliasit sopivat hyvin usein käytetyille komennoille, pitkille komennoille tai komennoille, joiden syntaksia on vaikea muistaa. Tässä on muutamia niistä, joita käytän säännöllisesti:

  • A myip alias, joka tulostaa nykyisen julkisen IP-osoitteesi terminaaliin: alias myip='curl http://ipecho.net/plain; echo'.
  • A distro alias, joka tulostaa tietoja Linux-jakelustasi: alias distro='cat /etc/*-release'.
  • A reload alias, koska en koskaan muista, miten päätelaite ladataan uudelleen: alias reload='source ~/.zshrc'.
  • Alias undo-git-reset: alias undo-git-reset-head="git reset 'HEAD@{1}'". Tämä kumoaa vaikutukset, jotka syntyvät, kun ajetaan git reset HEAD~.
  • An alias pakettiluetteloiden päivittämiseksi: alias sapu='sudo apt-get update'.
  • Alias edellisen komennon suorittamiseksi uudelleen komennolla sudo: alias ffs='sudo !!'.
  • Koska olen laiska, olen tehnyt aliaksen y komennolle yarn: alias y='yarn'. Tämä tarkoittaa, että voin kloonata repon ja sitten vain kirjoittaa y vetääkseni kaikki riippuvuudet. Opin tämän Scott Tolinskilta aiheesta Syntax.
  • Ei ole yksi niistä, joita käytän, mutta tämä alias puhaltaa pois node_modules-kansion ja poistaa package-lock.json-tiedoston, ennen kuin asennan projektin riippuvuudet uudelleen: alias yolo='rm -rf node_modules/ && rm package-lock.json && yarn install'. Kuten luultavasti tiedät, yolo on lyhenne sanoista You Only Live Once (Sinä elät vain kerran).
  • Alias, joka avaa .zshrc-tiedostoni muokkausta varten: alias zshconfig='subl $HOME/.zshrc'.
  • Alias, jolla päivitetään luettelo Ruby-versioista, joita rbenv voi asentaa: alias update-available-rubies='cd ~/.rbenv/plugins/ruby-build && git pull'
  • Alias käynnistää palvelimen nykyisessä hakemistossasi (npm-paketteja ei tarvita): alias server='python -m SimpleHTTPServer 8000'.
  • Voit myös luoda aliaksen dokumentaation avaamiseksi selaimessa: alias npmhelp='firefox https://github.com/robbyrussell/oh-my-zsh/tree/master/plugins/npm'.
  • Yleinen alias komennon tulosteen putkittamiseksi osoitteeseen less: alias -g L='| less'. Voit käyttää sitä näin: cat production.log L.
  • Yleinen alias komennon tulostuksen putkittamiseksi osoitteeseen grep: alias -g G='| grep'. Voit käyttää sitä näin: history G ssh.
  • Voit myös käyttää funktioita aliasien luomiseen. Seuraava (otettu täältä) luo aliaksen, joka lisää, komentaa ja työntää koodia GitHubiin:
    bash
    function acp() {
    git add .
    git commit -m ""
    git push
    }

Verkosta löytyy paljon paikkoja, joista voi löytää lisää ideoita aliaseihin. Esimerkiksi tämä Hacker Newsin keskustelu tai tämä viesti komentorivin tuottavuudesta Zsh:n avulla.

15 hienoa asiaa, joita voit tehdä (Oh My) Zsh:lla

Oh My Zsh on yhteisölähtöinen kehys Zsh:n konfiguraation hallintaan, ja sen mukana tulee tuhansia hyödyllisiä funktioita, apuvälineitä, liitännäisiä (plugins) ja teemoja. Jos aiot tehdä Z-selaimesta päivittäisen ajurisi, sinun kannattaa todella asentaa Oh My Zsh.

Tässä on viisitoista hyödyllistä asiaa, joita Oh My Zsh voi tehdä puolestasi:

  • Komento take luo uuden hakemiston ja vaihtaa siihen. take my-project korvaa mkdir my-project && cd my-project.
  • zsh_stats antaa sinulle luettelon 20 tärkeimmästä komennosta ja siitä, kuinka monta kertaa niitä on ajettu.
  • Oh My Zsh helpottaa tiedostojärjestelmän navigointia. Esimerkiksi .. on alias nimelle cd ...
  • Samoin ... siirtää sinut kaksi hakemistoa ylöspäin, .... kolme hakemistoa ylöspäin ja ..... neljä hakemistoa ylöspäin.
  • Voit jättää cd pois, kun navigoit. Kirjoittamalla esimerkiksi / pääset suoraan tiedostojärjestelmän juureen.
  • Myös osittainen täsmäytys on tuettu. Esimerkiksi kirjoittamalla /h/j/De ja painamalla TAB ja sitten Return, pääsen osoitteeseen /home/jim/Desktop/.
  • rd on alias rmdir:lle ja md on alias mkdir -p:lle.
  • Voit kirjoittaa d luettelemaan viimeksi käytetyt hakemistot terminaali-istunnosta.
  • Voit sitten navigoida mihin tahansa näistä käyttämällä cd -n, jossa n on hakemiston numero.
  • Tab completion on toinen hyvä ominaisuus. Esimerkiksi kirjoittamalla ls - ja painamalla TAB-näppäintä saat luettelon kaikista komennon vaihtoehdoista sekä hyödyllisen kuvauksen siitä, mitä ne tekevät. Tämä toimii myös komennoilla cap, rake, ssh ja kill.
  • Työntö aliasluettelee kaikki nykyiset aliaksesi.
  • Globbingin (Zsh:n ominaisuus) avulla voit luetella tiedostot, joilla on tietty pääte. Esimerkiksi ls *.html listaa kaikki nykyisen hakemiston HTML-tiedostot. Jos haluat sisällyttää alihakemistot, vaihda muotoon: ls **/*.html.
  • Glob-lausekkeiden avulla voit valita tiedostotyyppejä lippujen avulla. Esimerkiksi ls -l **/*(.x) etsii kaikki suoritettavat tiedostot nykyisestä hakemistosta ja kaikista alihakemistoista.
  • Voit etsiä tiedostoja muokkauspäivän mukaan. Esimerkiksi ls *(m-7) listaa kaikki viimeisen viikon aikana muutetut tiedostot.
  • Voit etsiä tiedostoja koon mukaan. Esimerkiksi ls *(Lm+1) löytää kaikki tiedostot, joiden koko on yli 1MB.

Lisäkkeiden käyttäminen huvin ja hyödyn vuoksi

Oh My Zsh:n mukana tulee paljon liitännäisiä. Kannattaa katsoa ne läpi ja sijoittaa aikaa niiden opetteluun, jotka auttavat työnkulkuasi.

Tässä on kolme säännöllisesti käyttämääni liitännäistä, jotka tarjoavat tonneittain käteviä oikoteitä ja aliaksia.

10 Nifty Git Aliases

Git-liitännäinen tarjoaa monia aliaksia ja useita hyödyllisiä toimintoja. Mikset kävisi näitä läpi ja yrittäisi muistaa kymmenen parasta? Tässä ovat ne, joita käytän eniten.

  1. g on kätevä alias git:lle. Tämä tarkoittaa, että voit kirjoittaa esimerkiksi g clone <whatever> git clone <whatever>:n sijasta. Saattaa olla vain kaksi näppäinpainallusta, mutta ne summautuvat nopeasti.
  2. gaa on alias git add all:lle. Käytän tätä koko ajan.
  3. gb on alias komennolle git branch, joka listaa kaikki nykyisen repon haarat ja näyttää, missä olet.
  4. gcb on alias komennolle git checkout -b, jolla voit luoda uuden haaran.
  5. gcm on alias komennolle git checkout master. Tämä palauttaa sinut master-haaraan.
  6. gdca on alias komennolle git diff --cached. Tämän avulla voit diffata kaikki tiedostot, jotka olet asettanut toimitettavaksi.
  7. gf on alias nimelle git fetch.
  8. gm on alias nimelle git merge.
  9. gp on alias nimelle git push. Jos haluat synkronoida repon haarautumisen, voit tehdä näin: gf upstream, gm upstream/master, jonka jälkeen gp.
  10. glog on alias nimelle git log --oneline --decorate --graph, jolloin saat nätin git-haarakuvion.

10 Kätevät npm-aliasit

Npm-lisäosa tarjoaa täydennyksenä myös joukon hyödyllisiä aliaksia.

  • npmg on alias npm install --global:lle, jolla voit asentaa riippuvuudet globaalisti järjestelmääsi. Esimerkiksi npmg nodemon.
  • npmS on alias npm install --save:lle, jolla voit asentaa riippuvuuksia ja lisätä ne package.json:n dependencies-osioon. Huomaa, että npm 5.0.0:sta lähtien tämä on oletusarvo, kun käytät npm i <package>.
  • npmD on alias nimelle npm install --save-dev, jota käytät asentaaksesi riippuvuudet ja lisätessäsi ne package.json:n devDependencies-osioon.
  • npmO on alias nimelle npm outdated, joka tarkistaa rekisteristä, onko jokin (tai tietyt) asennetut paketit tällä hetkellä vanhentuneita.
  • npmL on alias nimelle npm list, joka luettelee asennetut paketit.
  • npmL0 on alias nimelle npm list --depth=0, joka luettelee ylätason paketit. Tämä on erityisen hyödyllistä, kun haluat nähdä, mitkä moduulit on asennettu globaalisti ilman, että päätelaitteesi täyttyy valtavasta riippuvuuspuusta: npmL0 -g.
  • npmst on alias nimelle npm run start, joka on npm-skripti, jota käytetään usein sovelluksen käynnistämiseen.
  • npmt on alias nimelle npm run test, jota käytetään, kuten arvata saattaa, testien suorittamiseen.
  • npmR on alias nimelle npm run. Itsessään tämä komento listaa kaikki projektin käytettävissä olevat npm-skriptit sekä kuvauksen siitä, mitä ne tekevät. Kun sitä käytetään yhdessä skriptin nimen kanssa, se suorittaa kyseisen skriptin, Esimerkiksi npmR build.
  • npmI on alias nimelle npm init. Tämä kysyy sinulle joukon kysymyksiä ja luo sitten package.json vastauksiesi perusteella. Käytä -y-lippua prosessin automatisoimiseksi. Esimerkiksi npmI -y.

10 Aikaa säästävät Rails/Rake-aliasit

Tämä lisäosa lisää täydennyksen Ruby on Rails -puitteistolle ja Rake-ohjelmalle sekä joitain aliaksia lokeille ja ympäristömuuttujille.

  • rc on alias rails console:lle, jonka avulla voit olla vuorovaikutuksessa Rails-sovelluksesi kanssa CLI:stä.
  • rdc on alias rake db:create:lle, joka (ellei RAILS_ENV ole asetettu) luo sovelluksesi kehitys- ja testitietokannat.
  • rdd on alias nimelle rake db:drop, joka poistaa sovelluksesi kehitys- ja testitietokannat.
  • rdm on alias nimelle rake db:migrate, joka suorittaa kaikki vireillä olevat tietokantojen siirrot.
  • rds on alias nimelle rake db:seed, joka ajaa tiedoston db/seeds.rb täyttääkseen kehitystietokantasi tiedoilla.
  • rgen on alias nimelle rails generate, joka luo boilerplate-koodia. Esim: rgen scaffold item name:string description:text.
  • rgm on alias nimelle rails generate migration, joka luo tietokannan siirtymisen. Esim: rgm add_description_to_products description:string.
  • rr on alias nimelle rake routes, joka listaa kaikki sovelluksen määritellyt reitit.
  • rrg on alias nimelle rake routes | grep, jonka avulla voit listata ja suodattaa määritellyt reitit. Esimerkiksi rrg user.
  • rs on alias nimelle rails server, joka käynnistää Railsin oletusverkkopalvelimen.

Lisäresurssit

Yllä lueteltujen liitännäisten päätehtävä on tarjota aliaksia usein käytetyille komennoille. Huomaa, että on olemassa paljon muitakin liitännäisiä, jotka laajentavat komentotulkkiasi lisätoiminnoilla.

Tässä on neljä suosikkiani:

  • sudo mahdollistaa sen, että voit helposti liittää nykyiset tai aiemmat komennot etuliitteeksi sudo painamalla kahdesti ESC-näppäintä.
  • autosuggestions ehdottaa kirjoittamiesi komentojen kirjoittamisen ajaksi komentoja historiansa ja loppuun suoritettujen komentojen perusteella. Jos ehdotus on etsimäsi, hyväksy se painamalla →-näppäintä. Todellinen ajansäästäjä!
  • command-not-found: Jos komentoa ei tunnisteta $PATH, tämä käyttää Ubuntun command-not-found-pakettia löytääkseen sen tai ehdottaakseen kirjoitusvirheitä.
  • z on kätevä lisäosa, joka muodostaa listan useimmin käyttämistäsi ja viimeisimmistä kansioista (se kutsuu näitä ”frecentiksi”) ja mahdollistaa hyppäämisen niihin yhdellä komennolla.

Ja älä unohda, että jos vietät paljon aikaa terminaalissa, kannattaa panostaa visuaalisesti houkuttelevaan ulkoasuun. Onneksi Oh My Zsh:n mukana tulee koko joukko teemoja, joista voit valita. Oma valintani on Agnoster.

Teemoista voit lukea lisää artikkelistani 10 Zsh-vinkkiä & temppuja: Configuration, Customization & Usage.

Conclusion

Se on siis siinä: 75 Zsh-komentoa, liitännäistä, aliasta ja työkalua. Toivottavasti opit matkan varrella yhden tai kaksi temppua, ja kannustan sinua pääsemään ulos graafisista käyttöliittymistä ja terminaaliin. Se on helpompaa kuin miltä näyttää ja loistava tapa lisätä tuottavuuttasi.

Jos olen unohtanut suosikkiliitännäisesi tai aikaa säästävän aliaksen/käskyn, kerro minulle Twitterissä.

Haluatko saada vielä enemmän irti työkalupakistasi? Tutustu Visual Studio Codeen: End-to-End Editing and Debugging Tools for Web Developers from Wiley.

Vastaa

Sähköpostiosoitettasi ei julkaista.