Hvordan jeg gjorde mine Linux-terminaløkter til daglige speedrun-utfordringer

Optimaliser Linux-terminalbruken ved å måle kommandoer, identifisere tidstyver og bruke snarveier og aliaser for å maksimere hastigheten og effektivitet.
Etter mange år med Linux, er læringskurven fortsatt bratt. Uansett hva du setter i gang, dukker det alltid opp en mer effektiv fremgangsmåte. Jeg har derfor begynt å fokusere på hastighetsgevinstene for å maksimere timebruken min i terminalen.
Når jeg måler kommandoer og identifiserer flaskehalser, blir bruken av Linux stadig mer effektiv. Her er metoden min.
Mål kommandoene dine
Finn tidstyvene først
Det enkleste måten å time en kommando på er med time-kommandoen. Perfekt for å optimalisere spesifikke kommandoer eller skript.
Men å bruke time som et generelt rapporteringsverktøy er upraktisk. Jeg ønsket noe mer effektivt for å diagnostisere hva jeg faktisk bruker tid på i terminalen. Med zsh kan du hooke inn to hendelser: preexec, som kjøres før shell utfører en kommando, og precmd, som skjer før den går tilbake til prompten.
timer_preexec() { TIMER_START=$EPOCHREALTIME } timer_precmd() { if [ -n "$TIMER_START" ]; then local duration=$(( EPOCHREALTIME - TIMER_START )) # behandle $duration etter behov unset TIMER_START fi } add-zsh-hook preexec timer_preexec add-zsh-hook precmd timer_precmd I et mer omfattende skript setter jeg PROMPT-variabelen i timer_precmd om tiden overstiger en viss terskel, for å få varsler når noe tar for lang tid. Dette er bare starten; du kan gå mye dypere med logging.
En annen tilnærming er å bruke REPORTTIME-variabelen for automatisk å kjøre time med hver kommando:
export REPORTTIME=0 Sett REPORTTIME til antall sekunder for å bare rapportere langsomme kommandoer.
Raskere terminalbruk
Finn raskere metoder
Når det gjelder å jobbe effektivt, er snarveier nøkkelen. Det kan virke mildt i starten, men disse små forbedringene blir betydelige over tid og reduserer frustrasjonen.
Glem pil opp
Å skrive om tidligere kommandoer fører til unødvendig tidsspill i kommandolinjen. Shellens historiefunksjoner er enkle: trykk Opp for å navigere, Enter for å kjøre. Eller bruk Venstre, Høyre, og Backspace for redigering før kjøring. Kanskje har du også lært Ctrl + A for å hoppe til linjens start.
Men mye av denne skrivingen er unødvendig. For eksempel, !$ gir deg det siste argumentet fra forrige kommando, slik at du kan gjøre noe slikt:
mkdir -p my/new/directory cd !$ Dette er nyttig når du nettopp har gjort en kommando kjørbar (husker å bruke ./ hvis den ikke er i PATH):
chmod +x foo.sh ./!$ Det finnes mange snarveier for historikkutvidelse, som !!, som gjentar den forrige kommandoen:
apt install something # oops, root! sudo !! Men det er også flere metoder for å skrive om tidligere kommandoer. En annen tilnærming, min favoritt, er caret-erstatning:
$ cd my/new/directry cd: no such file or directory $ ^tr^tor cd```html
Bruker du flittig shell-syntaks? Den lar deg ta en tidligere kommando, bytte ut den første strengen med en annen og kjøre det nye resultatet. Jeg har tvunget meg selv til å bruke denne metoden i stedet for å navigere med pil opp, og effekten er merkbar. Raskere, og jeg tenker mer systematisk på hvordan jeg løser problemer.
fc-kommandoen er kanskje den mest undervurderte i verktøykassen. Den åpner den siste kommandoen i terminalredigereren og kjører den når du lukker vinduet. Har du behov for større endringer i en kommando, er det...
Kommandoen er mye raskere enn alternativer som å flytte markøren manuelt eller bruke historikk-snarveier.
Bruk aliaser og funksjoner
Du har garantert kommandoer du kjører på autopilot. Hvorfor ikke gjøre dem enda raskere? Hvis noe gjentas ofte i samme format, er et alias veien å gå.
Alias gir deg en kjapp tekst-erstatning. I stedet for å skrive ls -lh hver gang, sett opp:
llDefiner aliaset i .bashrc med en enkel kommando:
alias ll='ls -lh'Gevinsten kan virke liten, men vokser i takt med kompleksiteten i kommandoene dine. Jeg bruker for eksempel eza i stedet for ls, så mitt alias ser slik ut:
alias ll='eza --long --sort=size --reverse'Det sparer mye tid, særlig når jeg bruker det daglig.
Hvis aliasene dine blir for komplekse, kan du lage en funksjon. Funksjoner håndterer parametre og kontrollflyt, og de kan også brukes i skall-skript.
En nyttig funksjon jeg alltid definerer er:
mkd() { mkdir -p -- "$1" && cd -P -- "$1" || exit }Navnet er kortere enn standard mkdir, og det går ett skritt lenger ved å navigere til den nyopprettede katalogen. Jeg legger også til -p, som oppretter mellomliggende kataloger, perfekt for strukturer som “mkd docs/finance.”
Det finnes imidlertid små ulemper med å bruke -p hele tiden; enkelte feil kan glippe. Men en som ønsker fart, tar slike risikoer for å jobbe raskest mulig.
Selv om Linux-verktøyene er pålitelige og godt etablerte, er det moderne alternativer. Mange er skrevet med effektive språk som Rust.
Noen kraftige verktøy inkluderer tmux for sesjonsadministrasjon, fzf og fd som smidigere alternativer til find/grep, og zoxide som effektiviserer navigasjonen betraktelig.
Kjenn begrensningene — og overvinn dem!
Shellen tilbyr mange sterke funksjoner for å måle og forbedre produktiviteten. Tab-autofullføring, bakgrunnsprosesser og kommando-kjeding er bare noen dyktige verktøy jeg ikke har nevnt her.
```
Hvis du vil lese flere artikler som Hvordan jeg gjorde mine Linux-terminaløkter til daglige speedrun-utfordringer, kan du besøke kategorien Linux.

Legg igjen en kommentar