75 Comenzi, plugin-uri, aliasuri și instrumente Zsh

mai 9, 2021
admin

Îmi petrec o mare parte din zi în terminal, iar shell-ul meu preferat este Zsh – un shell Unix extrem de personalizabil care are câteva caracteristici foarte puternice. Cum sunt un dezvoltator leneșTM, sunt mereu în căutarea unor modalități de a tasta mai puțin și de a automatiza toate lucrurile. Din fericire, acest lucru este ceva la care Zsh se pretează foarte bine.

În acest articol, voi împărtăși cu dumneavoastră 75 de comenzi, plugin-uri, alias-uri și instrumente care sper că vă vor economisi câteva apăsări de taste și vă vor face mai productivi în munca de zi cu zi.

Dacă nu aveți Zsh instalat pe calculatorul dumneavoastră, atunci consultați această postare, în care vă arăt cum să îl porniți.

15 Lucruri pe care Zsh le poate face din start

Zsh împarte o mulțime de caracteristici utile cu Bash. Niciuna dintre următoarele nu este unică pentru Zsh, dar este bine de știut totuși. Vă încurajez să începeți să folosiți linia de comandă pentru a efectua operațiuni precum cele enumerate mai jos. S-ar putea părea la început mai mult de lucru decât folosirea unei interfețe grafice, dar odată ce ați prins gustul lucrurilor, nu veți mai privi înapoi.

  • Introducerea lui cd de oriunde din sistemul de fișiere vă va aduce direct înapoi la directorul dvs. principal.
  • Introducerea lui !! va aduce ultima comandă. Acest lucru este la îndemână dacă o comandă eșuează pentru că are nevoie de drepturi de administrator. În acest caz, puteți tasta sudo !!.
  • Puteți folosi && pentru a înlănțui mai multe comenzi. De exemplu, mkdir project && cd project && npm init -y.
  • Executarea condiționată este posibilă folosind ||. De exemplu, git commit -m "whatever..." || echo "Commit failed".
  • Utilizarea unui comutator -p cu comanda mkdir vă va permite să creați directoare părinte după cum este necesar. Utilizarea expansiunii bretonului reduce repetiția. De exemplu, mkdir -p articles/jim/sitepoint/article{1,2,3}.
  • Setați variabilele de mediu pentru fiecare comandă în parte, astfel: NODE_DEBUG=myapp node index.js. Sau, pe o bază per sesiune, astfel: : export NODE_DEBUG=myapp. Puteți verifica dacă a fost setată prin tastarea echo $<variable-name>.
  • Pipează ieșirea unei comenzi într-o a doua comandă. De exemplu, cat /var/log/kern.log | less pentru a face lizibil un jurnal lung, sau history | grep ssh pentru a căuta orice intrare din istoric care conține „ssh”.
  • Puteți deschide fișiere în editorul dumneavoastră din terminal. De exemplu, nano ~/.zshrc (nano), subl ~/.zshrc (Sublime Text), code ~/.zshrc (VS Code). Dacă fișierul nu există, acesta va fi creat atunci când apăsați Save în editor.
  • Navigația este o abilitate importantă de stăpânit. Nu vă bazați doar pe tastele săgeată. De exemplu, Ctrl + a vă va duce la începutul unei linii.
  • În timp ce Ctrl + e vă va duce la sfârșit.
  • Puteți folosi Ctrl + w pentru a șterge un cuvânt (înapoi).
  • Ctrl + u va șterge totul de la cursor până la începutul liniei.
  • Ctrl + k va șterge totul de la cursor până la sfârșitul liniei. Aceste ultime trei pot fi anulate cu Ctrl + y.
  • Puteți copia textul cu Ctrl + Shift + c. Acest lucru este mult mai elegant decât să faceți clic dreapta și să selectați Copy.
  • În schimb, puteți lipi textul copiat cu Ctrl + shift + v.

Încercați să memorați aceste combinații de taste. Veți fi surprins de cât de des vă vor fi de folos.

15 Aliasuri personalizate pentru a vă spori productivitatea

Aliasurile sunt scurtături de terminal pentru comenzi obișnuite. Le puteți adăuga în fișierul ~/.zshrc, apoi reîncărcați terminalul (folosind source ~/.zshrc) pentru ca ele să aibă efect.

Sintaxa pentru declararea unui alias (simplu) este următoarea:

alias =''

