Příkazové řádky: Proč se s nimi lidé stále obtěžují?

Příkazový řádek je téměř 50 let starý, ale není zastaralý. Textové terminály jsou stále nejlepším způsobem, jak splnit mnoho úkolů, dokonce i ve věku grafických desktopů a gadgetů s dotykovou obrazovkou.

Ve skutečnosti se příkazový řádek stává respektovanějším než kdy dříve, protože Microsoft vytvořil novou výkonnou aplikaci Windows Terminal. Prostředí Windows 10 PowerShell je překvapivě výkonné, ale Microsoft se stále snažil přidat do Windows 10 podporu pro v podstatě celé prostředí příkazového řádku Linuxu.

Příkazový řádek byl kdysi jedinou možností

Kdysi, pokud jste chtěli komunikovat s počítačem, jste psali. To bylo ono. Nic jiného nebylo. To může znít restriktivně a archaicky, ale jako krok od nutnosti používat děrné štítky nebo perforované papírové pásky bylo psaní radikální a transformační. A migraci z dálnopisů s jejich rolemi papíru na terminály katodovou trubici Obrazovky (CRT) byly dalším zásadním posunem v interakcích člověka a počítače.

Tento krok vydláždil cestu k tomu, aby si interaktivní shell skutečně přišel na své. Nyní můžete posílat pokyny do počítače a velmi rychle mít odpovědi zobrazené na obrazovce. Už žádné klap-klak-klakání, když jste čekali, až se váš papírový výtisk zaklepe na cestu ven z vašeho dálnopisu.

Slušné, ale to bylo tehdy, tohle je teď. Počítání je úplně jiná míčová hra. Kromě zjevných uzamčených případů, jako je použití počítače, který nemá nainstalované grafické desktopové prostředí, nebo používání vzdáleného počítače přes SSH přes připojení s nízkou šířkou pásma nebo ovládání a bezhlavý nebo vložené systém, proč používat příkazový řádek přes grafickou plochu?

Vysvětlení žargonu

Pojmy jako příkazový řádek, okno terminálu a shell někteří lidé používají téměř zaměnitelně. To je nesprávný žargon. Všechny jsou docela jiné. Jsou příbuzné, ale není to totéž.

Terminálové okno je okno v a grafické desktopové prostředí který provozuje emulaci dálnopisného terminálu.

  Jak povolit detekci pádu a nastavit nouzové kontakty na Apple Watch

Shell je program, který běží uvnitř okna terminálu. Vezme váš vstup a v závislosti na tom, co jste zadali, se sám pokusí interpretovat a provést instrukce, předat je některým dalším utilitám, které tvoří operační systém, nebo najít skript nebo program, který odpovídá tomu, co jste zadali.

Příkazový řádek je místo, kde píšete. Je to výzva, kterou shell zobrazí, když čeká, až zadáte nějaké pokyny. Termín „příkazový řádek“ se také používá k označení skutečného obsahu toho, co jste napsali. Pokud například mluvíte s jiným uživatelem počítače o potížích, které jste měli při pokusu o spuštění programu, mohou se vás zeptat: „Jaký příkazový řádek jste použili?“ Neptají se, jaký shell jste používali; chtějí vědět, jaký příkaz jste zadali.

Dohromady se tyto spojují a tvoří rozhraní příkazového řádku (CLI).

Proč používat příkazový řádek v roce 2019?

CLI se může zdát retrográdní a matoucí pro ty, kteří s ním nejsou obeznámeni. Určitě není v moderním operačním systému místo pro tak zastaralý a podivínský způsob používání počítače? Nevzdali jsme to všechno před desítkami let, když se objevila okna, ikony a myši a grafická desktopová prostředí s grafická uživatelská rozhraní (GUI) byly k dispozici?

Ano, GUI existuje již desítky let. První verze Microsoft Windows byla vydáno již v roce 1985 a stal se standardem pro stolní počítače s vydáním Windows 3.0 v roce 1990.

Byl to systém X Window, používaný v Unixu a Linuxu představena v roce 1984. To přineslo do Unixu a jeho mnoha derivátů, klonů a odnoží grafická desktopová prostředí.

Ale vydání Unixu tyto události předchází více než deset let. A protože nebyla jiná možnost, vše muselo být možné přes příkazový řádek. Veškerou lidskou interakci, veškerou konfiguraci, každé použití počítače muselo být možné provádět prostřednictvím skromné ​​klávesnice.

Ipso facto tedy CLI umí všechno. GUI stále nemůže dělat vše, co umí CLI. A dokonce i pro části, které umí, je rozhraní CLI obvykle rychlejší, flexibilnější, lze jej skriptovat a je škálovatelné.

A existuje standard.

Jsou standardizované díky POSIX

POSIX je a standard pro operační systémy podobné Unixu– v podstatě vše, co není Windows. A dokonce i Windows má podsystém Windows pro Linux (WSL). Otevřete okno terminálu na libovolném operačním systému vyhovujícím POSIX (nebo téměř vyhovujícímu) a ocitnete se v shellu. I když shell nebo distribuce poskytují svá vlastní rozšíření a vylepšení, pokud poskytují základní funkce POSIX, budete je moci okamžitě používat. A vaše skripty se spustí.

  Jak označit své e-maily pro maximální vyhledávání

