Zakaj imamo raje ukazno vrstico kot GUI-je?

Ob pregledu drugih člankov sem naletel na to majhno vprašanje, ki mi je povzročilo veliko zabave, res pa je, da je ena od prvih stvari, s katero se srečujejo uporabniki drugih sistemov (razen FreeBSD), ta, da ne uporabljamo GUI-jev. Resnici na ljubo se mi je zdelo prav tako radovedno na začetku mojega potovanja po GNU / Linux. Moram priznati, da sčasoma zdaj uporabljam ukazno vrstico veliko bolj kot kateri koli drug program GUI in pogosto imam raje programe ukazne vrstice kot bolj dodelane programe z bleščečimi GUI-ji.

Mit

Pravzaprav to ni nič drugega kot urbani mit, kajti v nasprotju z drugimi sistemi, katerih imena tukaj ne bodo omenjena, je to v GNU / Linux, kjer resnično imate libertad izbire. Želim si, da bi v drugih sistemih obstajala vsestranskost, ki obstaja tukaj. Toda poglejmo to zadevo bolj poglobljeno, sicer marsikaj ni jasno:

Strežniki

Vsi smo besedo že slišali Strežnik, nekateri verjamejo, da gre za tiste super računalnike, ki poganjajo Google ali Amazon, ali tistega v vašem podjetju. Toda v resnici je a Strežnik odgovori na a model dela. S tem izrazom se sklicujemo na dejstvo, da imamo program, ki je na voljo uporabnikom (stranke) in jim nekaj izroči. Osnovni primer je Apache, ki se uporablja za služijo spletne strani na internetu. Ta program prinaša html v stranke ki to zahtevajo.

Slikovni strežnik

Ne samo, da je strežnik lahko v super računalnikih, ki jih omogočajo Google in številna druga podjetja, tudi najstarejši prenosnik je lahko strežnik, še posebej, ko govorimo o slikah. Vsi vodimo a strežnik slik v naših prenosnikih, da imajo funkcionalen zaslon, v tem primeru strežnik in stranke gre za isto osebo. Najpogostejši primer je X (znano kot xorg-server v številnih distribucijah) in njegovo novo zamenjavo Wayland. Ne bomo podrobno pojasnjevali, zakaj organizacija ali kako deluje Wayland ali filozofije, ki obstajajo za temi velikimi projekti, vendar bomo jasno povedali, da lahko po njihovi zaslugi računamo na spletni brskalnik na primer Firefox ali Chrome ali številni drugi programi.

Upravitelj oken

Upravitelji oken delajo neposredno s slikovnim strežnikom, njihovo delo je na "nižji" ravni, saj upravljajo (odpusti odvečnost), kako se okna ustvarjajo, spreminjajo, zapirajo. Običajno so precej preprosti in na njih temeljijo namizna okolja. Seznam je velik, toda tu bom pustil samo idejo, da so minimalistična programska oprema, ki omogočajo dokaj osnovni nadzor nad slikovnim strežnikom.

Namizno okolje

Bolj specializiran nabor programske opreme, ki ne samo omogoča delovanje slikovnega strežnika, temveč omogoča tudi prilagoditve. Med temi sta najstarejša in najtežja KDE in GNOME, imamo pa tudi lažja okolja, kot sta LXDE ali Mate, cimet itd.

CLI (vmesnik ukazne vrstice)

Po kratkem pogledu na svet slikovnih strežnikov se zdaj spet obrnemo na našo temo. CLI, pomeni tudi ves program, ki se izvaja v ukazni vrstici git, vim, weechat, ali no, karkoli vam še pade na pamet. Vidite, da govorim o programih, ki, čeprav se izvajajo v ukazni vrstici, kažejo nekakšen "grafični vmesnik", kot je weechat o vim. Vsem, ki jih niso preizkusili, jih priporočam, v bistvu so tisti, ki jih uporabljam cel dan.

Zakaj je CLI boljši od GUI

