Gennemgang af andre artikler Jeg stødte på dette lille spørgsmål, der forårsagede mig en masse sjov, det er rigtigt, at en af de første ting, som brugere af andre systemer (undtagen FreeBSD) får i vores ansigt, er at vi ikke bruger GUI'erne. For at fortælle sandheden syntes det mig også meget nysgerrig i starten af min GNU / Linux-rejse. Jeg må indrømme, at jeg over tid bruger kommandolinjen meget mere end noget andet GUI-program, og mange gange foretrækker jeg kommandolinjeprogrammer frem for mere detaljerede programmer med blændende GUI'er.
Myten
Faktisk er dette ikke andet end en vandrehistorie, for i modsætning til andre systemer, hvis navne ikke vil blive nævnt her, er det i GNU/Linux, at man virkelig har valgfrihed . Jeg ville ønske, at andre systemer tilbød den alsidighed, der findes her. Men lad os se nærmere på dette problem, ellers forbliver mange ting uklare:
servere
Vi har alle hørt ordet "server". Nogle mennesker tænker på de supercomputere, der driver Google eller Amazon, eller den i din virksomhed. Men virkeligheden er, at en server fungerer efter en bestemt model. Vi bruger dette udtryk til at henvise til et program, der er tilgængeligt for brugere ( klienter ) og leverer noget til dem. Et grundlæggende eksempel er Apache , som bruges til at vise websider på internettet. Dette program leverer HTML til klienter , der anmoder om det.
Billedserver
Men ikke kun en server kan være på de supercomputere, som Google og mange andre virksomheder muliggør, selv den "ældste" bærbare computer kan være en server, især når vi taler om billeder. Vi kører alle en server af billeder i vores bærbare computere for at have en funktionel skærm, i dette tilfælde server og kunde de er den samme person. Det mest almindelige eksempel er X (kendt som xorg-server i mange distributioner) og dens nye erstatning Wayland. Vi vil ikke give en detaljeret forklaring på, hvorfor organisationen, eller hvordan Wayland fungerer, eller de filosofier, der findes bag disse store projekter, men vi vil gøre det klart, at det er takket være dem, at vi kan have en webbrowser som Firefox eller Chrome eller mange andre programmer.
Vindueschef
Vinduesadministratorer arbejder direkte med billedserveren. Deres funktion er på et lavere niveau, da de styrer (redundans er tiltænkt), hvordan vinduer oprettes, ændres og lukkes. De er normalt ret simple, og skrivebordsmiljøer er bygget på dem. Listen er lang, men jeg vil bare lade det være ved det: de er minimalistiske softwareprogrammer , der giver mulighed for forholdsvis grundlæggende kontrol over billedserveren.
Desktop miljø
Et mere specialiseret sæt software, der ikke kun muliggør billedserverdrift, men også giver mulighed for tilpasning. Blandt disse er de ældste og tungeste KDE og GNOME, men vi har også lettere miljøer som LXDE eller Mate, kanel osv.
CLI (kommandolinjegrænseflade)
Efter en kort gennemgang af verdenen af billedservere vender vi nu tilbage til vores emne. CLI, antyder ethvert program, der enten udføres af kommandolinjen git, vim, weechateller godt, hvad der ellers kommer til at tænke på. Du kan se, at jeg taler om programmer, der, selvom de udføres på kommandolinjen, viser en slags "grafisk grænseflade" som weechat o vim. For alle dem, der ikke har prøvet dem, anbefaler jeg dem, de er dybest set dem, jeg bruger hele dagen.
Hvorfor CLI er bedre end GUI
Lad os prøve noget ret simpelt Forleden dag ville jeg arbejde på en programrettelse til Portage (Gentoos pakkehåndtering) . Som i ethvert godt samarbejdsprojekt overstiger mængden af kode 70k linjer. Prøv at åbne det i en IDE som NinjaIDE (Portage er skrevet i Python), og du vil snart bemærke, at så snart skærmen begynder at indlæses, bliver din maskine ekstremt langsom (i hvert fald min i7 gjorde det), og dette var bare et forsøg på at åbne koden og ændre standard "hjælpe"-farven.
Prøv nu at gøre det samme med vim, det belastede mig i løbet af millisekunder, og på samme tid satte det de "smukke" farver og alt andet.
CLI har været længe før
Nogle her vil sige, at disse programmer er AntiguosJeg kalder dem robust. Hvis du kunne se antallet af timer investeret i bygningen emacs, vim, gdbog hundreder af andre konsolprogrammer, bemærker du muligvis, at mængden af kode og funktionaliteter er så stor, at de praktisk talt allerede har løst alt, hvad de har brug for at løse. Mange GUI for programmer, der allerede er robuste i deres CLI, har de aldrig den samme funktionalitet, dette simpelthen fordi hvis vi for eksempel lavede en fane for hver tilgængelig underkommando git, ville vi miste os mellem mulighederne, og det ville være kontraproduktivt, fordi det ville gøre det vanskeligt at arbejde.
CLI er hurtigere
Magien begynder med nøglen Tab, dette er ikke kun din bedste ven, når du gennemsøger desktops i din terminal, men når den er korrekt konfigureret, giver den dig mulighed for at forkorte lange sætninger til 2 bogstaver og en Tab, 3 bogstaver og en Tab, eller endda et bogstav og en Tab.
Men dette er ikke den eneste fordel, de af os, der har taget sig tid til at lære vim o emacs Vi kan sige, at selv om læringskurven er lidt højere end IDE'erne i disse dage, er produktivitetsresultaterne i sidste ende fantastiske, man kan ikke forestille sig den tid, der kan gå tabt, når man bevæger en mus. At have dine hænder på tastaturet 90% af tiden lærer ikke kun koncentration, desuden gør det faktum at skrive så meget på tastaturet dig ret smidig og produktiv. Og nu vender vi tilbage til det forrige punkt, der har været med os så længe, at programmer som disse allerede har alle de funktioner, som nogen kunne tænke på, et ret almindeligt ordsprog for dem af os, der bruger vim, kommer til at tænke på:
Hvis du bruger mere end 4 taster, kan der være en bedre måde.
Enkel, men kraftfuld, vim giver dig mulighed for at gøre alt med det store antal nøgler og mulige kombinationer, man stopper aldrig med at lære, men det er også rigtigt, at for at kunne bruge det er det ikke nødvendigt at kende dem alle, omkring 10 eller 15 er nok til at starte være mere produktive.
CLI giver dig fuld kontrol
Når man udfører operationer med musen eller programmer fra billedserveren, er alle de ekstra konfigurationer, der udføres i det øjeblik, man klikker, ikke altid til stede. Dette sker ikke med terminalen, her har man den absolutte kraft af hvad det udføres eller ej, med hvilken mulighed eller i hvilket omfang. Over tid indser du, at du har brug for mindre, end du tror, og det hjælper dig med at gøre tingene på en mere fokuseret måde.
GUI har også sin egen ting
Jeg vil ikke sige, at vi alle sammen altid skal bruge CLI, det er heller ikke ideelt, jeg bruger selv GUI næsten hele tiden til at skrive dette indlæg, jeg bruger min Chrome, og for at se mine e-mails bruger jeg Evolution (selvom mutt en del på det seneste). Og jeg formoder, at dette er den største myte af alle... at folk tror, at GNU/Linux kun er terminal, jeg kan godt lide mit skrivebordsmiljø, det er ret minimalistisk, men jeg kan lide det på den måde Og jeg har normalt kun to eller tre programmer, der kører, min Chrome, min Evolution og min terminal
Dette er nogle af grundene til, at jeg kan lide CLI'er så meget, og hvorfor jeg inviterer dig til at give dem en chance, måske senere ender du som mig med at bruge flere CLI'er end GUI'er Med venlig hilsen