Zašto više volimo naredbeni redak od GUI-ja?

Pregledavajući druge članke naišao sam na ovo malo pitanje koje mi je izazvalo veliku zabavu, istina je da je jedna od prvih stvari koju korisnici drugih sustava (osim FreeBSD-a) nailaze na to da ne koristimo GUI-je. Istinu govoreći, na početku mog GNU / Linux putovanja činilo mi se i prilično znatiželjnim. Moram priznati da s vremenom sada koristim naredbeni redak mnogo više od bilo kojeg drugog programa s GUI-jem, i mnogo puta više volim programe naredbenog retka od složenijih programa s blistavim GUI-jevima.

Mit

Zapravo ovo nije ništa drugo do urbani mit, jer za razliku od ostalih sustava čija se imena ovdje neće spominjati, on je u GNU / Linuxu gdje stvarno imate sloboda po izboru. Volio bih da u drugim sustavima postoji svestranost koja ovdje postoji. Ali pogledajmo ovo pobliže, inače mnoge stvari nisu jasne:

poslužitelji

Svi smo čuli riječ Poslužitelj, neki vjeruju da su to ona super računala koja pokreću Google ili Amazon, ili ona u vašoj tvrtki. Ali stvarnost je takva da a server odgovoriti na a model rada. Ovim izrazom označavamo činjenicu da imamo program koji je dostupan korisnicima (kupci) i pruži im nešto. Osnovni primjer je apaš, koji se koristi za služiti web stranice na internetu. Ovaj program isporučuje HTML na kupci koji to zahtijevaju.

Poslužitelj slika

Ali ne samo da poslužitelj može biti u super računalima koja Google i mnoge druge tvrtke omogućavaju, čak i "najstariji" laptop može biti server, pogotovo kada govorimo o slikama. Svi vodimo a server slika na našim prijenosnim računalima kako bi imali funkcionalan zaslon, u ovom slučaju server kupac ista su osoba. Najčešći primjer je X (poznato kao xorg-server u mnogim distribucijama) i njegova nova zamjena Wayland. Nećemo dati detaljno objašnjenje zašto organizacija, niti kako Wayland djeluje, niti filozofije koje stoje iza ovih sjajnih projekata, ali jasno ćemo dati do znanja da upravo zahvaljujući njima možemo imati web preglednik poput Firefoxa ili Chromea ili mnogih drugih programa.

Upravitelj prozora

Upravitelji prozora rade izravno sa slikovnim poslužiteljem, njihov je rad na "nižoj" razini, budući da upravljaju (oprostite suvišnosti) načinom na koji se prozori stvaraju, mijenjaju, zatvaraju. Obično su prilično jednostavni i na njima se grade radna okruženja. Popis je velik, ali ovdje ću ostaviti samo ideju da jesu minimalistički softver, koji vam omogućuju prilično osnovnu kontrolu nad poslužiteljem slika.

Radno okruženje

Specijaliziraniji skup softvera koji omogućuje ne samo rad poslužitelja slika, već također pruža mogućnosti prilagodbe. Među njima su najstariji i najteži KDE i GNOME, ali imamo i lakša okruženja kao što su LXDE ili Mate, cimet itd.

CLI (sučelje naredbenog retka)

Nakon kratkog uvida u svijet poslužitelja slika, sada se opet okrećemo našoj temi. CLI, podrazumijeva bilo koji program koji se izvršava naredbenim retkom git, vim, weechat, ili dobro, što god vam drugo padne na pamet. Možete vidjeti da govorim o programima koji, iako se izvršavaju u naredbenom retku, pokazuju svojevrsno "grafičko sučelje" poput weechat o vim. Za sve one koji ih nisu probali, preporučujem ih, oni su u osnovi oni koje koristim cijeli dan.

Zašto je CLI bolji od GUI-a

Pokušajmo nešto prilično jednostavno 🙂 Neki dan sam želio raditi na zakrpi Portage (Gentooov upravitelj paketa). Kao i svaki dobar suradnički projekt, broj redaka koda premašuje 70k. Pokušajte to otvoriti u IDE-u poput NinjaIDE (Portage je napisan na Pythonu) i uskoro ćete primijetiti kako se zaslon učitava, vaš stroj postaje izuzetno spor (barem moj i7), a ovo je samo pokušaj otvorite kod i promijenite na zadanu boju «pomoći».

Sada pokušajte učiniti isto s vim, učitao me u nekoliko milisekundi, a istovremeno je stavio "lijepe" boje i sve ostalo.

CLI je bio puno prije

