Příkazová řádka

V této lekci se seznámíme s příkazovou řádkou – černým okýnkem, které programátoři používají na zadávání příkazů. Na první pohled může vypadat nepřirozeně, ale dá se na ni zvyknout :)

Příkazová řádka (respektive program, kterému se říká i konzole či terminál; anglicky command line, console, terminal) se na různých systémech otevírá různě:

  • Windows (české): Start → napsat na klávesnici „cmd“ → Příkazový řádek
  • Windows (anglické): Start → napsat na klávesnici „cmd“ → Command Prompt
  • macOS (anglický): Applications → Utilities → Terminal
  • Linux (KDE): Hlavní Menu → hledat Konsole
  • Linux (GNOME): Super → hledat Terminál

Nevíš-li si rady, zkus buď googlit, nebo se jednoduše zeptat kouče.

Po otevření konzole tě uvítá řádek, kterým počítač vybízí k zadání příkazu. Podle systému bude končit buď znakem $ nebo >, před nímž můžou být ještě další informace:

Unix (Linux, macOS)

$

Windows

>

Podle systému se potom liší i samotné příkazy, které budeš zadávat.

Velikost písma

Je-li ve Windows moc malé písmo, klikni na ikonku okna a vyber Možnosti. V záložce Písmo si pak můžeš vybrat větší font.

Screenshot menu příkazové řádky

Na ostatních systémech hledej v nastavení, nebo zkus Ctrl++ a Ctrl+- (příp. se Shift).

První příkaz

Začneme jednoduchým příkazem. Napiš whoami (z angl. who am I? – kdo jsem?) a stiskni Enter. Objeví se přihlašovací jméno. Třeba u Heleny by to vypadalo takhle:

Unix

$ whoami
helena

Windows

> whoami
pocitac\Helena

Znak $ nebo > je v ukázce jen proto, aby bylo jasné, že zadáváme příkaz do příkazové řádky. Vypíše ho počítač, většinou ještě s něčím před ním, takže ho nepiš sama! Zadej jen whoami a Enter.

Stejně tak počítač sám vypíše přihlašovací jméno.

Aktuální adresář

Příkazová řádka pracuje vždy v nějakém adresáři (neboli složce, angl. directory, folder). Ve kterém adresáři zrovna je, to nám poví příkaz, který se podle systému jmenuje pwd nebo cd (z angl. print working directory – vypiš pracovní adresář, resp. current directory – aktuální adresář).

Unix

$ pwd
/home/helena/

Windows

> cd
C:\Users\helena

Aktuální adresář se většinou ukazuje i před znakem $ nebo >, ale je dobré pwd/cd znát, kdyby ses náhodou ztratila (nebo musela pracovat na počítači který před $ ukazuje něco jiného).

Co v tom adresáři je?

Příkaz ls nebo dir (z angl. list – vyjmenovat, resp. directory – adresář) nám vypíše, co aktuální adresář obsahuje: všechny soubory, včetně podadresářů, které se v aktuálním adresáři nacházejí.

Unix

$ ls
Applications
Desktop
Downloads
Music

Windows

> dir
 Directory of C:\Users\helena
05/08/2014 07:28 PM <DIR>  Applications
05/08/2014 07:28 PM <DIR>  Desktop
05/08/2014 07:28 PM <DIR>  Downloads
05/08/2014 07:28 PM <DIR>  Music

Změna aktuálního adresáře

Aktuální adresář se dá změnit pomocí příkazu cd (z angl. change directory – změnit adresář). Za cd se píše jméno adresáře, kam chceme přejít. Pokud máš adresář Desktop nebo Plocha, přejdi tam. Pak nezapomeň ověřit, že jsi na správném místě.

Jsi-li na Linuxu nebo macOS, dej si pozor na velikost písmen: na těchto systémech jsou Desktop a desktop dvě různá jména.

Jsi-li na Windows, cd už jsi používala – tento příkaz se chová různě podle toho, jestli něco napíšeš za něj nebo ne.

Unix

$ cd Desktop
$ pwd
/home/helena/Desktop

Windows

> cd Desktop
> cd
C:\Users\helena\Desktop

Poznámka pro Windows

Pokud přecházíš do adresáře na jiném disku, například D: místo C:, je potřeba kromě cd zadat jméno disku s dvojtečkou jako zvláštní příkaz (např. D:).

Vytvoření adresáře

Co takhle si vytvořit adresář na PyLadies? To se dělá příkazem mkdir (z angl. make directory – vytvořit adresář). Za tento příkaz napiš jméno adresáře, který chceš vytvořit – v našem případě pyladies:

Unix

$ mkdir pyladies

Windows

> mkdir pyladies