Poskusimo nekaj precej preprostega 🙂 Pred dnevi sem si želel pripraviti popravek Portage (upravitelj paketov Gentoo). Kot vsak dober skupni projekt tudi število vrstic kode presega 70k. Poskusite to odpreti v IDE-ju, kot je NinjaIDE (Portage je napisan v Pythonu), in ne bo trajalo dolgo, ko boste opazili, da ko se zaslon začne nalagati, postane vaša naprava izjemno počasna (vsaj moj i7 je to storil) in to samo poskuša odprite kodo in spremenite na privzeto barvo «pomoč».

Zdaj poskusite storiti enako z vimNaložil me je v nekaj milisekundah, hkrati pa je dal "lepe" barve in vse ostalo.

CLI je že dolgo prej

Nekateri tukaj bodo rekli, da so ti programi starodavne, Jih pokličem robusten. Če bi lahko videli število ur, vloženih v gradnjo emacs, vim, gdbin stotine drugih konzolnih programov lahko opazijo, da je količina kode in funkcionalnosti tako velika, da so praktično že rešili vse, kar so potrebovali. Veliko GUI Za programe, ki so v svojem CLI že zanesljivi, nikoli ne bodo imeli enake količine funkcionalnosti, to preprosto zato, ker če bi na primer naredili zavihek za vsak razpoložljivi podkomando git, izgubili bi se med možnostmi in bi bilo kontraproduktivno, ker bi otežilo delo.

CLI je hitrejši

Magija se začne s ključem Tab, to ni le vaš najboljši prijatelj pri brskanju po namizjih v vašem terminalu, ampak ko je pravilno konfiguriran, vam omogoča, da dolge stavke skrajšate na 2 črki in zavihek, 3 črke in zavihek ali celo črko in Tab.

A to ni edina prednost, tisti, ki smo si vzeli čas za učenje vim o emacs Lahko rečemo, da čeprav je učna krivulja nekoliko višja od današnje IDE-jev, so rezultati produktivnosti na koncu neverjetni, vendar si človek ne more predstavljati časa, ki ga lahko izgubimo s premikanjem miške. Če v 90% primete roke na tipkovnici, se ne naučite zgolj koncentracije, poleg tega pa vas dejstvo, da toliko tipkate po tipkovnici, naredi precej okretnega in produktivnega. In zdaj se vrnemo k prejšnji točki, saj smo bili že toliko časa, da imajo programi, kot so ti, že vse funkcije, ki bi si jih nekdo lahko omislil, na pamet pa mi pade dokaj pogost rek za tiste, ki uporabljamo vim:

Če uporabljate več kot 4 tipke, obstaja morda boljši način.

Preprost, a zmogljiv, vim vam omogoča, da z velikim številom tipk in možnimi kombinacijami naredite vse, človek se nikoli ne ustavi, res pa je tudi, da za njegovo uporabo ni treba poznati vseh, za začetek je dovolj približno 10 ali 15 biti bolj produktivna.

CLI vam daje popoln nadzor

Ko nekdo izvaja operacije z miško ali programi s slikovnega strežnika, vse dodatne konfiguracije, ki se izvajajo v trenutku klika, niso vedno prisotne, s terminalom se to ne zgodi, tu imate absolutno moč se izvrši ali ne, s katero možnostjo ali v kakšnem obsegu. Sčasoma ugotoviš, da potrebuješ manj, kot si misliš, in to ti pomaga narediti stvari bolj osredotočeno.

Tudi GUI ima svojo stvar

Ne bom rekel, da bi morali vsi vedno uporabljati CLI, tudi to ni idealno, sam skoraj ves čas uporabljam GUI-je, da napišem to objavo, ki jo uporabljam Chrome, in da vidim svoja e-poštna sporočila, ki jih uporabljam Evolution (čeprav mutt v zadnjem času). In mislim, da je to največji mit od vseh ... da ljudje mislijo, da jih GNU / Linux samo ukinja, všeč mi je moje namizno okolje, je precej minimalistično, vendar mi je všeč tako 🙂 In ponavadi imam le dva ali tri programi, ki se izvajajo, moj Chrome, moj Evolution in moj terminal 🙂

