5 kommandoer jeg alltid må google

Disse terminal-kommandoene kan dra dit peppern gror. 😥

Jørgen forteller om et knippe terminal-kommandoer han alltid må Google. 📸: Ole Petter Baugerød Stokke / Jørgen Jacobsen
Jørgen forteller om et knippe terminal-kommandoer han alltid må Google. 📸: Ole Petter Baugerød Stokke / Jørgen Jacobsen Vis mer

Hva er det med meg og kommandolinje-programmer? Av en eller annen grunn har vi aldri kommet overens.

På 90-tallet fikk min to år eldre fetter minst én telefon av meg i uka, som startet med «Eh, hvordan funker PKUNZIP igjen?».

Da hadde jeg typisk vært på besøk hos han helgen før, og fylt 10-12 disketter med nedpakkede, og mest sannsynlig piratkopierte, spill. Takk gud for at CD-brenneren meldte sin ankomst noen få år etter.

Du burde kanskje ha notert ned utpakkingskommandoen, sier du? Joda, jeg var 12.

Barndommens dumskap til side, 23 år etter har jeg fortsatt behov for å spørre noen om kommandoer jeg ikke husker bæret av. Heldig for fetteren min at noen skapte Google!

For selv om moderne utviklere har et arsenal av grafiske verktøy, er fortsatt kommandolinje-programmer gjeldende i 2018.

Her er min liste over de fem mest hatefulle kommandoene i mitt register, som jeg aldri klarer å huske på egenhånd.

#1: «Grep» 🤢

Gud, som jeg hater «grep». Jeg frykter par-programmering på arbeidsplassen ene og alene fordi jeg risikerer at min makker skal be meg «greppe» etter et eller annet.

Aldri hørt om «grep», sier du? Flaks for deg!

«Grep» er et kommandolinje-verktøy som brukes for å søke etter innhold i tekstfiler. Et ekstremt kraftig verktøy hvis du kan det. For oss andre, er det et forvirrende og angstfremkallende verktøy med ti tusen innstillinger.

# velkommen til Grep. Bokstavelig talt hele alfabetet er en kommando
🕹 ~/Repos/ 🐭 >grep --help
usage: grep [-abcDEFGHhIiJLlmnOoqRSsUVvwxZ] [-A num] [-B num] [-C[num]]
	[-e pattern] [-f file] [--binary-files=value] [--color=when]
	[--context[=num]] [--directories=action] [--label] [--line-buffered]
	[--null] [pattern] [file ...]

#2: «git stash» 🤒

Er «git stash» en del av ditt normale bruksmønster i Git? Og du er ikke Linus Torvalds, sier du?

Git Stash er en kommando i versjonshåndterings-verktøyet Git. Hensikten er at du skal kunne «stashe» halvferdig kode i en liten kasse når du bytter mellom «brancher». Slik at du skal slippe å «committe» kode du ikke er ferdig med.

Problemet med «git stash» er at jeg aldri bruker det på den måten. Mitt mønster ligner mer på «Da får jeg bytte branch da. Oj dæven, her var det noen filer gitt. Jaja, får vel bruke git stash da, og aldri se det igjen.»

For «git stash»-området mitt er virkelig en ødemark av forlatte ting. Som en nedlagt landsby i Ville Vesten ligger de gamle endringene mine der inne, og vitner om en forlatt epoke.

# for noe rot!
$ git stash list
stash@{0}: WIP on master: 049d078 added the index file
stash@{1}: WIP on master: c264051 Revert "added file_size"
stash@{2}: WIP on master: 21d80a5 added number to log

For det er bokstavelig det som skjer: Endringer som går til «git stash» går dit for å dø. Jeg husker nemlig aldri hvordan man får noe tilbake fra «stashet». «git stash list» gir deg alt du har i stashet ditt, det vet jeg, men der stopper det for meg. Var det «pop», «apply» eller noe annet rart jeg skulle skrive? Hjelp meg Google!

#3: «Symlinking» 🤐

En gang hvert skuddår har jeg behov for å «symlinke» en fil eller mappe. For de uinvidde er «symlink» kort for «Symbolic Link», en fil som peker på en mappe eller fil som ligger et annet sted i filsystemet.

Hvis du skal ha en fil tilgjengelig i flere mapper, eller gjøre en mappe fra hjemmeområdet ditt synlig i webserver-området ditt, da bruker du «symlinker».

På kommandolinjen gjøres dette med kommandoen «ln -s». Hva «ln» uten «-s» gjør? Ingen anelse. «ln -s» skal følges opp av målfil og mappen lenken skal opprettes. Eller var det omvendt? «target_path link_path» sier den tvetydige hjelpen i terminal. Google, sier jeg.

#4: head, tail, cat og Gud veit 😭

Kjære du som oppfant kommandolinjen.

Hvorfor skal det være så mange forskjellige kommandoer for å liste ut innholdet av en fil? Hvorfor skal det være minimale forskjeller mellom dem?

Og hvorfor skal man alltid føle seg som en idiot når man velger feil?

#5: Chmod 🤡

«Chmod», som jeg avskyr deg.

«Chmod», og den kjipe broren hans «Chown», er typiske kommandoer man kommer over når man ikke får endret på en fil, noe ikke synes på nettsiden din, eller man får en obskur feilmelding i et program som prøver å lagre eller lese filer på maskinen din.

Chmod operer med en snedig kombinasjon av tall og ymse «-R -X -ALFABETET» som linux-folk tilsynelatende kan på rams. Jeg googler alt og så bruker jeg «chmod 777». 😈

Har du noen kommandoer, eller andre ting i jobben din du konstant googler? Fortell gjerne i kommentarfeltet!