Teď se můžeš podívat na Plochu nebo do nějakého grafickém programu na prohlížení adresářů: zjistíš, že adresář se opravdu vytvořil!

Úkol

Zkus v nově vytvořeném adresáři pyladies vytvořit adresář test a zkontrolovat, že se opravdu vytvořil.

Budou se hodit příkazy cd, mkdir a ls či dir.

Řešení

Úklid

Teď vytvořené adresáře zase smažeme.

Nemůžeš ale smazat adresář, ve kterém jsi. Proto se vrátíme na Desktop. Ale nemůžeme použít cd Desktop – v aktuálním adresáři žádný Desktop není. Potřebuješ se dostat do nadřazeného adresáře: toho, který obsahuje adresář ve kterém právě jsi. Nadřazený adresář se značí dvěma tečkami:

Unix

$ pwd
/home/helena/Desktop/pyladies
$ cd ..
$ pwd
/home/helena/Desktop

Windows

> cd
C:\Users\helena\Desktop\pyladies
> cd ..
> cd
C:\Users\helena\Desktop

Teď můžeš smazat vytvořený adresář pyladies. K tomu použij příkaz rm nebo rmdir (z remove – odstraň, resp. remove directory – odstraň adresář).

Pozor!

Příkazová řádka nepoužívá odpadkový koš! Všechno se nadobro smaže. Takže si dobře překontroluj, že mažeš správný adresář.

Na Unixu za tento příkaz musíš napsat ještě jedno slovo: -rv (minus, r, v). To je takzvaný přepínač, který příkazu říká, že má smazat celý adresář včetně všeho, co obsahuje (r), a že má informovat o tom co dělá (v).

Obdobně i na Windows je potřeba zadat přepínač, který říká, že má smazat adresář a veškerý jeho obsah. Tentokrát je to /S (lomítko, S). Příkaz rmdir se automaticky ujistí, jestli to co mažeš opravdu chceš smazat.

Unix

$ pwd
/home/helena/Desktop
$ rm -rv pyladies
removed directory: ‘pyladies’

Windows

> cd
C:\Users\helena\Desktop
> rmdir /S pyladies
pyladies, Are you sure <Y/N>? Y

Shrnutí

Tady je tabulka základních příkazů, se kterými si zatím vystačíme:

Unix Windows Popis Příklad
cd cd změna adresáře cd test
pwd cd výpis aktuálního adresáře pwd
cd
ls dir výpis adresáře ls
dir
cp copy zkopírování souboru cp puvodni.txt kopie.txt
copy puvodni.txt kopie.txt
mv move přesun/přejmenování souboru mv puvodni.txt novy.txt
move puvodni.txt novy.txt
mkdir mkdir vytvoření adresáře mkdir test
rm del smazání souboru rm test.txt
del test.txt
exit exit ukončení exit

Příkazů existuje samozřejmě daleko víc. Dokonce každý program, který máš na počítači nainstalovaný, jde spustit z příkazové řádky – a to většinou jen zadáním jeho jména. Zkus, jestli na tvém počítači bude fungovat firefox, notepad, safari nebo gedit. Kdyby nefungoval ani jeden, zeptej se kouče ať najde nějaký, co u tebe fungovat bude.

Při učení Pythonu použiješ programy/příkazy jako python a git, které zanedlouho nainstalujeme.

Konec

Nakonec vyzkoušej ještě jeden příkaz. Ten, který příkazovou řádku zavírá: exit.

Jako většina příkazů (kromě pár z těch základních) funguje exit stejně na všech systémech. Proto už nebudu používat ukázku rozdělenou pro Unix a Windows.

$ exit

Ve zbytku těchto materiálů budeme pro kód, který je potřeba zadat do příkazové řádky, používat unixovské $. S touto konvencí se setkáš i ve většině návodů na internetu. Používáš-li Windows, je dobré si na $ zvyknout, i když ve své řádce máš místo něj >.

