Table of Contents

1 - Úvodní cvičení

Seznámení s počítačovou učebnou, ownCloud a BRUTE.

Práce v příkazové řádce

Příkazová řádka je uživatelské rozhranní, ve kterém uživatel komunikuje s počítačem podobně jako při psaní programu, tj. píše příkazy, které počítač vykonává tak, jako když programátor píše program (recept), který následně spustí. V případě přímého ovládání počítače a interakce s operačním systémem je využito interaktivního režimu, ve kterém počítač reaguje na každý příkaz, který je v příkazové řádce napsán a odeslán počítači ke zpracování klávesou “Enter”. Data jsou v počítači uložena ve formě souborů, k nímž je přístup uživatelů zprostředkován operačním systémem. Proto základní práce s počítačem spočívá v interakci s operačním systémem a práci se soubory.

Příkazová řádka je přítomna ve všech operačních systémech. Ve Windows je příkazová řádka přístupna pomocí programu cmd.exe, na systémech unixového typu běží příkazová řádka jako tzv. shell dostupný buď přímo v textovém režimu, nebo přes emulátory z grafického rozhranní (na Linuxu Xterm, Gnome terminal, Konsole …, na OS X terminal). Příkazová řádka umožňuje základní ovládání operačního systému (procházení adresářové struktury, práce se soubory, vyhledávání …), poskytuje rozhranní uživatelským programům a hlavně umožňuje řetězit vstupy a výstupy jednotlivých programů.

Velkou výhodou ovládání počítače sekvencí příkazu je opakovatelnost, neboť se vlastně jedná o textový zápis operací podobně jako při psaní programu. Takový zápis lze uložit do souboru a posleze replikovat, nebo vytvořit takzvaný skript, který lze následně opakovaně spouštět a tím vlastně vytvořit nový příkaz.

Typická struktura příkazu

prikaz [přepínače] [parametry]

Příkazy navigace v adresářové struktuře

Příkaz Používané přepínače Význam
ls -l -t vypíše obsah aktuálního pracovního adresáře
cd změní aktuální pracovní adresář
pwd vypíše absolutní adresu aktuálního pracovního adresáře
tree vypíše strukturu aktuálního pracovního adresáře včetně podadresářů formou stromu

Příkazy práce se soubory a adresáři

Příkaz Používané přepínače Význam
mkdir vytvoří adresář zadaného jména
cp -r zkopíruje soubor zadaného jména
mv přesune (přejmenuje) soubor zadaného jména
rm -r -f odstraní soubor zadaného jména
touch vytvoří soubor zadaného jména

Ostatní důležité příkazy

Příkaz Používané přepínače Význam
man vypíše manuálovou stránku zadaného příkazu
find vyhledá soubor zadaného jména v aktuálním adresáři
locate jako find, ale hledá v kompletní adresářové struktuře
cat vypíše obsah souboru jako text
hexdump -C vypíše obsah souboru v hexadecimálním tvaru doplněný o adresy paměti

Úkoly

wget https://cw.fel.cvut.cz/wiki/_media/courses/b0b36prp/labs/setup_gedit.zip

unzip setup_gedit.zip
./setup_gedit.sh

Klíčové nastavení editoru je pro formátování zdrojového kódu. V předmětu PRP je preferováno formátování nástrojem clang-format a nastavením stylu:

 {BasedOnStyle: llvm, IndentWidth: 4, BreakBeforeBraces: Linux}

Formátování zdrojového kódu pak provedete např. následovně:

clang-format -style='{BasedOnStyle: llvm, IndentWidth: 4, BreakBeforeBraces: Linux}' muj_kod.c >formatovany_kod.c

Úvod do programování v jazyce C

// example program in C
#include <stdio.h>
 
int main()
{
    printf("Hello PRP!\n");
    return 0;
}

Překlad programu

Překlad na spustitelný soubor provádíme z příkazové řádky příkazem

clang -Wall -pedantic -std=c99 main.c -o main
případně
gcc -Wall -pedantic -std=c99 main.c -o main

Spuštění programu

Program spouštíme z příkazové řádky příkazem

./main

Úkoly