Příkazový řádek je nejmenší společný jmenovatel. Naučte se jej používat a bez ohledu na distribuci Linuxu a grafické desktopové prostředí budete schopni provádět všechny úkoly, které potřebujete. Různé stolní počítače mají svůj vlastní způsob, jak dělat věci. Různé distribuce Linuxu obsahují různé nástroje a programy.

Ale otevřete okno terminálu a budete se cítit jako doma.

Příkazy jsou navrženy tak, aby spolupracovaly

Každý z linuxových příkazů je navržen tak, aby dělal konkrétní něco a dělal to dobře. Základní filozofií návrhu je přidat další funkce přidáním dalšího nástroje, který lze propojit nebo zřetězit se stávajícími, aby bylo dosaženo požadovaného výsledku.

To je tak užitečné, že Microsoft udělal vše pro to, aby do Windows 10 přidal podporu pro celý příkazový řádek Linuxu!

Například příkaz řazení používají jiné příkazy k řazení textu do abecedního pořadí. Není třeba zabudovávat schopnost řazení do každého z ostatních příkazů Linuxu. Obecně GUI aplikace neumožňují tento typ spolupráce.

Podívejte se na následující příklad. To používá příkaz ls k zobrazení seznamu souborů v aktuálním adresáři. Výsledky jsou přeneseny do příkazu sort and seřazené v pátém sloupci dat (což je velikost souboru). Seřazený seznam je pak převeden do příkazu head, který ve výchozím nastavení uvádí prvních deset řádků jeho vstupu.

ls -l | sort -nk5,5 | head

Získáme přehledný výpis nejmenších souborů v aktuálním adresáři.

Změnou jednoho příkazu – použitím tail místo head – můžeme získat seznam deseti největších souborů v aktuálním adresáři.

ls -l | sort -nk5,5 | tail

To nám dává náš seznam deseti největších souborů, jak se očekávalo.

Výstup z příkazů lze přesměrovat a zachytit do souborů. Běžný výstup (stdin) a chybové zprávy (stderr) lze zachytit samostatně.

Příkazy mohou obsahovat proměnné prostředí. Následující příkaz zobrazí obsah vašeho domovského adresáře:

ls $HOME

Funguje to odkudkoli ve stromu adresářů.

  Jak změnit okraje stránky ve Wordu

Pokud vás představa všeho toho psaní stále trápí, techniky jako dokončování karet mohou snížit množství psaní, které musíte dělat.

Skripty umožňují automatizaci a opakovatelnost

Lidé jsou náchylní k chybám.

Skripty vám umožňují standardizovat sadu instrukcí, o kterých víte, že budou provedeny stejným způsobem při každém spuštění skriptu. To přináší konzistenci údržby systému. Do skriptů lze zabudovat bezpečnostní kontroly, které skriptu umožní určit, zda má pokračovat. Uživatel tak nemusí mít dostatečné znalosti, aby se mohl sám rozhodnout.

Protože můžete automatizovat úlohy pomocí cronu na Linuxu a dalších unixových systémech, dlouhé, komplikované a opakující se úlohy lze zjednodušit nebo alespoň jednou vymyslet a pak automatizovat pro budoucnost.

Skripty PowerShellu nabízejí podobný výkon ve Windows a jejich spouštění můžete naplánovat z Plánovače úloh. Proč klikat na 50 různých možností pokaždé, když nastavujete počítač, když můžete spustit příkaz, který automaticky změní vše?

Nejlepší z obou světů

Chcete-li získat to nejlepší z Linuxu – nebo jakéhokoli operačního systému jako zkušený uživatel – opravdu potřebujete použít CLI a GUI.

GUI je nepřekonatelné pro používání aplikací. Dokonce i zarytí zastánci příkazového řádku musí tu a tam vyjít z okna terminálu a používat sady kancelářské produktivity, vývojová prostředí a programy pro grafickou manipulaci.

Závislí na příkazovém řádku nenávidí GUI. Pouze upřednostňují výhody používání CLI – pro příslušné úkoly. Pokud jde o správu, CLI vyhrává. CLI můžete použít k provádění změn jednoho souboru, jednoho adresáře, výběru souborů a adresářů nebo zcela globálních změn se stejným úsilím. Pokus o to pomocí GUI často vyžaduje zdlouhavé a opakované akce klávesnice a myši, protože počet ovlivněných objektů stoupá.

Příkazový řádek vám poskytuje nejvyšší věrnost. Každá možnost každého příkazu je vám k dispozici. A mnoho příkazů Linuxu má mnoho možností. Chcete-li vzít jen jeden příklad, zvažte příkaz lsof. Podívejte se na něj manuálová stránka a pak zvažte, jak byste to zabalili do GUI.

Existuje příliš mnoho možností, které lze uživateli nabídnout v efektivním GUI. Použití by bylo zdrcující, neatraktivní a neohrabané. A to je úplný opak toho, čím GUI chce být.

Jsou to koně na kurzy. Nevyhýbejte se koni CLI. Často je to rychlejší a obratnější oř. Získejte ostruhy a nikdy toho nebudete litovat.