TIP#122: Co je to ten DOS? A příkazová řádka?

Pojďme se podívat trochu do historie, ale přitom se naučit něco užitečného. Něco, co dnešní uživatelé počítačů zpravidla vůbec neznají. Něco co příchod mobilů a tabletů navíc odsunul opravud někam do pradávných bájí, pověstí a pohádek. Pojďme si povědět něco o příkazové řádce a DOSu.

Kdysi dávno, v počátcích počítačů, jsme neměli ona krásná grafická rozhraní, kterým dnes známe jako zásadní cestu k používání počítačů. Cesta k dnešním Windows na počítačích (a podobným věcem na MAC či Linuxu) byla dlouhá. A začíná u toho, že počítače měly jako základní operační systém cosi, co fungovalo pouze textově. Ovládalalo se to klávesnici, žádnou myš jste k tomu nepotřebovali. Ale museli jste znát řadu příkazů. V PC světe se tahle věc jmenoval DOS a ve Windows ho sice už v původní podobě nenajdete, ale můžete si vyvolat následovníka, příkazovou řádku.

TIP: Co je nového v příkazovém řádku ve Windows 10? A jak se dá ovládat? vám prozradí užitečné věci o změnách klasického cmd.exe, příkazové řádky v nejnovějších Windows..

Příkazová řádka (command prompt, command line. CMD.exe) je stále jednou z nepřekonatelných cest k tomu, jak snadno (například) hromadně přejmenovávat či přesouvat soubory. Pokud se naučíte programovat v dávkových souborech (.bat, .cmd), tak si můžete automatizovat řadu věcí. Je také dobré vědět, že snadná cesta k příkazové řádce je vlastní pro užitečné souborové manažery jako je například Far (ale o těch někdy jindy).

cmd-with-dir

Naučit se pracovat s příkazovou řádkou vyžaduje naučit se řadu příkazů, které můžete používat. A také to, jak s nimi pracovat s pomocí další věcí, které je umí spojovat (a také propojovat). Dnešní příkazová řádka (ve Windows) je poněkud pokročilejší, než dřívější DOS. Umí copy-paste, umí označovat text, takže ho můžete přenášet do klasických „wokenních“ programů. Funguje to i opačným směrem.

TIP: Na Internetu najdete záplavu článků s desítkami i stovkami tipů a triků, které využívají příkazovou řádku. Třeba 20 of the Best Tips and Tricks for Getting the Most out of the Windows Command Line, týkající se čistě Windows. Ale třeba i Command Line Cheat Sheet, kde dokonce najdete infografiku a týká se Linuxu (tam se nehovoří o příkazové řádce, ale o terminálu).

Nemá asi smysl se pokoušet psát, přepisovat či překládat všechno to, co je možné o příkazové řádce napsat. Takže jenom pár užitečností, abyste si udělali představu.

  • Ve starších (přes 8.x) Windows spustíte příkazovou řádku (CMD.exe) tak, že zvolíte Start tlačítko a přes spustit program si prostě spustíte cmd.exe
  • V novějších (8.x) Windows si dejte do hledat právě třeba to cmd. Najde vám to „příkazový řádek“ (v českých Windows).
  • Při spouštění dávkových souborů a příkazů vůbec se vám bude hodit, že Ctrl+C umí přerušit běh spuštěného
  • Stejně užitečné může být Ctrl+S, dokáže zastavit (a opět spustit) běh (výpis).
  • A když už jsme u té klávesnice, příkazová řádka dnes už  umí šipkami nahoru/dolů přecházet v dříve použitých příkazech. Tabulátor (tab) vám pomůže automaticky dokončit názvy složek a souborů.
  • Pokud budete chtít sledovat nějaký hodně dlouhý výpis, můžete si ho „stránkovat“ pomocí přesměrování (znak | ) a „more“ … tedy například „dir /s | more“ (to | je mimochodem například pravý Alt+124). Podobný more je clipdir /s | clip odešle výstup do schránky (clipboardu)
  • Výpisy (výstupy) si můžete třídit (pomoci sort) nebo v nich vyhledávat (pomoci find, třeba jako dir /s | find „mp3“)

