Warning
This page is located in archive. Go to the latest version of this course pages.

1 - Úvodní cvičení

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

  • pro vyučující: 01

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

  • nastavte si heslo v počítačové učebně (Nastavení hesla) a seznamte se používaným prostředím
  • procvičte si práci v příkazové řádce
    • v adresáři Documents ve svém domovském adresáři si založte složku PRP a v ní podsložku CV01
    • ve složce CV01 vytvořte soubor se jménem cviceni.txt
    • celou složku PRP přesuňte ze složky Documents do domovského adresáře
    • přejmenujte cviceni.txt na main.c

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

  • rozbalte ho a nainstalujte (=spusťte)

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

  • do souboru main.c napište zdrojový kód programu, který vypíše na standardní výstup “Hello PRP!”
  • program zkompilujte a spusťte
  • zdrojový kód zazipujte do archivu main.zip, například pomocí příkazu: zip main.zip main.c
  • vytvořený archiv nahrajte do Upload systému, viz úkol HW00.
courses/b0b36prp/labs/lab01.txt · Last modified: 2020/09/20 14:30 by seredlad