Proč dáváme přednost příkazovému řádku před GUI?

Při prohlížení dalších článků jsem narazil na tuto malou otázku, která mi způsobila spoustu zábavy, je pravda, že jednou z prvních věcí, které nám uživatelé jiných systémů (kromě FreeBSD) narazí na obličej, je to, že nepoužíváme GUI. Po pravdě řečeno, také mi to přišlo na začátku mé cesty GNU / Linuxem docela zvědavé. Musím přiznat, že v průběhu času nyní používám příkazový řádek mnohem víc než jakýkoli jiný program GUI a často dávám přednost programům příkazového řádku před propracovanějšími programy s oslnivými GUI.

Mýtus

Ve skutečnosti to není nic jiného než městský mýtus, protože na rozdíl od jiných systémů, jejichž jména zde nebudou uvedena, je to v GNU / Linux, kde opravdu máte svoboda volby. Přál bych si, aby v jiných systémech existovala všestrannost, která zde existuje. Pojďme se však na tuto věc podívat blíže, jinak mnoho věcí není jasných:

Servery

Všichni jsme to slovo slyšeli Server, někteří věří, že jsou to superpočítače, které pohánějí Google nebo Amazon, nebo počítače ve vaší společnosti. Realita je však taková, že a Server reagovat na a pracovní model. Tímto termínem označujeme skutečnost, že máme program, který je k dispozici uživatelům (zákazníci) a něco jim podá. Základní příklad je Apache, který se používá pro sloužit webové stránky na internetu. Tento program poskytuje html do zákazníci že o to požádají.

Obrazový server

Ale nejen server může být v superpočítačích, které Google a mnoho dalších společností umožňují, dokonce i „nejstarší“ notebook může být Server, zvláště když mluvíme o obrázcích. Všichni běžíme a Server obrázků na našich laptopech, abychom měli funkční obrazovku, v tomto případě Server zákazník jsou to stejná osoba. Nejběžnějším příkladem je X (známý jako xorg-server v mnoha distribucích) a jeho nové nahrazení Wayland. Nebudeme podrobně vysvětlovat, proč org, nebo jak funguje Wayland, nebo filozofie, které existují za těmito velkými projekty, ale objasníme, že díky nim můžeme mít webový prohlížeč jako Firefox nebo Chrome nebo mnoho dalších programů.

Správce oken

Správci oken pracují přímo s obrazovým serverem, jejich práce je na „nižší“ úrovni, protože spravují (odpouštějí nadbytečnost), jak jsou okna vytvářena, upravována a zavírána. Obvykle jsou poměrně jednoduché a na nich jsou postavena desktopová prostředí. Seznam je velký, ale ponechám zde jen myšlenku, že jsou minimalistický software, které vám umožní mít poměrně základní ovládání obrazového serveru.

Desktopové prostředí

Specializovanější sada softwaru, který umožňuje nejen provoz obrazového serveru, ale také poskytuje možnosti přizpůsobení. Mezi nejstarší a nejtěžší patří KDE a GNOME, ale máme také lehčí prostředí, jako je LXDE nebo Mate, Cinnamon atd.

CLI (rozhraní příkazového řádku)

Po krátkém pohledu na svět obrazových serverů se nyní znovu věnujeme našemu tématu. CLI, znamená jakýkoli program, který je spuštěn příkazovým řádkem git, vim, weechat, nebo dobře, cokoli jiného mi přijde na mysl. Vidíte, že mluvím o programech, které, i když jsou prováděny na příkazovém řádku, vykazují jakési „grafické rozhraní“ jako weechat o vim. Pro všechny, kteří je nevyzkoušeli, doporučuji, jsou to v podstatě ty, které používám celý den.

Proč je CLI lepší než GUI

Zkusme něco docela jednoduchého 🙂 Druhý den jsem chtěl pracovat na opravě Portage (správce balíčků Gentoo). Jako každý dobrý projekt spolupráce, i počet řádků kódu přesahuje 70k. Zkuste to otevřít v IDE, jako je NinjaIDE (Portage je napsán v Pythonu) a nebude trvat dlouho, než si všimnete, že jak se obrazovka začne načítat, váš počítač bude extrémně pomalý (alespoň můj i7 udělal) a to se jen snaží otevřete kód a přejděte na výchozí barvu «nápovědy».

Nyní zkuste udělat totéž s vimNaložilo mě to během několika milisekund a zároveň to dalo „hezké“ barvy a všechno ostatní.

CLI už bylo dávno předtím

