Gjennomgang av andre artikler jeg kom over dette lille spørsmålet som forårsaket meg mye moro, er det sant at en av de første tingene som brukere av andre systemer (unntatt FreeBSD) får i ansiktet, er at vi ikke bruker GUI-ene. For å si sannheten virket det også ganske nysgjerrig for meg i begynnelsen av GNU / Linux-reisen. Jeg må innrømme at over tid bruker jeg nå kommandolinjen mye mer enn noe annet GUI-program, og mange ganger foretrekker jeg kommandolinjeprogrammer framfor mer forseggjorte programmer med blendende GUI-er.
Myten
Egentlig er ikke dette noe mer enn en urban myte, for i motsetning til andre systemer hvis navn ikke vil bli nevnt her, er det i GNU/Linux at du virkelig har valgfrihet . Jeg skulle ønske andre systemer tilbød den allsidigheten som finnes her. Men la oss se nærmere på dette problemet, ellers er mange ting uklare:
servere
Vi har alle hørt ordet «server». Noen tenker på superdatamaskinene som driver Google eller Amazon, eller den i bedriften din. Men realiteten er at en server opererer i henhold til en spesifikk modell. Vi bruker dette begrepet for å referere til et program som er tilgjengelig for brukere ( klienter ) og leverer noe til dem. Et grunnleggende eksempel er Apache , som brukes til å servere nettsider på internett. Dette programmet leverer HTML til klienter som ber om det.
Bildeserver
Men ikke bare en server kan være i superdatamaskiner som Google og mange andre selskaper muliggjør, selv den "eldste" bærbare datamaskinen kan være en server, spesielt når vi snakker om bilder. Vi kjører alle en server bilder i bærbare datamaskiner for å ha en funksjonell skjerm, i dette tilfellet server og kunde de er den samme personen. Det vanligste eksemplet er X (kjent som xorg-server i mange distribusjoner) og den nye erstatningen Wayland. Vi kommer ikke til å gi en detaljert forklaring på hvorfor organisasjonen, eller hvordan Wayland fungerer, eller filosofiene som eksisterer bak disse flotte prosjektene, men vi skal gjøre det klart at det er takket være dem at vi kan ha en nettleser som Firefox eller Chrome, eller mange andre programmer.
Vindussjef
Vindusbehandlere jobber direkte med bildeserveren. Funksjonen deres er på et lavere nivå, ettersom de administrerer (redundans ment) hvordan vinduer opprettes, endres og lukkes. De er vanligvis ganske enkle, og skrivebordsmiljøer er bygget på dem. Listen er lang, men jeg lar det være med det: de er minimalistiske programvarer som gir ganske grunnleggende kontroll over bildeserveren.
Skrivebordsmiljø
Et mer spesialisert programvare som ikke bare muliggjør bildeserverdrift, men som også gir muligheter for tilpasning. Blant disse er de eldste og tyngste KDE og GNOME, men vi har også lettere miljøer som LXDE eller Mate, kanel, etc.
CLI (kommandolinjegrensesnitt)
Etter en kort titt på verden av bildeservere, går vi nå til temaet vårt igjen. CLI, innebærer et hvilket som helst program som kjøres av kommandolinjen, enten git, vim, weechat, eller vel, hva annet du kommer opp i. Du kan se at jeg snakker om programmer som, selv om de kjøres på kommandolinjen, viser et slags "grafisk grensesnitt" som weechat o vim. For alle de som ikke har prøvd dem, anbefaler jeg dem, de er i utgangspunktet de jeg bruker hele dagen.
Hvorfor CLI er bedre enn GUI
La oss prøve noe ganske enkelt Her om dagen ville jeg jobbe med en patch for Portage (Gentoos pakkebehandler) . Som i alle gode samarbeidsprosjekter overstiger kodemengden 70 000 linjer. Prøv å åpne det i en IDE som NinjaIDE (Portage er skrevet i Python), og du vil snart legge merke til at så snart skjermen begynner å laste, blir maskinen din ekstremt treg (i hvert fall i7-en min gjorde det), og dette var bare et forsøk på å åpne koden og endre standard "hjelpe"-farge.
Prøv nå å gjøre det samme med vimDet lastet meg i løpet av millisekunder, og samtidig satte det de "pene" fargene og alt annet.
CLI har vært lenge før
Noen her vil si at disse programmene er antiguos, Jeg kaller dem robust. Hvis du kunne se antall timer investert i bygningen emacs, vim, gdb, og hundrevis av andre konsollprogrammer, kan du legge merke til at mengden kode og funksjoner er så stor at de praktisk talt allerede har løst alt de trengte å løse. Mange GUI for programmer som allerede er robuste i deres CLI, vil de aldri ha like mye funksjonalitet, dette bare fordi hvis vi for eksempel laget en fane for hver tilgjengelige underkommando git, ville vi miste oss mellom alternativene, og det ville være kontraproduktivt, fordi det ville gjøre det vanskelig å jobbe.
CLI er raskere
Magien begynner med nøkkelen Tab, dette er ikke bare din beste venn når du surfer på stasjonære datamaskiner i terminalen din, men når den er riktig konfigurert, lar den deg forkorte lange setninger til 2 bokstaver og en Tab, 3 bokstaver og en Tab, eller til og med en bokstav og en Tab .
Men dette er ikke den eneste fordelen, de av oss som har tatt oss tid til å lære vim o emacs Vi kan si at selv om læringskurven er litt høyere enn IDE-ene i disse dager, til slutt er produktivitetsresultatene fantastiske, man kan ikke forestille seg tiden som kan gå tapt når man beveger en mus. Å ha hendene på tastaturet 90% av tiden lærer ikke bare konsentrasjon, i tillegg gjør det å skrive så mye på tastaturet deg ganske smidig og produktiv. Og nå kommer vi tilbake til forrige punkt, etter å ha vært med oss så lenge, har programmer som disse allerede alle funksjonene som noen kunne tenke seg, et ganske vanlig ordtak for de av oss som bruker vim kommer til å tenke:
Hvis du bruker mer enn 4 taster, kan det være en bedre måte.
Enkel, men kraftig, vim lar deg gjøre alt med det store antallet taster og mulige kombinasjoner, man slutter aldri å lære, men det er også sant at det ikke er nødvendig å kjenne dem alle for å kunne bruke det, omtrent 10 eller 15 er nok til å begynne å bli mer produktiv.
CLI gir deg full kontroll
Når man utfører operasjoner med musen, eller programmer fra bildeserveren, er ikke alltid alle ekstra konfigurasjonene som utføres i øyeblikket du klikker, til stede, dette skjer ikke med terminalen, her har du den absolutte kraften til det den blir utført eller ikke, med hvilket alternativ eller i hvilken grad. Over tid innser du at du trenger mindre enn du tror, og det hjelper deg å gjøre ting på en mer fokusert måte.
GUI har også sin egen ting
Jeg kommer ikke til å si at vi alle sammen skal bruke CLI alltid, det er heller ikke ideelt, jeg bruker GUI nesten hele tiden, for å skrive dette innlegget bruker jeg Chrome, og for å se e-postene mine bruker jeg Evolution (selv om jeg også bruke mutt ganske mye i det siste). Og jeg antar at dette er den største myten av alle... at folk tror at GNU/Linux bare er terminal, jeg liker skrivebordsmiljøet mitt, det er ganske minimalistisk, men jeg liker det sånn Og jeg har vanligvis bare to eller tre programmer som kjører, min Chrome, min Evolution og min terminal
Dette er noen av grunnene til at jeg liker CLI-er så godt og hvorfor jeg inviterer deg til å gi dem en sjanse, kanskje senere vil du ende opp med å bruke flere CLI-er enn GUI-er Hilsen