To je nekaj razlogov, zakaj so mi CLI-ji tako všeč in zakaj vas vabim, da poskusite, kasneje bodo morda na koncu kot jaz uporabili več CLI-jev kot GUI-jev. Lep pozdrav


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.

  1.   anonimni je dejal

    «Kot vsak dober skupni projekt tudi število vrstic kode presega 70 tisoč. Ta del me je naredil preveč hrupnega. Ali obstaja tehnična nezmožnost, zakaj je treba kodo stisniti v isti datoteki? Ali ne bi bilo bolje ločiti vedenje v različnih entitetah (datoteke / razredi / moduli)?
    Zdi se, da ni utemeljen razlog, da bi eno tehnologijo vsiljevali drugi, da bi ob strani pustili prednosti, ki jih predlaga zaradi pomanjkanja oblike razvoja. V vsakem primeru govorim, ne da bi vedel, na kateri projekt se nanaša, obstaja večji razlog, ki sili v tak način dela

    1.    ChrisADR je dejal

      Pozdravljeni,

      No, morda je za to treba malo pojasniti, toda to, kar imenujem "dober projekt", pomeni, da število vrstic izraža, da zdrava skupnost nenehno raste. Obstajajo projekti z veliko manjšim številom vrstic, a povsem zdravi v svojem razvoju. Da, prenos je razdeljen na čim več datotek, vendar je vedno treba dele hraniti v skupine, kot so knjižnice ali stikala, ki vodijo do kar nekaj drugih funkcij. Toda, ko danes uvozite projekt v številne IDE-je, to pomeni, da boste prebrali vse datoteke v projektu in poskušali postaviti pravilno "vizualno" obliko.

      Upam, da bom malo jasnejši 🙂 in hvala za komentar.
      pozdrav

  2.   anonimni je dejal

    Uporaba ukazne vrstice? Da, vendar le, kadar je to primerno. Se pravi, ko je bolj udobno in hitreje. Na primer, če želim namestiti določen program, je zame bolj priročno, da vtipkam ime programa sudo apt install kot odpreti upravitelja programske opreme, ga poiskati, označiti za namestitev in pritisniti "install". Toda na splošno ni tako. Na primer: če želim kopirati 20 skladb, ki so mi najbolj všeč, iz enega imenika v drugega, je super udobno narediti Ctrl + Click, medtem ko mirno pregledujete ogromen seznam iz upravitelja datotek in nato povlečete in spustite. Še en primer: če želim disk razdeliti na particije, je veliko bolje, da to storim s pomočjo gparted (program, ki izvaja množico ukazov, medtem ko grafično prikaže, kako bo disk), kot da to storim ročno. Seznam bi lahko bil neskončen. GUI lahko (v resnici običajno) delo olajšajo, poleg tega pa dodajo funkcije, ki so za določeno aplikacijo cli morda nemogoče

    1.    ChrisADR je dejal

      no, to je odvisno od tega, kako udobno ste z ukazno vrstico ... na primer:

      find dir/musica -name "archivo" -exec grep cp {} dir/nuevo \;

      z nekaj čarovnije v bashu lahko celo naredite funkcijo, ki izvrši isto, samo tako, da vstavite ime pesmi:

      Nekaj ​​kot

      mover(){
      find dir/musica -name $1 -exec grep cp {} dir/nuevo \;
      }

      in pripravljeno! vse svoje pesmi lahko premaknete s preprostim

      mover cancion1.mp3

      🙂 Kar zadeva drugo, čeprav deloma GUI delo poenostavljajo, tako da se izogibajo zapomnjevanju in ponavljanju ukazov, je to koristno le v splošnih okvirih, ko potrebujete nekaj specializiranega, razdeljenega ali katerega koli drugega GUI-ja, ki je lahko kratek 🙂 in GUI-ji ne dodajajo dodatnih funkcij, jemljejo samo tiste, ki obstajajo v CLI (ne vseh), in jih združujejo, vendar jih ne ustvarjajo

      pozdrav

      1.    anonimni je dejal

        ne glede na to, koliko je postopek avtomatiziran z:
        premakni pesem1.mp3

        potem bo nujno:
        premakni pesem2.mp3
        premakni pesem3.mp3
        .
        .
        .
        premakni pesem20.mp3
        ganljivih pesmi je veliko ...
        s katerim koli upraviteljem datotek .. traja le 20 klikov in poteza povleci in spusti. Ne vem, a vsaj moj upravitelj (Dolphin) mi omogoča, da enostavno in super hitro (manj kot 5 sekund) razvrstim seznam 100 pesmi po imenu, datumu, velikosti, oznakah, uvrstitvi, albumu, izvajalcu, trajanju itd. zame je to PRODUKTIVNOST in dodaja tudi funkcionalnost ukazni vrstici.

        Kar zadeva drugi primer .. GParted: V redu .. če potrebujete kaj zelo specializiranega, na primer spreminjanje privzete vrednosti bajtov na inode pri formatiranju, pojdite na konzolo .. ampak prijatelj, to ni to je normalno. GParted bo v 99% primerov popolnoma zadovoljil naše potrebe na zelo preprost in zelo hiter način, in vsaj zame to tudi produktivnost

        pozdrav

        1.    ChrisADR je dejal

          No, to je primer avtomatizacije v najpreprostejši obliki, kot ste rekli "če hočem svojih 20 pesmi, ki so mi najbolj všeč, kopirati iz enega imenika v drugega", vse to šteje s časom, ki ga potrebujete, da "mirno" pregledate vaš seznam po naročilu in tudi klikom in itd., terminal omogoča to in še veliko več v samo eni vrstici, morda približno 0.1 sekunde izvajanja v vašem procesorju (tudi če je star), če to lahko premagajo vaše oči in miška, no, grem na GUI 🙂 in ne, da nisem rekel, da jih ne uporabljam, imajo veliko koristnih stvari, ne bom zanikal, vendar sem vsaj našel veliko večjo vsestranskost v terminalu, v poleg tega, da mi vsak dan pomaga avtomatizirati nekaj programov. Zelo pogost rek med SysAdminsi je, "če isto počnete več kot enkrat na dan, avtomatizirajte, če to počnete več kot dva dni na dan, avtomatizirajte, če to počnete celo enkrat na mesec, avtomatizirajte . "

          Ampak hej, glede na okuse in barve ima vsak svojo, omejim se na deljenje stvari, ki so mi všeč 🙂 in mogoče je veliko ljudi, ki se "bojijo" stvari, kot so emacs, vim ali isti terminal, s temi objavami vam poskušam le dati malo samozavesti in radovednosti, da jih lahko preizkusite in se odločite 🙂

          pozdrav

          PS: Poznam veliko razvijalcev, za katere grafični uporabniški vmesniki ne rešujejo stvari zaradi zapletenosti, ki jo potrebujejo v vsakdanjem življenju, česar morda "običajen" uporabnik ne bo nikoli videl, vendar to ne pomeni, da je več "skupnih" "lahko uporablja ta orodja in dobi enake bolj vsestranske prednosti.

          1.    anonimni je dejal

            Še vedno mislim, da za to nalogo (in še veliko več) traja veliko manj časa z uporabo upravitelja datotek kot z ukazno vrstico ... ampak hej, kot pravite, obstajajo okusi in barve za vsakogar.

            Ne zanikam niti se ne bojim terminala, vendar ga ne vidim kot skoraj obvezen stavek, zato sem začel z besedami "ukazna vrstica da, toda kadar je primerno"

            Kar zadeva razvijalce, obstaja vse, vendar tehtnica očitno kaže na eno stran: vabim vas, da si ogledate:

            https://pypl.github.io/IDE.html

            Zdi se, da "običajni" razvijalci vidijo prednosti dela v grafičnem okolju, polnem zmogljivosti, če ga primerjamo s tistimi, ki stavijo na delo z urejevalniki "samo besedila".

    2.    goriš je dejal

      Na primer: če želim kopirati 20 skladb, ki so mi najbolj všeč, iz enega imenika v drugega, je super udobno narediti Ctrl + Click, medtem ko mirno pregledujete ogromen seznam iz upravitelja datotek in nato povlečete in spustite.

      Obstajajo upravitelji datotek ukazne vrstice, ki so tako praktični ali več kot grafični, na primer Vifm ali Ranger. Tudi za particioniranje diskov obstajajo aplikacije ukazne vrstice, kot je cgdisk z vmesnikom e ncurses.

      1.    ChrisADR je dejal

        No, res je 🙂 V resnici ne vem, zakaj se toliko ljudi boji terminala, to je pravzaprav zelo robustno in vsestransko orodje, nekaj, kar bi morali vsi poskusiti vsaj enkrat poglobljeno.

        Hvala za delitev in pozdrav.

      2.    anonimni je dejal

        Da, terminalski upravitelji datotek obstajajo pred grafiko. Kar zadeva praktičnost, je odvisno od tega, kaj želite. Vsak upravitelj grafičnih datotek ima zavihke, priljubljene, načine pogleda, predogled, možnost naročanja na 1000 različnih načinov, povezavo terminala, namestitev vtičnikov itd. Itd. Itd. zaradi česar so veliko bolj vsestranski kot kateri koli upravitelj besedilnih datotek.

        Ni nujno, da je dobro tudi grdo

    3.    chupy35 je dejal

      preprosto se naučite delati tisto, kar počnete v cliu, in zagotavljam vam, da bo to lažje, kar boste omenili zelo enostavno, bi naredili z rsync in lahko to enostavno naredite kot skript.

      Priporočam vam upravitelj datotek cli, imenovan ranger, ki vsebuje vse, kar omenite.

      1.    godel je dejal

        Za kopiranje 20 pesmi naredim seznam z "ls * .ogg> top20". Nato grem v Vim in izberem (izbrišem tisto, kar ne želim) pesmi, ki jih želim. Na koncu naredim "cp $ (cat top20) otrodir" in to je to. To je bolj udobno kot izbiranje z miško in da je 19 že izbranih skladb po pomoti preklicanih izbor.

  3.   Alberto cardona je dejal

    Čudovito !!
    Še vedno se ne morem odločiti za namestitev Gentoo 🙁 (sem pri BunsenLabs). Trenutno uporabljam odprto polje in za skripte Bash uporabljam nano
    Vendar si želim, da bi se podal v Vim ali Emacs!
    pozdrav
    Z veseljem prebiram vaše objave

    1.    ChrisADR je dejal

      Najlepša hvala, Alberto very Zelo sem vesel, da so vam moji članki všeč, z veseljem pišem objave.
      Upam, da se razveselite in seveda tudi, res je, da vedno poskusite kaj novega 🙂

  4.   ChrisADR je dejal

    No, s tem končujem z odgovori na zadnja dva komentarja in bi cenil, da moderatorji o tem ne sprejmejo več, to nikamor ne gre in ideja ni, da bi seznam komentarjev zapolnili z vrsto argumentov v prid oz. proti enemu ali drugemu.

    Kar zadeva "vsestranskost", morda tisti, ki mislijo, da menijo, da imajo vtičniki samo GUI, resnica pa je, da so vtičniki terminalov tako raznoliki in funkcionalni kot ljudje, ki jih uporabljajo, je najbolj jasen primer

    https://vimawesome.com/

    Skoraj neskončen seznam vtičnikov za vim, zaradi katerih je bolj vsestranski kot mnogi IDE-ji ... in če omenimo, ta povezava ne omenja, da ta seznam vključuje ljudi, ki uporabljajo IDE-je v sistemih Windows in Mac, kar dejansko veliko bolje govori o Vimovih govori Eclipse, če primerjamo število ljudi, ki uporabljajo Eclipse na treh platformah, se Vim nima česa sramovati, da ima zasluženo 4. mesto.

    Toda če gremo malo dlje ... da "navadni" ljudje nekaj uporabljajo, ne pomeni, da je to nujno dobro, verjetno pa bi bil Windows veliko boljši od drugih sistemov. Mogoče je preprosto, da se raje ne naučijo nekaj uporabljati, raje enostavno možnost ... ali ker se je vaše podjetje tako odločilo za uvedbo standarda (Eclipse je standard v mnogih podjetjih, kar bi razložilo veliko število uporabnikov ... tako kot Android in Visual Studio, ki sta edini način za delo s svojimi jeziki ... medtem ko je Vim BREZPLAČNA izbira tistih, ki ga uporabljajo)

    . "Grdo" je zelo subjektiven izraz, lahko smatram "grdo" zasnovo Qt ali WebKit ali celo vmesnika Mac OS ... toda to ne pomeni, da to vidi nekdo drug, samo stvar je navade 🙂

    pozdrav

    1.    anonimni je dejal

      Spoštujem željo, da ne želim dati pravice do odgovora.

      samo informativno:
      https://vim.sourceforge.io/download.php

  5.   Claudio je dejal

    Popolnoma se strinjam z Anonymous, toda v mojem primeru sem preprost uporabnik, brez globokega znanja analitika ali programerja. In kot tak, potrebujem GUI, da mi spodleti veliko zakladov v Linuxu, na primer danes, ko je leto 2017, ni aplikacije GUI, ki bi olajšala skupno rabo map v omrežju Linux, in pravim, da Linux ne razumem Pri Sambi in Windows govorim o neto omrežju Linux. Če želite deliti v omrežju Linux, morate konfigurirati določen NFS in samo iz ukazne vrstice izgublja čas in tudi ne pojasnjujem, zakaj je tako težko imeti grafični uporabniški vmesnik, ki to olajša, kot se to zgodi v sistemu Windows.
    Po mnenju ChrisADR-a "Jaz sem mlad razvijalec programske opreme" in vidite, da o tej temi veste veliko, ali bi morali razviti aplikacijo GUI, ki olajša to, kar sem pravkar razložil, ali je vaš čisto naslov in hvalisanje? Enako je, kot če bi zdravnik dal mnenje o tem, kako je bolje izvesti operacijo, ne da bi jo kdaj opravil. «Pingoji so vidni na igrišču», preden razvijete svoje mnenje iz mesta «razvijalca programske opreme», morate razviti aplikacijo GUI in če je bolje uporabiti terminal ali ne, se morate postaviti na mesto tistega, ki uporablja Linux in kdo ga uporablja. Upajmo, da boste videli članek ChrisADR, ki predstavlja in deli njegovo aplikacijo GUI za skupno rabo datotek v omrežju Linux. Trenutno jih ni, razen če Sambe uporabljate samo za skupno rabo sistema Windows.

    1.    Guillermo je dejal

      Ustvarjanje programa ni enostavno v enem popoldnevu, zahteva vsaj nekajtedenski napor in kar je še huje, potem se trudimo, da let popravimo napake in ga posodobimo skupaj z novimi knjižnicami funkcij, zaradi katerih so prej uporabljene zastarele ., embalaža za različne distribucije, ...
      Če pa že imate SAMBA, ki jo lahko uporabljate tudi med dvema GNU / Linuxom, ne da bi potrebovali sistem Windows, zakaj želite uporabljati rešitev NFS?
      Tudi če priročniki, ki jih vidite na spletu, govorijo o Linuxu in Windowsih, preprosto sledite navodilom za skupno rabo mape desde linux in nato za povezavo z drugo omrežno mapo desde linux tudi.
      Zdi se, da Ubuntu 16.04 še vedno enostavno izvaja to temo: http://www.hernanprograma.es/ubuntu/como-compartir-una-carpeta-desde-ubuntu-16-04-a-traves-de-samba/