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

© Damig, 2004 – 2016
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 adresáře), 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.

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ího adresáře.

cd disk:\cesta\k\adresáři

Přepne aktuální adresář. Pozor na jména adresářů s mezerami a diakritikou. Pak je potřeba celou cestu uzavřít do uvozovek. Aktuální adresář se zobrazuje před blikajícím kurzorem příkazového řádku. Adresáře jde zadávat i relativně k aktuálnímu adresáři. Nadřazený adresář se jmenuje .. (dvě tečky). Ve Windows se používají opačná lomítka.

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ího adresáře.

ls

Vytiskne seznam souborů v aktuálním adresáři. Pro podrobný výpis použijte ls -l

cd cesta/k/adresáři

Změní aktuální adresář podle zadané cesty. Cesta může být absolutní (začíná v kořenovém adresáři /) nebo relativní k aktuálnímu adresáři. Aktuální adresář se jmenuje . (tečka). Nadřazený adresář 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.

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ím adresáři 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ého adresáře pouze jejich jménem. Toto privilegium mají jen programy umístěné v systémových adresáří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.