Neki će ovdje reći da su ti programi stari, Zovem ih robustan. Kad biste mogli vidjeti broj sati uloženih u izgradnju emacs, vim, gdbi stotine drugih konzolnih programa, mogli biste primijetiti da je količina koda i funkcionalnosti toliko velika da su praktički već riješili sve što su trebali. Puno GUI za programe koji su već robusni u svom CLI-u, oni nikada neće imati jednaku količinu funkcionalnosti, to jednostavno zato što bismo, na primjer, ako smo napravili karticu za svaku dostupnu podnaredbu git, izgubili bismo se između opcija i to bi bilo kontraproduktivno, jer bi otežavalo rad.

CLI je brži

Magija započinje s ključem Tab, ovo nije samo vaš najbolji prijatelj prilikom pregledavanja radne površine u vašem terminalu, već kada je pravilno konfiguriran, omogućuje vam skraćivanje dugih rečenica na 2 slova i Tab, 3 slova i Tab, ili čak slovo i Tab .

Ali to nije jedina prednost, onih koji smo odvojili vrijeme za učenje vim o emacs Možemo reći da iako je krivulja učenja malo viša od one u IDE-ima ovih dana, na kraju su rezultati produktivnosti nevjerojatni, ne može se zamisliti vrijeme koje se može izgubiti pomicanjem miša. Držanje ruku na tipkovnici u 90% slučajeva ne samo da uči koncentraciji, osim toga, činjenica da toliko tipkate po tipkovnici čini vas prilično okretnim i produktivnim. I sada se vraćamo na prethodnu točku, budući da smo bili s nama toliko dugo, programi poput ovih već imaju sve funkcionalnosti kojih bi se netko mogao sjetiti, pada mi na pamet prilično uobičajena izreka za one koji koristimo vim:

Ako koristite više od 4 tipke, možda postoji bolji način.

Jednostavan, ali moćan, vim vam omogućuje da radite sve s velikim brojem tipki i mogućim kombinacijama, nikad se ne prestaje učiti, ali istina je i da ga nije potrebno poznavati, otprilike 10 ili 15 su dovoljno za početak biti produktivniji.

CLI vam daje potpunu kontrolu

Kada netko izvršava operacije mišem ili programe s poslužitelja slika, sve dodatne konfiguracije koje se izvršavaju u trenutku klika nisu uvijek prisutne, to se ne događa s terminalom, ovdje imate apsolutnu snagu onoga izvršava se ili ne, s kojom opcijom ili u kojoj mjeri. Vremenom shvatite da vam treba manje nego što mislite, a to vam pomaže da stvari radite usmjerenije.

I GUI ima svoje

Neću reći da bismo svi trebali uvijek koristiti CLI, ni to nije idealno, i sam gotovo cijelo vrijeme koristim GUI-je, da bih napisao ovaj post koristeći svoj Chrome i da bih vidio svoje e-adrese koje koristim Evolution (iako također koristiti mutt sasvim u posljednje vrijeme). I pretpostavljam da je ovo najveći mit od svih ... da ljudi misle da ih GNU / Linux samo ukida, sviđa mi se moje radno okruženje, prilično je minimalističko, ali tako mi se sviđa 🙂 I obično imam samo dva ili tri pokrenuti programi, moj Chrome, moj Evolution i moj terminal 🙂