Aliasele sunt excelente pentru comenzile folosite des, comenzile lungi sau comenzile cu o sintaxă greu de reținut. Iată câteva dintre cele pe care le folosesc în mod regulat:

  • Un alias myip, care imprimă pe terminal adresa IP publică curentă: alias myip='curl http://ipecho.net/plain; echo'.
  • A distro alias distro pentru a afișa informații despre distribuția dvs. Linux: alias distro='cat /etc/*-release'.
  • A reload alias, deoarece se pare că nu reușesc niciodată să-mi amintesc cum să-mi reîncarc terminalul: alias reload='source ~/.zshrc'.
  • Un alias undo-git-reset: alias undo-git-reset-head="git reset 'HEAD@{1}'". Acest lucru anulează efectele rulării git reset HEAD~.
  • Un alias pentru a actualiza listele de pachete: alias sapu='sudo apt-get update'.
  • Un alias pentru a rula din nou comanda anterioară cu sudo: alias ffs='sudo !!'.
  • Pentru că sunt leneș, am creat aliasul y la comanda yarn: alias y='yarn'. Acest lucru înseamnă că pot clona un repo, apoi doar să tastez y pentru a trage toate dependențele. Am învățat-o pe aceasta de la Scott Tolinski pe Syntax.
  • Nu este una dintre cele pe care le folosesc, dar acest alias aruncă în aer dosarul node_modules și elimină fișierul package-lock.json, înainte de a reinstala dependențele unui proiect: alias yolo='rm -rf node_modules/ && rm package-lock.json && yarn install'. După cum probabil știți, yolo înseamnă You Only Live Once.
  • Un alias pentru a deschide fișierul meu .zshrc pentru editare: alias zshconfig='subl $HOME/.zshrc'.
  • Un alias pentru a actualiza lista de versiuni Ruby pe care rbenv le poate instala: alias update-available-rubies='cd ~/.rbenv/plugins/ruby-build && git pull'
  • Un alias pentru a lansa un server în directorul curent (nu sunt necesare pachete npm): alias server='python -m SimpleHTTPServer 8000'.
  • De asemenea, puteți crea un alias pentru a deschide documentația în browser: alias npmhelp='firefox https://github.com/robbyrussell/oh-my-zsh/tree/master/plugins/npm'.
  • Un alias global pentru a direcționa ieșirea unei comenzi către less: alias -g L='| less'. Îl puteți utiliza astfel: cat production.log L.
  • Un alias global pentru a redirecționa ieșirea unei comenzi către grep: alias -g G='| grep'. Îl puteți utiliza astfel: history G ssh.
  • De asemenea, puteți utiliza funcții pentru a crea alias-uri. Următorul (preluat de aici) creează un alias care adaugă, comută și împinge codul pe GitHub:
    bash
    function acp() {
    git add .
    git commit -m ""
    git push
    }

Există o mulțime de locuri online unde puteți găsi mai multe idei pentru alias-uri. De exemplu, această discuție din Hacker News, sau această postare despre productivitatea liniei de comandă cu Zsh.

15 lucruri interesante pe care le puteți face cu (Oh My) Zsh

Oh My Zsh este un cadru condus de comunitate pentru gestionarea configurației Zsh și vine la pachet cu mii de funcții utile, ajutoare, plugin-uri și teme. Dacă aveți de gând să faceți din shell-ul Z șoferul dumneavoastră zilnic, ar trebui să instalați Oh My Zsh.