{
  "data": {
    "sessionMaterial": {
      "id": "session-material:2017/pyladies-ostrava-podzim:install:1",
      "title": "Úvod do příkazové řádky",
      "html": "\n          \n    \n\n    <h1>P&#x159;&#xED;kazov&#xE1; &#x159;&#xE1;dka</h1>\n<p>V t&#xE9;to lekci se sezn&#xE1;m&#xED;me s&#xA0;<em>p&#x159;&#xED;kazovou &#x159;&#xE1;dkou</em> &#x2013; &#x10D;ern&#xFD;m ok&#xFD;nkem,\nkter&#xE9; program&#xE1;to&#x159;i pou&#x17E;&#xED;vaj&#xED; na zad&#xE1;v&#xE1;n&#xED; p&#x159;&#xED;kaz&#x16F;.\nNa prvn&#xED; pohled m&#x16F;&#x17E;e vypadat nep&#x159;irozen&#x11B;, ale d&#xE1; se na ni zvyknout :)</p>\n<p>P&#x159;&#xED;kazov&#xE1; &#x159;&#xE1;dka\n(respektive program, kter&#xE9;mu se &#x159;&#xED;k&#xE1; i <em>konzole</em> &#x10D;i <em>termin&#xE1;l</em>;\nanglicky <em>command line</em>, <em>console</em>, <em>terminal</em>)\nse na r&#x16F;zn&#xFD;ch syst&#xE9;mech otev&#xED;r&#xE1; r&#x16F;zn&#x11B;:</p>\n<ul>\n<li>Windows (&#x10D;esk&#xE9;): Start &#x2192; napsat na kl&#xE1;vesnici &#x201E;cmd&#x201C; &#x2192; P&#x159;&#xED;kazov&#xFD; &#x159;&#xE1;dek</li>\n<li>Windows (anglick&#xE9;): Start &#x2192; napsat na kl&#xE1;vesnici &#x201E;cmd&#x201C; &#x2192; Command Prompt</li>\n<li>macOS (anglick&#xFD;): Applications &#x2192; Utilities &#x2192; Terminal</li>\n<li>Linux (KDE): Hlavn&#xED; Menu &#x2192; hledat Konsole</li>\n<li>Linux (GNOME): Super &#x2192; hledat Termin&#xE1;l</li>\n</ul>\n<p>Nev&#xED;&#x161;-li si rady, zkus bu&#x10F; googlit,\nnebo se jednodu&#x161;e zeptat kou&#x10D;e.</p>\n<p>Po otev&#x159;en&#xED; konzole t&#x11B; uv&#xED;t&#xE1; &#x159;&#xE1;dek,\nkter&#xFD;m po&#x10D;&#xED;ta&#x10D; vyb&#xED;z&#xED; k&#xA0;zad&#xE1;n&#xED; p&#x159;&#xED;kazu.\nPodle syst&#xE9;mu bude kon&#x10D;it bu&#x10F; znakem <code>$</code> nebo <code>&gt;</code>,\np&#x159;ed n&#xED;m&#x17E; m&#x16F;&#x17E;ou b&#xFD;t je&#x161;t&#x11B; dal&#x161;&#xED; informace:</p>\n<div class=\"row side-by-side-commands\"><div class=\"col\">\n                <h4>Unix (Linux, macOS)</h4><div class=\"highlight\"><pre><span></span><span class=\"gp\">$\n</span></pre></div></div><div class=\"col\">\n                <h4>Windows</h4><div class=\"highlight\"><pre><span></span><span class=\"gp\">&gt;\n</span></pre></div></div></div><p>Podle syst&#xE9;mu se potom li&#x161;&#xED; i samotn&#xE9; p&#x159;&#xED;kazy, kter&#xE9; bude&#x161; zad&#xE1;vat.</p>\n<div class=\"admonition note\"><p class=\"admonition-title\">Velikost p&#xED;sma</p>\n<p>Je-li ve Windows moc mal&#xE9; p&#xED;smo, klikni na ikonku okna a vyber Mo&#x17E;nosti.\nV&#xA0;z&#xE1;lo&#x17E;ce P&#xED;smo si pak m&#x16F;&#x17E;e&#x161; vybrat v&#x11B;t&#x161;&#xED; font.\n<!-- XXX: are the Czech names correct? --></p>\n<p><span class=\"figure\"><a href=\"/2017/pyladies-ostrava-podzim/beginners/cmdline/static/windows-cmd-properties.png\"><img src=\"/2017/pyladies-ostrava-podzim/beginners/cmdline/static/windows-cmd-properties.png\" alt=\"Screenshot menu p&#x159;&#xED;kazov&#xE9; &#x159;&#xE1;dky\"></a></span></p>\n<p>Na ostatn&#xED;ch syst&#xE9;mech hledej v&#xA0;nastaven&#xED;, nebo zkus\n<kbd>Ctrl</kbd>+<kbd>+</kbd> a\n<kbd>Ctrl</kbd>+<kbd>-</kbd> (p&#x159;&#xED;p. se Shift).</p>\n</div><h2>Prvn&#xED; p&#x159;&#xED;kaz</h2>\n<p>Za&#x10D;neme jednoduch&#xFD;m p&#x159;&#xED;kazem.\nNapi&#x161; <code>whoami</code> (z angl. <em>who am I?</em> &#x2013; kdo jsem?)\na stiskni <kbd>Enter</kbd>.\nObjev&#xED; se p&#x159;ihla&#x161;ovac&#xED; jm&#xE9;no. T&#x159;eba u Heleny by to vypadalo takhle:</p>\n<div class=\"row side-by-side-commands\"><div class=\"col\">\n                <h4>Unix</h4><div class=\"highlight\"><pre><span></span><span class=\"gp\">$ </span>whoami\n<span class=\"go\">helena</span>\n</pre></div></div><div class=\"col\">\n                <h4>Windows</h4><div class=\"highlight\"><pre><span></span><span class=\"gp\">&gt; </span>whoami\n<span class=\"go\">pocitac\\Helena</span>\n</pre></div></div></div><div class=\"admonition note\"><p>Znak <code>$</code> nebo <code>&gt;</code> je v uk&#xE1;zce jen proto, aby bylo jasn&#xE9;, &#x17E;e zad&#xE1;v&#xE1;me\np&#x159;&#xED;kaz do p&#x159;&#xED;kazov&#xE9; &#x159;&#xE1;dky.\nVyp&#xED;&#x161;e ho po&#x10D;&#xED;ta&#x10D;, v&#x11B;t&#x161;inou je&#x161;t&#x11B; s n&#x11B;&#x10D;&#xED;m p&#x159;ed n&#xED;m,\ntak&#x17E;e ho nepi&#x161; sama! Zadej jen <code>whoami</code> a <kbd>Enter</kbd>.</p>\n<p>Stejn&#x11B; tak po&#x10D;&#xED;ta&#x10D; s&#xE1;m vyp&#xED;&#x161;e p&#x159;ihla&#x161;ovac&#xED; jm&#xE9;no.</p>\n</div><h2>Aktu&#xE1;ln&#xED; adres&#xE1;&#x159;</h2>\n<p>P&#x159;&#xED;kazov&#xE1; &#x159;&#xE1;dka pracuje v&#x17E;dy v&#xA0;n&#x11B;jak&#xE9;m <em>adres&#xE1;&#x159;i</em> (neboli <em>slo&#x17E;ce</em>,\nangl. <em>directory</em>, <em>folder</em>).\nVe kter&#xE9;m adres&#xE1;&#x159;i zrovna je, to n&#xE1;m pov&#xED; p&#x159;&#xED;kaz, kter&#xFD; se podle syst&#xE9;mu\njmenuje <code>pwd</code> nebo <code>cd</code> (z angl. <em>print working directory</em> &#x2013; vypi&#x161; pracovn&#xED;\nadres&#xE1;&#x159;, resp. <em>current directory</em> &#x2013; aktu&#xE1;ln&#xED; adres&#xE1;&#x159;).</p>\n<div class=\"row side-by-side-commands\"><div class=\"col\">\n                <h4>Unix</h4><div class=\"highlight\"><pre><span></span><span class=\"gp\">$ </span><span class=\"nb\">pwd</span>\n<span class=\"go\">/home/helena/</span>\n</pre></div></div><div class=\"col\">\n                <h4>Windows</h4><div class=\"highlight\"><pre><span></span><span class=\"gp\">&gt; </span>cd\n<span class=\"go\">C:\\Users\\helena</span>\n</pre></div></div></div><p>Aktu&#xE1;ln&#xED; adres&#xE1;&#x159; se v&#x11B;t&#x161;inou ukazuje i p&#x159;ed znakem <code>$</code> nebo <code>&gt;</code>,\nale je dobr&#xE9; <code>pwd</code>/<code>cd</code> zn&#xE1;t, kdyby ses n&#xE1;hodou ztratila\n(nebo musela pracovat na po&#x10D;&#xED;ta&#x10D;i kter&#xFD; p&#x159;ed <code>$</code> ukazuje n&#x11B;co jin&#xE9;ho).</p>\n<h2>Co v tom adres&#xE1;&#x159;i je?</h2>\n<p>P&#x159;&#xED;kaz <code>ls</code> nebo <code>dir</code> (z angl. <em>list</em> &#x2013; vyjmenovat, resp. <em>directory</em> &#x2013; adres&#xE1;&#x159;)\nn&#xE1;m vyp&#xED;&#x161;e, co aktu&#xE1;ln&#xED; adres&#xE1;&#x159; obsahuje: v&#x161;echny soubory,\nv&#x10D;etn&#x11B; podadres&#xE1;&#x159;&#x16F;, kter&#xE9; se v aktu&#xE1;ln&#xED;m adres&#xE1;&#x159;i nach&#xE1;zej&#xED;.</p>\n<div class=\"row side-by-side-commands\"><div class=\"col\">\n                <h4>Unix</h4><div class=\"highlight\"><pre><span></span><span class=\"gp\">$ </span>ls\n<span class=\"go\">Applications</span>\n<span class=\"go\">Desktop</span>\n<span class=\"go\">Downloads</span>\n<span class=\"go\">Music</span>\n<span class=\"go\">&#x2026;</span>\n</pre></div></div><div class=\"col\">\n                <h4>Windows</h4><div class=\"highlight\"><pre><span></span><span class=\"gp\">&gt; </span>dir\n<span class=\"go\"> Directory of C:\\Users\\helena</span>\n<span class=\"go\">05/08/2014 07:28 PM &lt;DIR&gt;  Applications</span>\n<span class=\"go\">05/08/2014 07:28 PM &lt;DIR&gt;  Desktop</span>\n<span class=\"go\">05/08/2014 07:28 PM &lt;DIR&gt;  Downloads</span>\n<span class=\"go\">05/08/2014 07:28 PM &lt;DIR&gt;  Music</span>\n<span class=\"go\">&#x2026;</span>\n</pre></div></div></div><h2>Zm&#x11B;na aktu&#xE1;ln&#xED;ho adres&#xE1;&#x159;e</h2>\n<p>Aktu&#xE1;ln&#xED; adres&#xE1;&#x159; se d&#xE1; zm&#x11B;nit pomoc&#xED; p&#x159;&#xED;kazu <code>cd</code>\n(z angl. <em>change directory</em> &#x2013; zm&#x11B;nit adres&#xE1;&#x159;).\nZa <code>cd</code> se p&#xED;&#x161;e jm&#xE9;no adres&#xE1;&#x159;e, kam chceme p&#x159;ej&#xED;t.\nPokud m&#xE1;&#x161; adres&#xE1;&#x159; <code>Desktop</code> nebo <code>Plocha</code>, p&#x159;ejdi tam. Pak nezapome&#x148; ov&#x11B;&#x159;it,\n&#x17E;e jsi na spr&#xE1;vn&#xE9;m m&#xED;st&#x11B;.</p>\n<p>Jsi-li na Linuxu nebo macOS, dej si pozor na velikost p&#xED;smen: na t&#x11B;chto\nsyst&#xE9;mech jsou <code>Desktop</code> a <code>desktop</code> dv&#x11B; r&#x16F;zn&#xE1; jm&#xE9;na.</p>\n<p>Jsi-li na Windows, <code>cd</code> u&#x17E; jsi pou&#x17E;&#xED;vala &#x2013; tento p&#x159;&#xED;kaz se chov&#xE1; r&#x16F;zn&#x11B;\npodle toho, jestli n&#x11B;co nap&#xED;&#x161;e&#x161; za n&#x11B;j nebo ne.</p>\n<div class=\"row side-by-side-commands\"><div class=\"col\">\n                <h4>Unix</h4><div class=\"highlight\"><pre><span></span><span class=\"gp\">$ </span><span class=\"nb\">cd</span> Desktop\n<span class=\"gp\">$ </span><span class=\"nb\">pwd</span>\n<span class=\"go\">/home/helena/Desktop</span>\n</pre></div></div><div class=\"col\">\n                <h4>Windows</h4><div class=\"highlight\"><pre><span></span><span class=\"gp\">&gt; </span>cd Desktop<span class=\"gp\"></span>\n<span class=\"gp\">&gt; </span>cd\n<span class=\"go\">C:\\Users\\helena\\Desktop</span>\n</pre></div></div></div><div class=\"admonition note\"><p class=\"admonition-title\">Pozn&#xE1;mka pro Windows</p>\n<p>Pokud p&#x159;ech&#xE1;z&#xED;&#x161; do adres&#xE1;&#x159;e na jin&#xE9;m disku,\nnap&#x159;&#xED;klad <code>D:</code> m&#xED;sto <code>C:</code>, je pot&#x159;eba krom&#x11B; <code>cd</code>\nzadat jm&#xE9;no disku s dvojte&#x10D;kou jako zvl&#xE1;&#x161;tn&#xED; p&#x159;&#xED;kaz (nap&#x159;. <code>D:</code>).</p>\n</div><h2>Vytvo&#x159;en&#xED; adres&#xE1;&#x159;e</h2>\n<p>Co takhle si vytvo&#x159;it adres&#xE1;&#x159; na PyLadies? To se d&#x11B;l&#xE1; p&#x159;&#xED;kazem <code>mkdir</code>\n(z angl. <em>make directory</em> &#x2013; vytvo&#x159;it adres&#xE1;&#x159;).\nZa tento p&#x159;&#xED;kaz napi&#x161; jm&#xE9;no adres&#xE1;&#x159;e, kter&#xFD; chce&#x161; vytvo&#x159;it &#x2013; v na&#x161;em p&#x159;&#xED;pad&#x11B;\n<code>pyladies</code>:</p>\n<div class=\"row side-by-side-commands\"><div class=\"col\">\n                <h4>Unix</h4><div class=\"highlight\"><pre><span></span><span class=\"gp\">$ </span>mkdir pyladies\n</pre></div></div><div class=\"col\">\n                <h4>Windows</h4><div class=\"highlight\"><pre><span></span><span class=\"gp\">&gt; </span>mkdir pyladies\n</pre></div></div></div><p>Te&#x10F; se m&#x16F;&#x17E;e&#x161; pod&#xED;vat na Plochu nebo do n&#x11B;jak&#xE9;ho grafick&#xE9;m programu na\nprohl&#xED;&#x17E;en&#xED; adres&#xE1;&#x159;&#x16F;: zjist&#xED;&#x161;, &#x17E;e adres&#xE1;&#x159; se opravdu vytvo&#x159;il!</p>\n<h2>&#xDA;kol</h2>\n<p>Zkus v nov&#x11B; vytvo&#x159;en&#xE9;m adres&#xE1;&#x159;i <code>pyladies</code>\nvytvo&#x159;it adres&#xE1;&#x159; <code>test</code>\na zkontrolovat, &#x17E;e se opravdu vytvo&#x159;il.</p>\n<p>Budou se hodit p&#x159;&#xED;kazy <code>cd</code>, <code>mkdir</code> a <code>ls</code> &#x10D;i <code>dir</code>.</p>\n<div class=\"solution\" id=\"solution-0\">\n    <h3>&#x158;e&#x161;en&#xED;</h3>\n    <div class=\"solution-cover\">\n        <a href=\"/2017/pyladies-ostrava-podzim/beginners/cmdline/index/solutions/0/\"><span class=\"link-text\">Uk&#xE1;zat &#x159;e&#x161;en&#xED;</span></a>\n    </div>\n    <div class=\"solution-body\" aria-hidden=\"true\">\n        <div class=\"row side-by-side-commands\"><div class=\"col\">\n                <h4>Unix</h4><div class=\"highlight\"><pre><span></span><span class=\"gp\">$ </span><span class=\"nb\">cd</span> pyladies\n<span class=\"gp\">$ </span>mkdir <span class=\"nb\">test</span>\n<span class=\"gp\">$ </span>ls\n<span class=\"go\">test</span>\n</pre></div></div><div class=\"col\">\n                <h4>Windows</h4><div class=\"highlight\"><pre><span></span><span class=\"gp\">&gt; </span>cd pyladies<span class=\"gp\"></span>\n<span class=\"gp\">&gt; </span>mkdir test<span class=\"gp\"></span>\n<span class=\"gp\">&gt; </span>dir\n<span class=\"go\">05/08/2014 07:28 PM &lt;DIR&gt;  test</span>\n</pre></div></div></div>\n    </div>\n</div><h2>&#xDA;klid</h2>\n<p>Te&#x10F; vytvo&#x159;en&#xE9; adres&#xE1;&#x159;e zase sma&#x17E;eme.</p>\n<p>Nem&#x16F;&#x17E;e&#x161; ale smazat adres&#xE1;&#x159;, ve kter&#xE9;m jsi.\nProto se vr&#xE1;t&#xED;me na <code>Desktop</code>.\nAle nem&#x16F;&#x17E;eme pou&#x17E;&#xED;t <code>cd Desktop</code> &#x2013; v&#xA0;aktu&#xE1;ln&#xED;m adres&#xE1;&#x159;i &#x17E;&#xE1;dn&#xFD; <code>Desktop</code> nen&#xED;.\nPot&#x159;ebuje&#x161; se dostat do <em>nad&#x159;azen&#xE9;ho adres&#xE1;&#x159;e</em>: toho, kter&#xFD; obsahuje\nadres&#xE1;&#x159; ve kter&#xE9;m pr&#xE1;v&#x11B; jsi.\nNad&#x159;azen&#xFD; adres&#xE1;&#x159; se zna&#x10D;&#xED; dv&#x11B;ma te&#x10D;kami:</p>\n<div class=\"row side-by-side-commands\"><div class=\"col\">\n                <h4>Unix</h4><div class=\"highlight\"><pre><span></span><span class=\"gp\">$ </span><span class=\"nb\">pwd</span>\n<span class=\"go\">/home/helena/Desktop/pyladies</span>\n<span class=\"gp\">$ </span><span class=\"nb\">cd</span> ..\n<span class=\"gp\">$ </span><span class=\"nb\">pwd</span>\n<span class=\"go\">/home/helena/Desktop</span>\n</pre></div></div><div class=\"col\">\n                <h4>Windows</h4><div class=\"highlight\"><pre><span></span><span class=\"gp\">&gt; </span>cd\n<span class=\"go\">C:\\Users\\helena\\Desktop\\pyladies</span><span class=\"gp\"></span>\n<span class=\"gp\">&gt; </span>cd ..<span class=\"gp\"></span>\n<span class=\"gp\">&gt; </span>cd\n<span class=\"go\">C:\\Users\\helena\\Desktop</span>\n</pre></div></div></div><p>Te&#x10F; m&#x16F;&#x17E;e&#x161; smazat vytvo&#x159;en&#xFD; adres&#xE1;&#x159; <code>pyladies</code>.\nK tomu pou&#x17E;ij p&#x159;&#xED;kaz <code>rm</code> nebo <code>rmdir</code>\n(z <em>remove</em> &#x2013; odstra&#x148;, resp. <em>remove directory</em> &#x2013; odstra&#x148; adres&#xE1;&#x159;).</p>\n<div class=\"admonition warning\"><p class=\"admonition-title\">Pozor!</p>\n<p>P&#x159;&#xED;kazov&#xE1; &#x159;&#xE1;dka nepou&#x17E;&#xED;v&#xE1; odpadkov&#xFD; ko&#x161;!\nV&#x161;echno se nadobro sma&#x17E;e. Tak&#x17E;e si dob&#x159;e p&#x159;ekontroluj, &#x17E;e ma&#x17E;e&#x161;\nspr&#xE1;vn&#xFD; adres&#xE1;&#x159;.</p>\n</div><p>Na Unixu za tento p&#x159;&#xED;kaz mus&#xED;&#x161; napsat je&#x161;t&#x11B; jedno slovo: <code>-rv</code> (minus,\n<code>r</code>, <code>v</code>).\nTo je takzvan&#xFD; <em>p&#x159;ep&#xED;na&#x10D;</em>, kter&#xFD; p&#x159;&#xED;kazu &#x159;&#xED;k&#xE1;, &#x17E;e m&#xE1; smazat cel&#xFD; adres&#xE1;&#x159;\nv&#x10D;etn&#x11B; v&#x161;eho, co obsahuje (<code>r</code>),\na &#x17E;e m&#xE1; informovat o tom co d&#x11B;l&#xE1; (<code>v</code>).</p>\n<p>Obdobn&#x11B; i na Windows je pot&#x159;eba zadat p&#x159;ep&#xED;na&#x10D;, kter&#xFD; &#x159;&#xED;k&#xE1;, &#x17E;e m&#xE1; smazat\nadres&#xE1;&#x159; a ve&#x161;ker&#xFD; jeho obsah. Tentokr&#xE1;t je to <code>/S</code> (lom&#xED;tko, <code>S</code>).\nP&#x159;&#xED;kaz <code>rmdir</code> se automaticky ujist&#xED;, jestli to co ma&#x17E;e&#x161; opravdu chce&#x161; smazat.</p>\n<div class=\"row side-by-side-commands\"><div class=\"col\">\n                <h4>Unix</h4><div class=\"highlight\"><pre><span></span><span class=\"gp\">$ </span><span class=\"nb\">pwd</span>\n<span class=\"go\">/home/helena/Desktop</span>\n<span class=\"gp\">$ </span>rm -rv pyladies\n<span class=\"go\">removed directory: &#x2018;pyladies&#x2019;</span>\n</pre></div></div><div class=\"col\">\n                <h4>Windows</h4><div class=\"highlight\"><pre><span></span><span class=\"gp\">&gt; </span>cd\n<span class=\"go\">C:\\Users\\helena\\Desktop</span><span class=\"gp\"></span>\n<span class=\"gp\">&gt; </span>rmdir /S pyladies\n<span class=\"go\">pyladies, Are you sure &lt;Y/N&gt;? Y</span>\n</pre></div></div></div><h2>Shrnut&#xED;</h2>\n<p>Tady je tabulka z&#xE1;kladn&#xED;ch p&#x159;&#xED;kaz&#x16F;, se kter&#xFD;mi si zat&#xED;m vysta&#x10D;&#xED;me:</p>\n<table class=\"table\">\n    <tbody><tr>\n        <th>Unix</th>\n        <th>Windows</th>\n        <th>Popis</th>\n        <th>P&#x159;&#xED;klad</th>\n    </tr>\n    <tr>\n        <td><code>cd</code></td>\n        <td><code>cd</code></td>\n        <td>zm&#x11B;na adres&#xE1;&#x159;e</td>\n        <td><code>cd test</code></td>\n    </tr>\n    <tr>\n        <td><code>pwd</code></td>\n        <td><code>cd</code></td>\n        <td>v&#xFD;pis aktu&#xE1;ln&#xED;ho adres&#xE1;&#x159;e</td>\n        <td><code>pwd</code><br><code>cd</code></td>\n    </tr>\n    <tr>\n        <td><code>ls</code></td>\n        <td><code>dir</code></td>\n        <td>v&#xFD;pis adres&#xE1;&#x159;e</td>\n        <td><code>ls</code><br><code>dir</code></td>\n    </tr>\n    <tr>\n        <td><code>cp</code></td>\n        <td><code>copy</code></td>\n        <td>zkop&#xED;rov&#xE1;n&#xED; souboru</td>\n        <td>\n            <code>cp puvodni.txt kopie.txt</code>\n            <br>\n            <code>copy puvodni.txt kopie.txt</code>\n        </td>\n    </tr>\n    <tr>\n        <td><code>mv</code></td>\n        <td><code>move</code></td>\n        <td>p&#x159;esun/p&#x159;ejmenov&#xE1;n&#xED; souboru</td>\n        <td>\n            <code>mv puvodni.txt novy.txt</code>\n            <br>\n            <code>move puvodni.txt novy.txt</code>\n        </td>\n    </tr>\n    <tr>\n        <td><code>mkdir</code></td>\n        <td><code>mkdir</code></td>\n        <td>vytvo&#x159;en&#xED; adres&#xE1;&#x159;e</td>\n        <td><code>mkdir test</code></td>\n    </tr>\n    <tr>\n        <td><code>rm</code></td>\n        <td><code>del</code></td>\n        <td>smaz&#xE1;n&#xED; souboru</td>\n        <td><code>rm test.txt</code><br><code>del test.txt</code></td>\n    </tr>\n    <tr>\n        <td><code>exit</code></td>\n        <td><code>exit</code></td>\n        <td>ukon&#x10D;en&#xED;</td>\n        <td><code>exit</code></td>\n    </tr>\n</tbody></table><p>P&#x159;&#xED;kaz&#x16F; existuje samoz&#x159;ejm&#x11B; daleko v&#xED;c.\nDokonce ka&#x17E;d&#xFD; program, kter&#xFD; m&#xE1;&#x161; na po&#x10D;&#xED;ta&#x10D;i nainstalovan&#xFD;, jde spustit\nz&#xA0;p&#x159;&#xED;kazov&#xE9; &#x159;&#xE1;dky &#x2013; a to v&#x11B;t&#x161;inou jen zad&#xE1;n&#xED;m jeho jm&#xE9;na.\nZkus, jestli na tv&#xE9;m po&#x10D;&#xED;ta&#x10D;i bude fungovat <code>firefox</code>, <code>notepad</code>, <code>safari</code>\nnebo <code>gedit</code>.\nKdyby nefungoval ani jeden, zeptej se kou&#x10D;e a&#x165; najde n&#x11B;jak&#xFD;, co u tebe fungovat\nbude.</p>\n<p>P&#x159;i u&#x10D;en&#xED; Pythonu pou&#x17E;ije&#x161; programy/p&#x159;&#xED;kazy jako <code>python</code> a <code>git</code>, kter&#xE9;\nzanedlouho nainstalujeme.\n<!--- XXX: this assumes installation is after intro to cmdline --></p>\n<h2>Konec</h2>\n<p>Nakonec vyzkou&#x161;ej je&#x161;t&#x11B; jeden p&#x159;&#xED;kaz.\nTen, kter&#xFD; p&#x159;&#xED;kazovou &#x159;&#xE1;dku zav&#xED;r&#xE1;: <code>exit</code>.</p>\n<p>Jako v&#x11B;t&#x161;ina p&#x159;&#xED;kaz&#x16F; (krom&#x11B; p&#xE1;r z&#xA0;t&#x11B;ch z&#xE1;kladn&#xED;ch) funguje <code>exit</code>\nstejn&#x11B; na v&#x161;ech syst&#xE9;mech.\nProto u&#x17E; nebudu pou&#x17E;&#xED;vat uk&#xE1;zku rozd&#x11B;lenou pro Unix a Windows.</p>\n<div class=\"highlight\"><pre><span></span><span class=\"gp\">$ </span><span class=\"nb\">exit</span>\n</pre></div><p>Ve zbytku t&#x11B;chto materi&#xE1;l&#x16F; budeme pro k&#xF3;d, kter&#xFD; je pot&#x159;eba zadat do\np&#x159;&#xED;kazov&#xE9; &#x159;&#xE1;dky, pou&#x17E;&#xED;vat unixovsk&#xE9; <code>$</code>.\nS touto konvenc&#xED; se setk&#xE1;&#x161; i ve v&#x11B;t&#x161;in&#x11B; n&#xE1;vod&#x16F; na internetu.\nPou&#x17E;&#xED;v&#xE1;&#x161;-li Windows, je dobr&#xE9; si na <code>$</code> zvyknout, i kdy&#x17E; ve sv&#xE9;\n&#x159;&#xE1;dce m&#xE1;&#x161; m&#xED;sto n&#x11B;j <code>&gt;</code>.</p>\n\n\n        "
    }
  }
}