En liten advarsel - jeg er ingen profesjonell terminalbruker. Likevel har jeg i løpet av de siste syv årene lært noen kjekke teknikker, som du kanskje ikke har hørt om.
Jeg garanterer ikke at du lærer noe nytt fra dette, men jeg håper flere av dere lærer en ting eller to.
Advarsel: Disse kommandoene er kun testet på Mac OSX, men det kan godt hende de fungerer i Linux og WLS også!
Bruk utklippstavlen 📋
Fra tid til annen har jeg data i utklippstavlen som jeg har lyst til å bruke i terminalen, eller noe fra terminalen jeg vil stappe i utklippstavlen.
Det er to kommandoer du må kjenne til for å få til dette - pbcopy og pbpaste. Kombinerer du dem med pipe-operatoren | og til-fil-operatoren > kan du gjøre noen ganske kule ting. Under har jeg et par eksempler.
For å overføre det du har i utklippstavlen til en ny fil - for eksempel .env - gjør du dette:
$ pbpaste > .env
Vipps er det slutt på å opprette en ny fil, bare for å åpne den i Vim eller VSCode, lime inn innholdet fra utklippstavlen og lagre på nytt. Nå kan du få jobben gjort med noen få tegn!
Om du ønsker å kopiere en fil inn i utklippstavlen er det også lekende lett. Du bruker bare pipe-operatoren sammen med pbcopy. Slik ser det ut:
$ cat .env | pbcopy
Her skriver kommandoen cat ut hele innholdet av en fil - i dette tilfelle .env - og pipe-operatoren sender den videre som input til pbcopy. Voilà - nå kan du kopiere alt innholdet fra filer, uten å engang åpne dem!
Norske OhShitGit redder deg fra Git-feil
Gjør mer med mindre 😎
Det lille fil-leseprogrammet less bruker jeg ofte til å scanne, søke og lese gjennom filer. Det er et skikkelig kraftig verktøy når du først lærer hvordan du bruker det. Allerede fra første forsøk vil du oppdage hvor praktisk det er å bruke piltastene til å skrolle gjennom filer, direkte i terminalen.
Jeg bruker less hovedsakelig til å lese konfigurasjonsfiler, men før var det alltid noe som irriterte meg. Om jeg ville endre noe i en av disse filene, så måtte jeg lukke less, åpne fila i en editor og skrolle meg ned til hvor jeg var.
Heldigvis har jeg lært meg et lite triks! Du kan faktisk bare skrive "v", så vil standard-editoren - som oftest Vim - åpne seg, med fokus på den samme linjen som i less.
Når du lukker Vim - med forbehold at du vet hvordan du lukker Vim 😜 - blir du plassert tilbake der du var i less.
Et par andre praktiske tips i less er at du kan gå til starten av dokumentet med "g" og enden av dokumentet med "shift + g".
Du kan også søke etter en frase ved å skrive "/" etterfulgt av det du leter etter, og du hopper gjennom søkefunnene ved å trykke på "n" for å gå fremover og "shift+n" for å gå bakover.
Det finnes et tonn med andre ting du kan gjøre med less; de kan du lese om her.
Åpne filer og mapper 📂
Av og til kommer man over en fil i terminalen som man vil åpne med filens standardapplikasjon - for eksempel en videofil eller et lydklipp.
Du kan selvsagt hoppe ut av terminalen, lete opp fila i Finder, og dobbeltklikke på den - men det finnes en bedre måte.
Hvis du vil åpne en fil fra terminalen - selv om programmet ikke er et terminalbasert-program - kan du bruke open-kommandoen:
$ open videos/screen_recording.mp4
$ open package.json
$ open images/vacation.png
Jeg pleier sjelden åpne filer på denne måten, men jeg åpner mapper i Finder fra terminalen hele tiden! Open-kommandoen fungerer nemlig på mapper også:
$ open ~/Documents
$ open . # opens the current folder
Kraftige tegn 💪
Det er to tegn som er skikkelig praktisk å kunne når du bruker terminalen.
Tegnet "-", også kjent som bindestrek, fungerer godt i to kontekster. Du kan legge det til etter cd-kommandoen for å hoppe tilbake til den forrige mappen du befant deg i, Og du kan legge tegnet til etter kommandoen git checkout for å sjekke ut den forrige branchen du befant deg i.
# Eksempel på å bruke cd -
~/Documents $ cd /usr/bin
/usr/bin $ cd -
~/Documents $
# Eksempel på å bruke git checkout -
(master) $ git checkout feature-branch
(feature-branch) $ git checkout -
(master) $
Utropstegnet "!" er det andre tegnet du bør kjenne til. Det lar deg søke i historikken av tidligere kommandoer du har tastet, og gjenbruke argumentet du brukte til sist kommando:
$ !cat
$ # Viser den siste kommandoen du kjørte som starter med cat
$ less a.txt b.txt
$ vim !* # åpner a.txt og b.txt i Vim
$ less a.txt b.txt
$ vim !$ # åpner b.txt i vim
Det er et praktisk lite triks, men jeg bruker det egentlig ikke så ofte. Dobbelt utropstegn derimot, da snakker vi! Spesielt hvis du bruker det i kombinasjon med sudo-kommandoen.
Har du av og til kjørt en kommando bare for å oppdage at du trenger administrator-rettigheter? Da kan du bare kjøre "sudo !!", og så kjører forrige kommando om igjen med sudo foran.
$ chmod +x /usr/share/firmlinks
chmod: Unable to change file mode on /usr/share/firmlinks: Operation not permitted
$ sudo !!
Apropos kommando-historikk. Du trenger egentlig ikke utropstegnet når du behersker "ctrl+R"-snarveien. Vipps har du tilgang til et søk i hele kommando-historikken, med autocomplete!
Sjø-skjell 🌊
Helt til slutt må jeg nevne oh-my-zsh.
Zsh - som uttales sea shell - er et populært alternativ til det velkjente bash-shellet, og oh-my-zsh er et lite rammeverk som legger til et tonn med funksjonalitet, aliaser og plugins for å forbedre arbeidsflyten din.
Hvis du ikke har installert det allerede, kan du gjøre det med å besøke nettsiden deres her. Deretter er det bare å dra opp denne jukselappen og sette i gang.
Det finnes blant annet en haug med med kjekke snarveier for git; slik som "gst" istedenfor "git status" og "gc" istedenfor "git commit". Men også snertne kommandoer som "..." for å navigere to mapper opp og "take mappenavn" som lar deg lage en mappe og gå til den i en kommando. Du kan til og med spesifisere en mappestruktur slik som "mappe1/mappe2/mappe3/" og så vil take opprette hele strukturen.
Til sist
Dette et et utvalg av mine favoritt-tips for å bli mer produktiv i terminalen. Det er hauger med lure kommandoer som jeg har utelatt - slik som hvordan man grepper, og hvordan man går ut av Vim 😉 - men for å være helt ærlig bruker jeg dem ikke så mye uansett.
Jeg håper du fant et par tips du kunne legge til i verktøykassen din. Og lov meg at du deler dine favoritt-kommandoer med meg på Twitter!