Iată cincisprezece lucruri utile pe care Oh My Zsh le poate face pentru dumneavoastră:

  • Comanda take va crea un nou director și se va schimba în el. take my-project înlocuiește mkdir my-project && cd my-project.
  • zsh_stats vă va oferi o listă cu primele 20 de comenzi și de câte ori au fost rulate.
  • Oh My Zsh simplifică navigarea în sistemul de fișiere. De exemplu, .. este un alias pentru cd ...
  • În același mod, ... vă deplasează în sus cu două directoare, .... vă deplasează în sus cu trei, iar ..... vă deplasează în sus cu patru.
  • Puteți omite cd atunci când navigați. Tastând /, de exemplu, vă va duce direct la rădăcina sistemului de fișiere.
  • Se acceptă, de asemenea, potrivirea parțială. De exemplu, tastând /h/j/De și apăsând TAB, apoi Return, mă duce la /home/jim/Desktop/.
  • rd este un alias pentru rmdir și md este un alias pentru mkdir -p.
  • Puteți tasta d pentru a lista ultimele directoare utilizate dintr-o sesiune de terminal.
  • Puteți apoi naviga în oricare dintre acestea folosind cd -n, unde n este numărul directorului.
  • Completarea tabulatoarelor este o altă caracteristică excelentă. De exemplu, tastând ls - și apăsând TAB, veți obține o listă cu toate opțiunile comenzii, împreună cu o descriere utilă a ceea ce fac acestea. Acest lucru funcționează, de asemenea, pentru cap, rake, ssh și kill.
  • Tiparea alias listează toate aliasurile dvs. curente.
  • Cu globbing (o caracteristică Zsh), puteți lista fișierele cu o anumită extensie. De exemplu, ls *.html va lista toate fișierele HTML din directorul curent. Pentru a include subdirectoare, schimbați în: ls **/*.html.
  • .

  • Calificatorii glob vă permit să selectați tipuri de fișiere prin utilizarea unor stegulețe. De exemplu, ls -l **/*(.x) va găsi toate fișierele executabile din directorul curent și din toate subdirectoarele.
  • Puteți căuta fișiere în funcție de data modificării. De exemplu, ls *(m-7) va lista toate fișierele modificate în ultima săptămână.
  • Puteți căuta fișiere după mărime. De exemplu, ls *(Lm+1) va găsi toate fișierele cu o dimensiune mai mare de 1MB.

Utilizarea plugin-urilor pentru distracție și profit

Oh My Zsh este livrat cu o mulțime de plugin-uri. Ar trebui să vă uitați prin acestea și să investiți ceva timp pentru a le învăța pe cele care vă vor ajuta în fluxul de lucru.

Iată trei plugin-uri pe care le folosesc în mod regulat, care oferă o tonă de scurtături și alias-uri utile.

10 Nifty Git Aliases

