Jak na pro­jek­ty v ja­zy­ce C

© Damig, 2004 – 2023
Koncept

Příkazový řádek a shell
Příkazový terminál

Terminál a shell

Jaký je vlastně rozdíl mezi příkazovým řádkem a shellem? Obecně se dá říct, že příkazový řádek, či terminál je aplikace, která poskytuje textové rozhraní pro spouštění programů. Původně počítače nabízely jen textové rozhraní, takže se textový terminál zobrazoval na celou obrazovku (ještě dříve jen na tiskárnu). Dnes máme terminálové aplikace, které toto emulují v grafickém okně.

Shell je program, který je automaticky spuštěn v terminálu. Umožňuje spouštění zabudovaných příkazů (jako např. cd pro změnu složky), uživatelských programů a skriptů. Terminál je bez shellu k ničemu.

Ve Windows se mezi těmito pojmy moc nerozlišuje a obvykle se mluví jen o příkazovém řádku (command line, command prompt window). V unixových systémech je velký výběr jak terminálových aplikací (konsole, GNOME terminal, xterm, ...), tak i shellů (bash, sh, csh, ...), takže je zde zvykem tyto pojmy rozlišovat.

Terminál ve Windows

Terminál (příkazový řádek) v nejnovějších verzích Windows je to černé okno ve kterém bliká kurzor a čeká, až napíšete nějaký příkaz. Je docela dobře možné, že jste ho nikdy neviděli, protože existuje spiknutí manažerů MS, které má za cíl ho před vámi utajit. Je to vlastně emulace příkazového prostředí starého MS DOSu. Umožňuje spouštět programy, příkazy MS DOSu a dávkové soubory (skripty) a dále používat přesměrování a roury. Mnoho nástrojů pro správu Windows používá CLI, protože správci chtějí efektivní nástroje, které jdou spouštět ze skriptů a nevyžadují ruční otevírání mnoha oken ani hledání v dlouhých rozbalovacích seznamech.

Do verze Windows 98, se příkazový řádek spouštěl jako program COMMAND.COM. V novějších verzích jej najdete pod názvem cmd.exe. Spustíte jej tak, že jej buď najdete někde v menu Start (jako Příkazový řádek nebo Command prompt) nebo jej spustíte ručně: v menu Start do vyhledávacího boxu zadejte text cmd. Ve Windows 8, které nemají menu Start se to dělá podobně, ale vyhledávací box se nachází ve skrývacím menu za pravou hranou obrazovky. Ve Windows 10 už můžete opět použít vyhledávání v menu Start.

Nainstalujete-li si Cygwin, můžete i ve Windows používat shell a některé programy, které jsou běžně dostupné v Linuxových distribucích.

Základní příkazy shellu cmd

disk:

Přepnutí disku se dělá napsáním jména disku a dvojtečky, např. d: přepne na disk D.

dir

Zobrazí obsah aktuální složky.

cd disk:\cesta\ke\složce

Přepne aktuální složku. Pozor na jména složek s mezerami a diakritikou. Pak je potřeba celou cestu uzavřít do uvozovek. Aktuální složka se zobrazuje před blikajícím kurzorem příkazového řádku. Složky jde zadávat i relativně k aktuální složce. Nadřazená složka se jmenuje .. (dvě tečky). Ve Windows se používají opačná lomítka. Tip: Při psaní cesty zkuste použít tabulátor pro listování mezi složkami.

type soubor

Vypíše na obrazovku obsah zadaného souboru

Spouštění Příkazového řádku ze startovního menu ve Windows 7.
Menu Start ve Windows XP.
Ve Windows XP se program cmd následně spouští z dialogového okna.
Okno příkazového řádku Windows. V ukázce jsou spuštěny dva programy propojené rourou.

Terminál v Linuxu a Mac OS X

V unixových systémech jako Linux nebo Mac OS X si můžete nainstalovat terminál, jaký se vám líbí. V prostředí KDE je výchozím terminálem program Konsole. Prostředí GNOME používá svůj emulátor terminálu GNOME terminal. Emulátor terminálu v Mac OS X se nepřekvapivě jmenuje Terminal. Všechny se spouští obvyklým způsobem pro dané prostředí ze startovního menu.

Ze všech dostupných shellů je dnes zřejmě nejrozšířenější program Bash. Není třeba jej nijak spouštět. Je téměř jisté, že se spouští automaticky spolu s vaší terminálovou aplikací. Pokud chcete používat jiný shell, můžete jej spustit ručně z Bashe nebo to nastavit ve vaší terminálové aplikaci.

Základní příkazy shellu bash

pwd

Vytiskne jméno aktuální složky.

ls

Vytiskne seznam souborů v aktuální složce. Pro podrobný výpis použijte ls -l

cd cesta/ke/složce

Změní aktuální složku podle zadané cesty. Cesta může být absolutní (začíná v kořenové složce /) nebo relativní k aktuální složce. Aktuální složka se jmenuje . (tečka). Nadřazená složka se jmenuje .. (dvě tečky). V unixových systémech se používají obyčejná lomítka. Cesta je parametr, tudíž musí být mezi názvem programu a parametrem mezera. Tip: Při psaní cesty použijte tabulátor pro listování mezi aktuálními složkami.

cat soubor

Vytiskne obsah zadaného souboru na obrazovku. Pokud je zadáno více souborů, vytiskne na obrazovku jeden soubor za druhým.

./mujprogram

Spuštění programu mujprogram uloženého v aktuální složce vyžaduje použití relativní cesty (to je ta tečka lomeno). V Linuxu je z bezpečnostních důvodů zakázáno spouštět programy z libovolné složky pouze jejich jménem. Toto privilegium mají jen programy umístěné v systémových složkách.

Spouštění terminálu – Konsole v KDE.
Spouštění terminálu pomocí rychlého spouštění (Alt+F2) v KDE.
Terminál – Konsole v KDE se shellem Bash.