====== Základní příkazy ====== * ''echo [text]'' - vypisuje text (typicky jednořádkový) * ''man [prikaz]'' - zobrazí manuálovou stránku k příkazu/programu/funkci * ''clear'' - vymaže obrazovku ===== Systém souborů ===== * ''ls [-l] [-a]'' - vypíše obsah aktuálního adresáře * ''cd [adresar]'' - změní akutální adresář * ''pwd'' - vypíše adresu aktuálního adresáře (''pwd'' = //print working directory//) * ''mkdir [adresar]'' - vytvoří nový adresář * ''touch [soubor]'' - vytvoří nový (prázdný) soubor * ''cp [-r] [zdrojovýSoubor] [cílový soubor]'' - zkopíruje soubor * ''mv [-r] [zdrojovýSoubor] [cílový soubor]'' - přesune soubor * ''rm [-r] [soubor]'' - smaže soubor ==== Souborová cesta ==== Příkazům které operují se soubory (zde ''cp'', ''mv'' - ale i spousty dalších, například používající soubor jako vstup nebo konfiguraci) se zadává //adresa// souboru, a to buď: === Absolutní === Začíná-li cesta znakem lomítka (/), postupuje se vždy od kořenového adresáře ''/'' a je třeba vypsat celou cestu po stromě souborového systému až k souboru. Například: * /home/uzivatel/Destkop/text.txt * /etc/passwd Výhodou je, že pak vůbec nezáleží na pracovním adresáři (''pwd''), ze kterého soubor odkazujeme. //(pozor na velká/malá písmenka, Linux je na rozdíl od Windows rozlišuje)// === Relativní === Začíná-li cesta jiným znakem než je lomítko, bere se jako absolutní = tedy vychází z pracovního adresáře (''pwd'') kde se při spuštění příkazu nacházíme. Velkou výhodou je, že je takové odkazování nezávislé na změnách //někde po cestě// - například, pracuji-li ve svém pracovním adresáři /home/uzivatel/ a používám ve scriptech relativní cestu, mohu klidně zkopírovat script kamarádovi do /home/kamarad/ a jemu budou běhat stejně. Příklady: * ''soubor.txt'' (//nachází se v pracovním adresáři)// * ''../grafika/obrazek.jpg'' (//o adresář výše se nachází adresář grafika ve kterém je obrázek) * ''./script.sh'' (//při spouštění scriptů je potřeba explicitně uvést že hledáme v tomto adresáři (znak tečky) * ''zvirata/psi/../kocky/./micka.txt'' (pokud existuje adresář ''zvirata/psi'', je adresa totožná s ''zvirata/kocky/micka.txt'') ===== Zobrazení souborů ===== * ''cat'' - zobrazí celý soubor * ''head [-n#]'' - zobrazí začátek souboru * ''tail [-n#]'' - zobrazí konec souboru * ''more'' a ''less'' - interaktivně zobrazují obsah souboru ===== Poznámky ===== * V UNIXu je všechno soubor. Složky jsou soubory typu složka, zařízení jsou soubory (většinou někde v ''/dev/''), atd. * Každá složka kromě kořene obsahuje minimálně dva soubory - ''..'' reprezentuje složku o patro výš, ''.'' reprezentuje tuto složku. * Domovský adresář (absolutně) může být napsán jako ''~'' * Příkazy které spouštíme jsou většinou binárky; dají se dohledat pomocí příkazu ''whereis'' ===== Úkoly ===== * Přesuňte se pomocí ''cd'' ze svého domovského adresáře do /usr/bin a cestou kontrolujte pomocí ''ls'', co tam je. Poté se přesuňte zpět. * Vytvořte složku "test" a v ní soubory "1", "2" a "3". * Vytvořte skript, který bude dělat podobnou věc jako v předcházejícím případě (test2). Skript můžete vytvořit třeba pomocí editoru ''nano'' (pozor, to není všude) a měl by začínat řádkou "#!/bin/sh" * Předchozí skript spusťte ve svém domovském adresáři (ještě je nutné udělat ''chmod +x skript'', spouštíte pomocí ''./skript'') [proč?] * Předchozí skript spusťte v nějakém jiném adresáři. * Ukliďte po sobě - pomocí příkazu ''rm''