Principalul git oferă multe alias-uri și câteva funcții utile. De ce să nu le parcurgeți și să încercați să le memorați pe primele zece? Iată-le pe cele pe care le folosesc cel mai des.

  • g este un alias la îndemână pentru git. Acest lucru înseamnă că puteți tasta lucruri precum g clone <whatever> în loc de git clone <whatever>. S-ar putea să fie doar două apăsări de taste, dar ele se adună repede.
  • gaa este un alias pentru git add all. Îl folosesc pe acesta tot timpul.
  • gb este un alias pentru git branch, care va lista toate ramurile din repo-ul curent și vă va arăta pe care vă aflați.
  • gcb este un alias pentru git checkout -b, comanda care vă permite să creați o nouă ramură.
  • gcm este un alias pentru git checkout master. Aceasta vă întoarce la ramura principală.
  • gdca este un alias pentru git diff --cached. Aceasta vă permite să difuzați orice fișier pe care l-ați pregătit pentru confirmare.
  • gf este un alias pentru git fetch.
  • gm este un alias pentru git merge.
  • gp este un alias pentru git push. Pentru a sincroniza o bifurcație a unui repo, ați putea face: gf upstream, gm upstream/master, urmat de gp.
  • glog este un pseudonim pentru git log --oneline --decorate --graph, ceea ce vă va oferi un grafic de ramificații git frumos.
  • 10 Handy npm Aliases

    Principiul npm oferă și completarea unei grămezi de alias-uri utile.

    • npmg este un alias pentru npm install --global, pe care îl puteți folosi pentru a instala dependențele la nivel global pe sistemul dumneavoastră. De exemplu, npmg nodemon.
    • npmS este un alias pentru npm install --save, pe care îl utilizați pentru a instala dependențe și a le adăuga la secțiunea dependencies din package.json. Rețineți că, începând cu npm 5.0.0, aceasta este valoarea implicită atunci când se execută npm i <package>.
    • npmD este un alias pentru npm install --save-dev, pe care îl utilizați pentru a instala dependențele și a le adăuga la secțiunea devDependencies din package.json.
    • npmO este un alias pentru npm outdated, care va verifica registrul pentru a vedea dacă vreun pachet instalat (sau, anumite pachete instalate) este în prezent depășit.
    • npmL este un alias pentru npm list, care va lista pachetele instalate.
    • npmL0 este un alias pentru npm list --depth=0, care listează pachetele de nivel superior. Acest lucru este deosebit de util pentru a vedea ce module sunt instalate la nivel global fără a vă inunda terminalul cu un arbore de dependențe uriaș: npmL0 -g.
    • npmst este un alias pentru npm run start, un script npm folosit adesea pentru a porni o aplicație.
    • npmt este un alias pentru npm run test, care, după cum ați putea ghici, este folosit pentru a vă rula testele.
    • npmR este un alias pentru npm run. Pe cont propriu, această comandă va lista toate scripturile npm disponibile ale unui proiect, împreună cu o descriere a ceea ce fac acestea. Utilizată împreună cu un nume de script, aceasta va rula scriptul respectiv, De exemplu, npmR build.
    • npmI este un alias pentru npm init. Acesta vă va pune o serie de întrebări, apoi va crea un package.json pe baza răspunsurilor dumneavoastră. Utilizați indicatorul -y pentru a automatiza procesul. De exemplu, npmI -y.

    10 Aliasuri Rails/Rake care economisesc timp

    Acest plugin adaugă completarea pentru cadrul Ruby on Rails și pentru programul Rake, precum și câteva aliasuri pentru jurnale și variabile de mediu.

    • rc este un alias pentru rails console, care vă permite să interacționați cu aplicația Rails din CLI.
    • rdc este un alias pentru rake db:create, care (dacă nu este setat RAILS_ENV) creează bazele de date de dezvoltare și de testare pentru aplicația dumneavoastră.
    • rdd este un pseudonim pentru rake db:drop, care renunță la bazele de date de dezvoltare și de testare ale aplicației dumneavoastră.
    • rdm este un pseudonim pentru rake db:migrate, care va rula orice migrări de baze de date în așteptare.
    • rds este un alias pentru rake db:seed, care rulează fișierul db/seeds.rb pentru a popula baza de date de dezvoltare cu date.
    • rgen este un alias pentru rails generate, care va genera codul boilerplate. De exemplu: rgen scaffold item name:string description:text.
    • rgm este un alias pentru rails generate migration, care va genera o migrare a bazei de date. De exemplu: rgm add_description_to_products description:string.
    • .

    • rr este un alias pentru rake routes, care listează toate rutele definite ale unei aplicații.
    • rrg este un alias pentru rake routes | grep, care vă va permite să listați și să filtrați rutele definite. De exemplu, rrg user.
    • rs este un alias pentru rails server, care lansează serverul web implicit Rails.

    Resurse suplimentare

    Principala sarcină a plugin-urilor enumerate mai sus este de a furniza alias-uri pentru comenzile utilizate frecvent. Vă rugăm să fiți conștienți de faptul că există mult mai multe plugin-uri care vă sporesc shell-ul cu funcționalități suplimentare.

    Iată patru dintre preferatele mele:

    • sudo vă permite să prefixați cu ușurință comenzile curente sau anterioare cu sudo apăsând ESC de două ori.
    • autosugestii sugerează comenzi pe măsură ce tastați pe baza istoricului și a finalizărilor. Dacă sugestia este cea pe care o căutați, apăsați tasta → pentru a o accepta. Un adevărat economizor de timp!
    • command-not-found: dacă o comandă nu este recunoscută în $PATH, aceasta va folosi pachetul de comenzi neidentificate de Ubuntu pentru a o găsi sau pentru a sugera greșeli de ortografie.
    • z este un plugin la îndemână care construiește o listă a celor mai frecvente și recente foldere (le numește „frecent”) și vă permite să săriți la ele cu o singură comandă.

    Și nu uitați, dacă petreceți mult timp în terminal, merită să investiți ceva efort pentru a-l face atractiv din punct de vedere vizual. Din fericire, Oh My Zsh este livrat cu o mulțime de teme din care puteți alege. Alegerea mea dintre ele este Agnoster.

    Puteți afla mai multe despre teme în articolul meu 10 Zsh Tips & Tricks: Configurare, personalizare & Utilizare.

    Concluzie

    Acum am ajuns: 75 de comenzi, plugin-uri, alias-uri și instrumente Zsh. Sper că ați învățat un truc sau două pe parcurs și vă încurajez să ieșiți din interfețele grafice și să intrați în terminal. Este mai ușor decât pare și o modalitate excelentă de a vă spori productivitatea.

    Dacă am omis plugin-ul dvs. preferat, sau un alias/comandă care economisește timp, anunțați-mă pe Twitter.

    Vreți să obțineți și mai mult din setul dvs. de instrumente? Consultați Visual Studio Code: End-to-End Editing and Debugging Tools for Web Developers de la Wiley.

    .

    Lasă un răspuns

    Adresa ta de email nu va fi publicată.