Někteří zde řeknou, že tyto programy jsou starý, Říkám jim robustní. Pokud byste viděli počet hodin investovaných do stavby emacs, vim, gdba stovky dalších konzolových programů si mohou všimnout, že množství kódu a funkcí je tak velké, že prakticky vyřešili vše, co k vyřešení potřebovali. Mnoho GUI pro programy, které jsou již robustní ve svém CLI, nikdy nebudou mít stejné množství funkcí, jednoduše proto, že kdybychom vytvořili záložku pro každý dostupný dílčí příkaz, například git, ztratili bychom se mezi možnostmi a bylo by to kontraproduktivní, protože by to ztížilo práci.

CLI je rychlejší

Kouzlo začíná klíčem Tab, není to jen váš nejlepší přítel při procházení desktopů ve vašem terminálu, ale pokud je správně nakonfigurován, umožňuje vám zkrátit dlouhé věty na 2 písmena a tabulátor, 3 písmena a tabulátor, nebo dokonce písmeno a tabulátor .

Ale to není jediná výhoda, ti z nás, kteří si našli čas na učení vim o emacs Můžeme říci, že ačkoli je křivka učení v dnešní době o něco vyšší než u IDE, nakonec jsou výsledky produktivity úžasné, člověk si nedokáže představit čas, který může být ztracen při pohybu myší. Mít ruce na klávesnici 90% času nejenže učí koncentraci, ale díky faktu, že tolik na klávesnici píšete, budete docela agilní a produktivní. A teď se vracíme k předchozímu bodu, protože jsme s námi tak dlouho, programy jako tyto již mají všechny funkce, na které by někdo mohl myslet, přijde na mysl docela běžné rčení pro ty z nás, kteří používají vim:

Pokud používáte více než 4 klávesy, může existovat lepší způsob.

Jednoduchý, ale výkonný, vim vám umožní dělat vše s velkým počtem kláves a možných kombinací, člověk se nikdy nepřestane učit, ale je také pravda, že abyste jej mohli používat, není nutné je znát všechny, asi 10 nebo 15 stačí začít být produktivnější.

CLI vám dává úplnou kontrolu

Když někdo provádí operace pomocí myši nebo programů z obrazového serveru, nejsou vždy k dispozici všechny další konfigurace provedené v okamžiku kliknutí, u terminálu se to nestane, zde máte absolutní moc toho, čím je provedeny nebo neprovedeny, s jakou možností nebo v jakém rozsahu. Postupem času si uvědomíte, že potřebujete méně, než si myslíte, a to vám pomůže dělat věci cíleněji.

GUI má také svou vlastní věc

Nebudu říkat, že bychom měli všichni používat CLI vždy, ani to není ideální, já sám používám GUI téměř pořád, k psaní tohoto příspěvku používám svůj Chrome a k prohlížení mých e-mailů používám Evolution ( Také používám mutt docela pozdě). A myslím, že toto je největší mýtus ze všech ... že si lidé myslí, že GNU / Linux je právě ukončuje, mám rád své desktopové prostředí, je to docela minimalistické, ale líbí se mi to tak 🙂 A obvykle mám jen dva nebo tři spuštěné programy, můj Chrome, můj Evolution a můj terminál 🙂