Ovo su neki od razloga zašto mi se toliko sviđaju CLI-ovi i zašto vas pozivam da isprobate, oni će kasnije možda završiti poput mene koristeći više CLI-a nego GUI-a 😉 Pozdrav


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   anoniman dijo

    «Kao i svaki dobar suradnički projekt, broj redaka koda premašuje 70 tisuća. Ovaj dio me učinio previše bučnim. Postoji li tehnička nemogućnost zašto se kôd mora zbiti u istoj datoteci? Ne bi li bilo bolje razdvojiti ponašanje u različitim entitetima (datoteke / klase / moduli)?
    Ne čini se valjanim razlogom nametati jednu tehnologiju drugoj, ostavljajući po strani prednosti koje netko predlaže zbog nedostatka u obliku razvoja. U svakom slučaju, govorim ne znajući na koji se konkretni projekt odnosi, postoji veći razlog koji forsira takav način rada

    1.    ChrisADR dijo

      Pozdrav,

      Pa, možda ovo zahtijeva malo objašnjenja, ali ono što nazivam "dobrim projektom" implicira da broj redaka izražava da je zdrava zajednica koja neprestano raste. Postoje projekti s mnogo manjim brojem linija, ali sasvim zdravi u svom razvoju. Da kažem istinu da, prijenos je podijeljen na što više datoteka, ali uvijek je potrebno dijelove grupirati poput knjižnica ili sklopki koje vode do podosta drugih funkcija. Ali kada danas uvozite projekt u mnoge IDE-ove, to znači da ćete pročitati sve datoteke u projektu i pokušati staviti ispravan "vizualni" format.

      Nadam se da ću to malo pojasniti 🙂 i hvala na komentaru.
      pozdravi

  2.   anoniman dijo

    Koristite naredbeni redak? Da, ali samo kada je primjenjivo. Odnosno kada je ugodnije i brže. Na primjer, ako želim instalirati određeni program, prikladnije mi je utipkati sudo apt install naziv programa nego otvoriti upravitelj softvera, potražiti ga, označiti za instalaciju i pritisnuti "install". Ali općenito to nije slučaj. Na primjer: ako želim kopirati 20 pjesama koje mi se najviše sviđaju iz jednog direktorija u drugi, super je ugodno raditi Ctrl + Click dok mirno pregledavate ogroman popis iz upravitelja datoteka, a zatim povucite i ispustite. Još jedan primjer: ako želim particionirati disk, puno je bolje da to učinim putem gparted (program koji izvršava mnoštvo naredbi dok vam grafički prikazuje kako će biti disk) nego da to radite ručno. Popis bi mogao biti beskrajan. GUI-i mogu (zapravo obično) znatno olakšati rad, uz dodavanje funkcionalnosti koje bi za određenu cli aplikaciju mogle biti nemoguće

    1.    ChrisADR dijo

      Pa, to ovisi o tome koliko je ugodno s naredbenim retkom ... na primjer:

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

      s malo čarolije u bashu možete čak napraviti funkciju koja izvršava isto samo stavljanjem naziva pjesme:

      Nešto kao

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

      i spreman! sve svoje pjesme možete premjestiti jednostavnim

      mover cancion1.mp3

      🙂 Što se tiče drugog, iako djelomično GUI čine posao "jednostavnijim" izbjegavajući pamćenje i ponavljanje naredbi, ovo je korisno samo u općim okvirima, kada trebate nešto specijalizirano, podijeljeno ili bilo koji drugi GUI može biti kratak 🙂 i GUI ne dodaje dodatne funkcije, oni uzimaju samo one koje postoje u CLI-u (ne sve) i grupiraju ih, ali ih ne stvaraju

      pozdravi

      1.    anoniman dijo

        bez obzira na to koliko je proces automatiziran sa:
        premjestiti pjesmu1.mp3

        tada će nužno biti:
        premjestiti pjesmu2.mp3
        premjestiti pjesmu3.mp3
        .
        .
        .
        premjestiti pjesmu20.mp3
        ima mnogo dirljivih pjesama ...
        s bilo kojim upraviteljem datoteka .. potrebno je samo 20 klikova i gesta povlačenja i ispuštanja. Ne znam, ali barem mi menadžer (Dolphin) omogućuje jednostavno i super brzo (manje od 5 sekundi) sortiranje popisa od 100 pjesama po imenu, datumu, veličini, oznakama, rangu, albumu, izvođaču, trajanju itd. za mene je to PRODUKTIVNOST, a također dodaje funkcionalnost naredbenom retku.

        Što se tiče drugog primjera .. GParted: OK .. ako trebate nešto vrlo specijalizirano, poput mijenjanja zadane vrijednosti bajtova po inodeu prilikom formatiranja, trebali biste otići na konzolu .. ali prijatelju, to nije to je normalno. U 99% slučajeva GParted će savršeno zadovoljiti naše potrebe na vrlo jednostavan i vrlo brz način, a barem za mene, to će biti i produktivnost

        pozdravi

        1.    ChrisADR dijo

          Pa, to je primjer automatizacije u najjednostavnijem obliku, kao što ste rekli "ako želim kopirati svojih 20 pjesama koje mi se najviše sviđaju iz jednog direktorija u drugi", sve se to računa s vremenom koje vam treba da "mirno" pregledate svoj popis nakon što je naručite, kliknete i sl., terminal to omogućava i još mnogo toga u samo jednom retku, možda oko 0.1 sekunde izvršavanja u vašem procesoru (čak i ako je star), ako vaše oči i miš to mogu prevladati, pa idem na GUI-je 🙂 i nije da sam rekao da ih ne koristim, oni imaju mnogo korisnih stvari, neću to poreći, ali barem sam našao puno veću svestranost u terminalu, uz to što mi je pomogao vježbati malo programiranja svaki dan prilikom automatizacije poslova. Vrlo česta izreka među SysAdminima je "ako istu stvar radite više puta dnevno, automatizirajte je, ako to radite jednom dnevno dulje od dva dana, automatizirajte je, ako to radite čak jednom mjesečno, automatizirajte".

          Ali hej, što se tiče ukusa i boja, svaka ima svoje, ograničavam se na dijeljenje stvari koje mi se sviđaju 🙂 i možda postoji mnogo ljudi koji se "boje" stvari poput emacs-a, vima ili istog terminala, ovim vam postovima samo pokušavam dati malo samopouzdanja i znatiželje kako biste mogli pokušati odlučiti 🙂

          pozdravi

          PS: Znam mnoge programere za koje GUI ne rješavaju stvari zbog složenosti koja im je potrebna svakodnevno, što možda "uobičajeni" korisnik nikada neće vidjeti, ali to ne znači da više korisnika "Commons" može koristite ove alate i ostvarite iste svestranije pogodnosti.

          1.    anoniman dijo

            I dalje mislim da je za ovaj zadatak (i ​​mnoge druge) potrebno mnogo manje korištenja upravitelja datoteka nego s naredbenim retkom ... ali hej, kao što kažete, ima ukusa i boja za sve.

            Ne poričem niti se bojim terminala, ali ne vidim ga kao gotovo obaveznu rečenicu, pa sam započeo rekavši "Naredbeni redak da, ali kad je to prikladno"

            Što se tiče programera, ima svega, ali ljestvica očito upućuje na jednu stranu: pozivam vas da pogledate:

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

            Čini se da "uobičajeni" programeri vide prednosti rada u grafičkom okruženju punom sadržaja u usporedbi s onima koji se klade na rad s "samo tekstualnim" urednicima

    2.    goriš dijo

      Na primjer: ako želim kopirati 20 pjesama koje mi se najviše sviđaju iz jednog direktorija u drugi, super je ugodno raditi Ctrl + Click dok mirno pregledavate ogroman popis iz upravitelja datoteka, a zatim povucite i ispustite.

      Postoje upravitelji datoteka naredbenog retka koji su jednako praktični ili više od grafičkih, poput Vifm ili Ranger. Također za particioniranje diskova postoje aplikacije naredbenog retka poput cgdisk s e ncurses sučeljem.

      1.    ChrisADR dijo

        Pa, istina je 🙂 Ne znam stvarno zašto se toliko ljudi boji terminala, to je zapravo vrlo robustan i svestran alat, nešto što bi svi trebali probati barem jednom u dubini.

        Hvala na dijeljenju i pozdravu.

      2.    anoniman dijo

        Da, upravitelji datoteka terminala postoje prije grafike. Što se tiče praktičnosti, ona ovisi o tome što želite. Bilo koji upravitelj grafičkih datoteka ima kartice, favorite, načine prikaza, pregled, mogućnost naručivanja na 1000 različitih načina, povezivanje terminala, instaliranje dodataka itd, itd, itd. što ih čini mnogo svestranijima od bilo kojeg upravitelja tekstualnih datoteka.

        Dobro ne mora nužno biti ružno

    3.    chupy35 dijo

      samo što naučite raditi ono što radite u cliu, a ja vam garantiram da će to biti lakše, a ono što spominjete vrlo lako biste učinili s rsyncom, a to možete jednostavno učiniti skriptom.

      Preporučujem upravljač datotekama cli pod nazivom ranger koji sadrži sve što spominjete.

      1.    godel dijo

        Za kopiranje 20 pjesama napravim popis s "ls * .ogg> top20". Zatim idem na Vim i odabirem (brišem ono što ne želim) pjesme koje želim. Na kraju napravim "cp $ (cat top20) otrodir" i to je to. To je prikladnije od odabira mišem i da se greškom poništi odabir 19 pjesama koje su već bile odabrane.

  3.   Alberto cardona dijo

    Predivno !!
    Još uvijek se ne mogu odlučiti instalirati Gentoo 🙁 (ja sam u BunsenLabsu) Trenutno koristim openbox i koristim nano za svoje Bash skripte
    Ali to me tjera da se upustim u Vim ili Emacs!
    pozdravi
    Uživam čitati vaše postove

    1.    ChrisADR dijo

      Hvala ti puno Alberto very presretna sam što ti se sviđaju moji članci, uživam u pisanju postova.
      Nadam se da ćete se razveseliti i naravno da jeste, stvar je u tome da uvijek pokušate nešto novo 🙂

  4.   ChrisADR dijo

    Pa ovim završavam odgovarati na zadnja dva komentara i zahvalan bih da moderatori ne prihvate više o tome, ovo nikamo ne ide, a ideja nije popuniti popis komentara nizom argumenata u korist ili protiv jednog ili drugo.

    Što se tiče "svestranosti", možda onaj tko to misli smatra da samo GUI imaju dodatke, ali istina je da su terminalni dodaci raznoliki i funkcionalni kao i ljudi koji ih koriste, najjasniji primjer je

    https://vimawesome.com/

    Gotovo nepregledan popis dodataka za vim koji ga čine svestranijim od mnogih IDE-ova ... a kad smo već kod toga, ta poveznica ne spominje da taj popis uključuje ljude koji koriste IDE-je na Windowsima i Macima, što zapravo puno bolje govori o Vimu govori o Eclipseu, jer ako usporedimo broj ljudi koji koriste Eclipse na tri platforme, Vim se nema čega sramiti što ima zasluženo 4. mjesto.

    Ali ako idemo malo dalje ... da "obični" ljudi nešto koriste, ne znači da je to nužno dobro, ali vjerojatno bi Windows bio puno bolji od ostalih sustava 🙂 možda je jednostavno da više vole ne naučiti nešto koristiti jer više vole jednostavnu opciju ... ili zato što je vaša tvrtka na taj način odlučila implementirati standard (Eclipse je standard u mnogim tvrtkama, što bi objasnilo velik broj korisnika ... baš kao i Android i Visual Studio, koji su jedino sredstvo za rad sa svojim jezicima ... dok Vim BESPLATAN je odabir onih koji ga koriste)

    . "Ružno" je vrlo subjektivan pojam, mogu smatrati "ružnim" dizajn Qt-a, ili WebKit-a, ili čak sučelja Mac OS-a ... ali to ne znači da to netko drugi tako vidi, samo je stvar u navikama

    pozdravi

    1.    anoniman dijo

      Poštujem želju da ne želim dati pravo na odgovor.

      samo za informaciju:
      https://vim.sourceforge.io/download.php

  5.   Claudio dijo

    Potpuno se slažem s Anonymousom, ali u mom slučaju sam jednostavan korisnik, bez dubokog znanja analitičara ili programera. I kao takav, potreban mi je GUI da mi zakaže mnoštvo blaga u Linuxu, na primjer danas, a kada je 2017. godina, ne postoji GUI aplikacija koja olakšava dijeljenje mapa u Linux mreži, a ja kažem Linux, nemojte ih dobiti. Sa Sambom i Windowsom govorim o čisto Linux mreži. Da biste mogli dijeliti u Linux mreži, morate konfigurirati određeni NFS i samo iz naredbenog retka troši vrijeme, a također ne objašnjavam zašto je toliko teško imati GUI koji to čini lako kao što se događa u sustavu Windows .
    Prema ChrisADR-u "Ja sam mladi programer" i vidite da znate puno o toj temi, biste li trebali razviti GUI aplikaciju koja olakšava ono što sam upravo objasnio ili je vaš čisti naslov i hvalisanje? Isto je kao da je liječnik dao mišljenje o tome kako je bolje izvršiti operativni zahvat, a da to nikada nije učinio. "Vidite pingove na terenu", trebali biste razviti GUI aplikaciju prije nego što date svoje mišljenje iz mjesta "programera softvera", a ako je bolje ili ne koristiti terminal, morate se postaviti na mjesto onoga tko koristi Linux i tko ga koristi. Nadamo se da možete vidjeti članak ChrisADR-a koji predstavlja i dijeli njegovu GUI aplikaciju za dijeljenje datoteka na Linux mreži. Trenutno ih nema, osim ako Sambu koristite samo za dijeljenje sustava Windows.

    1.    Guillermo dijo

      Stvaranje programa nije lako jedno poslijepodne, potreban je napor od najmanje nekoliko tjedana, a što je još gore, tada se trudimo godinama popravljati pogreške, ažurirati ga zajedno s novim knjižnicama funkcija zbog kojih su prethodno korištene zastarjele. , pakiranje za različite distribucije, ...
      Ali također, ako već imate SAMBA koji također možete koristiti između dva GNU / Linuxa bez potrebe za bilo kojim Windowsom, zašto želite koristiti NFS rješenje?
      Čak i ako priručnici koje vidite na mreži govore o Linuxu i Windowsima, jednostavno slijedite upute za dijeljenje mape desde linux a zatim za povezivanje s drugom mrežnom mapom desde linux previše.
      Čini se da Ubuntu 16.04 još uvijek ima jednostavnu implementaciju ove teme: http://www.hernanprograma.es/ubuntu/como-compartir-una-carpeta-desde-ubuntu-16-04-a-traves-de-samba/