Měli byste ale znát ještě jednu velmi užitečnou věc, která se bude hodit při práci se soubory. Pomocí znaků * a ? můžete „maskovat“ znaky. „dir *.*“ potom vypisuje všechny soubory se všemi příponami. „dir *.exe“ vypíše pouze soubory s příponou EXE. „dir a*,*“ vypíše všechny soubory, jejichž jméno začíná písmenem „a“. Hvězdičky a otazníky využijete ve všech příkazech pro práci se soubory.

  • Ve Windows budou některé příkazy vyžadovat spuštění jako správce (rzv. „elevated command prompt“), takže se tomu nedivte. Budete pak muset využít „Run as administrator“ (Spustit jako správce). Viz Jak rychle otevřít příkazovou řádku Windows jako správce? pro jedno užitečné urychlení oproti běžným cestám.
  • Příkaz help vám vypíše dlouhý seznam toho, co všechno můžete používat. Když budete chtít vědět co například děla xcopy, tak můžete použít „help xcopy“. Samotné příkazy pak nápovědu zpravidla zobrazují s pomocí přidání „/?“, tedy například „xcopy /?“
  • Budete-li chtít výstup příkazu uložit do souboru, použijte „>“ přesměrování. Můžete například přejít do root složky vašeho disku („cd \“) a potom použít „dir /s >kompletniseznam.txt“. Po chvíli se vytvoří soubor kompletniseznam.txt ve kterém bude výpis všech souborů na vašem disku.
  • Užitečnější může být předchozí přesměrování jako „systeminfo >mysysteminfo.txt“. Něco podobného budete čas od času potřebovat pro technickou podporu.
  • Asi jste už pochopili, že „dir“ umožní vypsat obsah složky (disku). Podobně je dobré vědět, že funguje tree, které nevypisuje obsah po souborech, ale ukazuje stromovou strukturu disku.
  • Jeden z hodně užitečných příkazů je robocopy, dá se využít nejenom velmi dobře pro kopírování, ale také pro zálohování. Stačí jen dobře využít parametry, které má – hlavně /E (kopírovat složky, včetně prázdných), /COPYALL (kopírovat vše co k souborům patří) ale třeba i /MIR (zrcadlení)
  • Podobně je využitelný příkaz xcopy, ale tam si budete muset přidat více parametrů (velmi pravděpodobně /c /d /e /h /i /k /q /r /s /x /y)
  • Hodit se bude subst – tento příkaz vám umožní na disk namapovat nějakou složku – tedy například „subst f: c:\myphotos“, které zajistí, že se vám v počítači objeví disk „F:“, který bude obsahovat vše ve složce c:\myphotos

Toho co umí příkazová řádka je opravdu hodně (nakonec si zkuste pustit help). Co navíc, existují stovky užitečných programů, které fungují právě z příkazové řádky a nepotřebuji „wokna“. Z příkazové řádky můžete také spouštět klasické „wokenní“ programy (zkuste, máte-li v počítači Office, například použít winword).

  • Na jeden řádek můžete směstnat i více příkazů, budou se vykonávat postupně. Uděláte to tak, že je oddělíte pomocí „&&
  • Více příkazů, případně často se opakující používané věci můžete dávat do .bat či .cmd souborů. Jsou to klasické textové soubory (takové co vytváří například notepad)
  • Hodně užitečné (osobně používám velmi často) je ipconfig, zejména jako ipconfig /all (asi budete muset přidat i | more). Ukáže vám všechny informace spojené s vaším síťovým připojením, ale také umožní některé věci napravit. Podobně jako nbtstat
  • Z věcí souvisejících se sítí je dobré znát ještě ping (zkuste si například ping pooh.cz) – můžete si tak snadno věřit, jestli máte připojení k Internetu. Tracert (zkuste si například tracert google.com) poslouží pokud sice připojení máte, ale nemůžete se nikam dostat.
  • A ještě jeden užitečný síťový příkaz je net – podívejte se co všechno umí, protože parametrů má mnoho. Od prohlížení sítě až po mapování síťových disků.
  • Neméně užitečný je netstat (nejlépe jako nestat -a či ještě lépe jako netstat -a -b) s jehož pomocí zjistíte, co vám v počítači pobíhá a používá Internet
  • Je dobré vědět, že shutdown vám umožní vypnout počítač (i vzdálený počítač pomocí jeho síťového názvu).
  • tasklist vám  ukáže co vše v počítači běží, taskkill vám umožní to „zabít“ (ukončit). Ale opatrně.

Až vás případně příkazový řádek (cmd.exe) přestane bavit, tak je dobré vědět, že ho můžete pomocí exit opustit. A také je dobré vědět, že jich můžete mít puštěných víc. Ne jenom jeden. S výhodou pro to můžete použít třeba příkaz start.

  • del slouží k mazání souborů, format k formátování disků (což asi nikdy moc dělat nebudete, takže si dejte pozor na vtipálky)
  • attrib je hodně užitečný, pokud potřebujete změnit příznaky souborů, třeba odstranit to, že jsou readonly (pouze pro čtení)
  • comp či fc porovnává dva soubory, ale použitelné je to jenom pro textové soubory
  • Podívejte se co umí for. Je to sice trochu složitější, ale umožní to velmi zajímavé věci. Třeba „pro každý soubor ve složce vyhovující určité masce spustit určitý příkaz“
  • cd pro změnu složky kde jste už bylo zmíněno, md či mkdir slouží pro vytváření složek, rd či rmdir odstraňovat.
  • Když už je řeč o složkách a cd, tak je vhodné zmínit, že „.“ je aktuální složka, „..“ je její nadřazená (rodičovská) složka. Takže „cd ..“ znamená, že přejde ve složkách o úroveň výše.
  • copy či xcopy kopíruje soubory, move je umožňuje přesouvat a ren či rename přejmenovávat.
  • time vám řekne kolik je hodin, date jaké je datum. A oba to umožňují změnit.
Advertisements