To jsou některé z důvodů, proč se mi rozhraní příkazového řádku tak líbí a proč vás vyzývám, abyste je vyzkoušeli, mohou později skončit jako já a používat více rozhraní příkazového řádku než GUI et pozdravy


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.

  1.   anonymní řekl

    «Jako každý dobrý projekt spolupráce, počet řádků kódu přesahuje 70k. Tato část mě udělala příliš hlučným. Existuje technická nemožnost, proč musí být kód zkomprimován do stejného souboru? Nebylo by lepší oddělit chování v různých entitách (soubory / třídy / moduly)?
    Nezdá se být platným důvodem k tomu, aby se jedna technologie ukládala nad druhou, aby byly ponechány stranou výhody, které jeden navrhuje kvůli nedostatečné formě vývoje. V každém případě mluvím, aniž bych věděl, na jaký konkrétní projekt odkazuje, existuje větší příčina, která tento způsob práce nutí

    1.    ChrisADR řekl

      Dobrý den,

      Možná to vyžaduje trochu vysvětlení, ale to, co označuji jako „dobrý projekt“, znamená, že počet řádků vyjadřuje, že je to zdravá komunita, která stále roste. Existují projekty s mnohem menším počtem řádků, ale ve svém vývoji celkem zdravé. Abych řekl pravdu, portage je rozdělen na co nejvíce souborů, ale vždy je nutné udržovat porce seskupené jako knihovny nebo přepínače, které vedou k několika dalším funkcím. Ale při dnešním importu projektu do mnoha IDE to znamená, že přečte všechny soubory v projektu a pokusí se dát správný "vizuální" formát.

      Doufám, že to trochu vyjasním 🙂 a děkuji za komentář.
      pozdravy

  2.   anonymní řekl

    Používáte příkazový řádek? Ano, ale pouze v případě potřeby. To znamená, když je to pohodlnější a rychlejší. Například pokud chci nainstalovat určitý program, je pro mě pohodlnější zadat sudo apt install programname, než otevřít správce softwaru, vyhledat jej, označit pro instalaci a stisknout „install“. Ale obecně tomu tak není. Například: pokud chci zkopírovat 20 skladeb, které se mi líbí nejvíc z jednoho adresáře do druhého, je super pohodlné dělat Ctrl + Click, zatímco si můžete v klidu prohlédnout obrovský seznam ze správce souborů a poté přetáhnout. Další příklad: pokud chci rozdělit disk, je mnohem lepší to udělat pomocí gparted (program, který provádí množství příkazů a zároveň vám graficky ukazuje, jak bude disk), než to udělat ručně. Seznam by mohl být nekonečný. Grafická uživatelská rozhraní mohou (ve skutečnosti obvykle) mnohem usnadnit práci, kromě přidání funkcí, které pro danou aplikaci cli mohou být nemožné

    1.    ChrisADR řekl

      to záleží na tom, jak jste spokojeni s příkazovým řádkem ... například:

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

      s trochou magie v bash můžete dokonce vytvořit funkci, která provede totéž pouhým uvedením názvu písně:

      Něco jako

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

      a připraven! můžete přesunout všechny své skladby jednoduchým způsobem

      mover cancion1.mp3

      🙂 Pokud jde o druhé, ačkoli GUI částečně „zjednodušují“ práci tím, že se vyhýbají zapamatování a opakování příkazů, je to užitečné pouze v obecných rámcích, když potřebujete něco specializovaného, ​​gparted nebo jakékoli jiné GUI může být krátké 🙂 GUI není přidat další funkce, vezmou pouze ty, které existují v CLI (ne všechny) a seskupí je, ale nevytvářejí je

      pozdravy

      1.    anonymní řekl

        bez ohledu na to, do jaké míry je proces automatizován pomocí:
        přesunout song1.mp3

        pak nutně bude:
        přesunout song2.mp3
        přesunout song3.mp3
        .
        .
        .
        přesunout song20.mp3
        existuje mnoho dojemných písní ...
        s jakýmkoli správcem souborů .. stačí 20 kliknutí a gesto drag & drop. Nevím, ale alespoň můj manažer (Dolphin) mi umožňuje jednoduše a superrychle (méně než 5 sekund) seřadit seznam 100 skladeb podle jména, data, velikosti, značek, hodnocení, alba, umělce, trvání atd. pro mě to je PRODUKTIVITA a také přidává funkčnost do příkazového řádku.

        Pokud jde o další příklad .. GParted: OK .. pokud potřebujete něco velmi specializovaného, ​​jako je změna výchozí hodnoty bajtů na inode při formátování, měli byste přejít na konzolu .. ale příteli, to není normální. 99% času GParted dokonale splní naše potřeby velmi jednoduchým a velmi rychlým způsobem a alespoň pro mě to také produktivita

        pozdravy

        1.    ChrisADR řekl

          To je příklad automatizace v její nejjednodušší podobě, jak jste řekl: „pokud chci zkopírovat svých 20 skladeb, které se mi líbí nejvíc z jednoho adresáře do druhého“, vše, co se počítá s časem, který trvá, než si „klidně“ přečtete váš seznam po objednání a také kliknutí a atd., terminál to umožňuje a mnohem více v jediném řádku, možná asi 0.1 sekundy spuštění ve vašem procesoru (i když je starý), pokud to vaše oči a myš dokážou překonat, Jdu na GUI 🙂 a není to tak, že jsem řekl, že je nepoužívám, mají mnoho užitečných věcí, nebudu to popírat, ale alespoň jsem našel mnohem větší univerzálnost v terminálu, v kromě toho, že mi každý den při automatizaci úloh pomáhá trochu procvičovat programování. Velmi časté rčení mezi SysAdmins je „pokud děláte stejnou věc více než jednou denně, automatizujte to, pokud to děláte jednou denně po dobu delší než dva dny, automatizujte to, pokud to děláte dokonce jednou za měsíc, automatizujte to . “

          Ale hej, co se týče chutí a barev, každý má svůj vlastní, omezuji se na sdílení věcí, které se mi líbí 🙂 a možná existuje mnoho lidí, kteří se „bojí“ věcí jako emacs, vim nebo stejný terminál, s těmito příspěvky se vám jen snažím dát trochu sebevědomí a zvědavosti, abyste je mohli vyzkoušet a rozhodnout se 🙂

          pozdravy

          PS: Znám mnoho vývojářů, pro které grafické uživatelské rozhraní neřeší věci kvůli množství složitosti, kterou vyžadují v každodenním životě, což snad „běžný“ uživatel nikdy neuvidí, ale to neznamená, že více “Commons „může tyto nástroje používat a získat stejné všestrannější výhody.

          1.    anonymní řekl

            Stále si myslím, že pro tento úkol (a mnoho dalších) to trvá mnohem méně času pomocí správce souborů než s příkazovým řádkem ... ale hej, jak říkáte, existují vkusy a barvy pro každého.

            Nepopírám ani se nebojím terminálu, ale nevidím to jako téměř povinnou větu, tak jsem začal slovy „Příkazový řádek ano, ale pokud je to vhodné“

            Pokud jde o vývojáře, je tu všechno, ale škála jasně tipuje na jednu stranu: Zvu vás, abyste se podívali na:

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

            Zdá se, že „běžní“ vývojáři vidí výhody práce v grafickém prostředí plném zařízení, když to porovnáme s těmi, kteří vsadili na práci s „pouze textovými“ editory.

    2.    spálíš řekl

      Například: pokud chci zkopírovat 20 skladeb, které se mi líbí nejvíc z jednoho adresáře do druhého, je super pohodlné dělat Ctrl + Click, zatímco si můžete v klidu prohlédnout obrovský seznam ze správce souborů a poté přetáhnout.

      Existují správci souborů příkazového řádku, kteří jsou stejně praktičtí nebo více než grafičtí, například Vifm nebo Ranger. Také pro dělení disků existují aplikace příkazového řádku, jako je cgdisk s rozhraním e ncurses.

      1.    ChrisADR řekl

        No, je to pravda 🙂 Opravdu nevím, proč je tolik lidí, kteří se bojí terminálu, je to vlastně velmi robustní a všestranný nástroj, něco, co by měl každý alespoň jednou do hloubky vyzkoušet.

        Děkujeme za sdílení a pozdravy.

      2.    anonymní řekl

        Ano, správci terminálových souborů existují před grafikou. Pokud jde o praktičnost, záleží na tom, co chcete. Jakýkoli grafický správce souborů je vybaven záložkami, oblíbenými položkami, režimy zobrazení, náhledem, možností objednání 1000 různými způsoby, připojením terminálu, instalací pluginů atd. Atd. což je činí mnohem univerzálnějšími než kterýkoli jiný správce textových souborů.

        Dobro nemusí nutně být ošklivé

    3.    chupy35 řekl

      je to jen to, že se naučíte dělat to, co děláte v cli, a zaručuji vám, že to bude snazší, to, co velmi snadno zmíníte, byste udělali s rsync a můžete to snadno vytvořit jako skript.

      Doporučuji správce souborů cli s názvem ranger, který má vše, co zmiňujete.

      1.    godel řekl

        Pro zkopírování 20 skladeb vytvořím seznam s "ls * .ogg> top20". Poté jdu do Vim a vyberu (smazáním toho, co nechci) skladby, které chci. Na konci udělám "cp $ (cat top20) otrodir" a je to. To je pohodlnější než výběr pomocí myši a to, že 19 skladeb, které již byly vybrány, je omylem zrušeno.

  3.   Alberto cardona řekl

    Báječné!!
    Stále se nemůžu rozhodnout nainstalovat Gentoo 🙁 (jsem v BunsenLabs) V současné době používám openbox a používám nano pro své skripty Bash
    Ale nutí mě to pustit se do Vim nebo Emacs!
    pozdravy
    Rád čtu vaše příspěvky

    1.    ChrisADR řekl

      Děkuji Alberto 🙂 Jsem moc rád, že se vám moje články líbí, rád píšu příspěvky.
      Doufám, že se rozveselíte a samozřejmě, že ano, ale vždy je třeba vyzkoušet něco nového 🙂

  4.   ChrisADR řekl

    Tímto dopovídám na poslední dva komentáře a ocenil bych, že moderátoři o tom nepřijali více, to nikam nevede a myšlenka není naplnit seznam komentářů řadou argumentů pro nebo proti jednomu nebo jiný.

    Pokud jde o „všestrannost“, možná kdokoli si to myslí, má za to, že pluginy mají pouze GUI, ale pravdou je, že terminální pluginy jsou stejně rozmanité a funkční jako lidé, kteří je používají, nejjasnějším příkladem je

    https://vimawesome.com/

    Téměř nekonečný seznam pluginů pro vim, díky nimž je univerzálnější než mnoho IDE ... a když už mluvíme o tomto odkazu, tento odkaz nezmiňuje, že tento seznam zahrnuje lidi, kteří používají IDE ve Windows a Mac, což ve skutečnosti o Vim mluví mnohem lépe hovoří o Eclipse, protože když porovnáme počet lidí, kteří používají Eclipse na třech platformách, Vim se nemá za co stydět za to, že si zaslouží 4. místo.

    Ale jít trochu dále ... to, že „obyčejní“ lidé něco používají, neříká, že je to nutně dobré, ale Windows by pravděpodobně byly mnohem lepší než jiné systémy 🙂 možná je to jen tím, že se raději nenaučí něco používat, protože dávají přednost snadné možnosti ... nebo proto, že se vaše společnost tak rozhodla implementovat standard (Eclipse je standard v mnoha společnostech, což by vysvětlovalo velký počet uživatelů ... stejně jako Android a Visual Studio, které jsou jediné znamená pracovat s jejich příslušnými jazyky ... zatímco Vim Je to ZDARMA volba pro ty, kteří jej používají)

    . „Ošklivý“ je velmi subjektivní pojem, mohu považovat za „ošklivý“ design Qt nebo WebKit nebo dokonce rozhraní Mac OS ... ale to neznamená, že to tak vidí někdo jiný, je to jen otázka zvyku 🙂

    pozdravy

    1.    anonymní řekl

      Respektuji přání, že nechci dát právo na odpověď.

      jen pro informaci:
      https://vim.sourceforge.io/download.php

  5.   Claudio řekl

    Naprosto souhlasím s Anonymous, ale v mém případě jsem jednoduchý uživatel bez hlubokých znalostí analytika nebo programátora. A jako takový potřebuji grafické uživatelské rozhraní, které by mi zklamalo mnoho pokladů v Linuxu, například dnes a v roce 2017 neexistuje žádná GUI aplikace, která by usnadňovala sdílení složek v síti Linux, a já říkám Linux, já nechápu je Se Sambou a Windows, mluvím o čistě linuxové síti. Abyste mohli sdílet v síti Linux, musíte nakonfigurovat určitý NFS a pouze z příkazového řádku se ztrácí čas a také nevysvětlím, proč je tak těžké mít grafické uživatelské rozhraní, které usnadňuje, jak se to děje ve Windows .
    Podle ChrisADR „Jsem mladý vývojář softwaru“ a vidíte, že toho o tomto tématu víte hodně, měli byste vyvinout aplikaci GUI, která usnadní to, co jsem právě vysvětlil, nebo je váš čistý název a vychloubání? Je to stejné, jako kdyby lékař vyjádřil názor na to, jak je lepší provést operaci, aniž by ji kdy udělal. „Vidíte pingos na hřišti“ měli byste vytvořit aplikaci GUI, než se vyjádříte z místa „vývojáře softwaru“, a pokud je lepší nebo nepoužívat terminál, musíte se postavit na místo toho, kdo používá Linux a komu se používá. Doufejme, že uvidíte článek ChrisADR, který představuje a sdílí jeho aplikaci GUI pro sdílení souborů v síti Linux. V tuto chvíli nejsou žádné, pokud nepoužíváte Sambu jen pro sdílení Windows.

    1.    Guillermo řekl

      Vytvoření programu není jedno odpoledne snadné, vyžaduje to úsilí minimálně několika týdnů a co je horší, pak máme tu námahu, že roky opravujeme chyby a aktualizujeme je spolu s novými funkčními knihovnami, které dříve používané zastarávají. , obal pro různé distribuce, ...
      Je ale také to, že pokud již máte SAMBA, který můžete použít i mezi dvěma GNU / Linux bez potřeby Windows, proč chcete použít řešení NFS?
      I když příručky, které vidíte online, hovoří o Linuxu a Windows, jednoduše postupujte podle pokynů a sdílejte složku desde linux a poté se připojit k jiné síťové složce desde linux taky.
      Zdá se, že Ubuntu 16.04 má stále snadnou implementaci tohoto tématu: http://www.hernanprograma.es/ubuntu/como-compartir-una-carpeta-desde-ubuntu-16-04-a-traves-de-samba/