Známé věci - nápověda --------------------- man příkaz man je spuštění manuálových stránek systému info ... je spuštění informačního systému Existují i české manuálové stránky, jsou např. dostupné v RedHat Linuxu 6.2. Lze zaškrtnout jejich nainstalování při aktualizaci nebo instalaci systému. Nápověda ke konkrétnímu příkazu, programu, pokud je implementována příkaz -h příkaz --help Práce s disketami ----------------- fdformat - formátování diskety mount /dev/fd0 - připojení zařízení, konkrétně diskety, aby bylo možné z diskety číst umount /dev/fd0 - odpojení zařízení, konkrétně diskety, všechna neuložená data by se z vyrovnávací paměti uložit na disketu, mezi mount a unmount je možné s disketou kopírovat tak, že přejdeme obvykle do adresáře /mnt/floppy cd /mnt/floppy kde by měly být soubory na disketu. Je možné používat kopírování, přejmenování, vytváření souborů, adresářů a jejich mazání apod. Unix má všechny příkazy DOSu, pouze se trochu jinak jmenují. Proti DOSu je Unix složitější. umount je důležité, protože potom můžete mít jistotu, že všechno bude v budoucnosti OK Unix je operační systém, který vyžaduje uložit všechny data než např. bude restartován nebo vypnut. Pokud není restartován dobře, mohou se některé soubory poškodit. Asi nejvíce může systému uškodit neznalý uživatel, který je nalogován jako root a zkrachuje systém. Proto se doporučuje se logovat jako normální uživatel a jako root jen v nejnaléhavějších případech. Pokus při mount /dev/fd0, když je tam disketa DOSu a není nastaven systém DOS. wrong fs type, bad superblock on /dev/fd0 or too many mounted filesystem V Linuxu 6.2 již není třeba psát, že jde např. o disketu MS-DOSu, detekuje ji sám - nemusíme psát parametry za mount, stačí pouze mount /dev/fd0 Formátování 3,5" diskety na 1.44 MB a vytvoření Linux filesystemu: ------------------------------------------------------------------ fdformat /dev/fd0H1440 mkfs -t ext2 /dev/fd0 Pro vytvoření DOSového filesystemu: ----------------------------------- mkdos /dev/fd0 (Předtím je nutné zformátovat disketu, pokud jste tak neučinili. Disketu stačí formátovat jen 1x nebo pouze tehdy, když jsou špatné sektory na disketě.) Možnost otevření více oken -------------------------- Pokud překládáte nebo máte otevřených více textových souborů, zdrojových textů programů, hodí se např. pro kopírování, ladění programů, v jednom okně zdrojový program, v druhém jej překládat a spouštět, abyste nemuseli pokaždé zavírat okno. Přepínání je: Alt + F1 až Alt + F6 - možnost mít otevřených až 6 shellů (platí u RedHat Linuxu 6.2). Možné však je, že se to dá někde nastavit nebo vzít zdrojový text, najít v něm, popř. si to naprogramovat a mít k dispozici více oken. Výhodou je, že v jednom okně můžete pracovat jako normální uživatel, v druhém jako superuživatel root. Správce souborů --------------- Líbi se mi velmi správce souborů Midnight Commander, doporučuji jej nainstalovat. Pokud jej nainstalujete, v balíčkách na RedHat Linuxu 6.2 je mezy Shelly. Po nainstalování se spouští příkazem: mc Linux sám zařídí nastavení cesty, takže se o to nemusíte starat. Podporuje i myš, pokud je řádně nainstalována. Má v sobě prohlížeč a editor. Umožňuje např. spustit přehrávač MP3, pokud jste nainstalovali multimédia při instalaci systému popř. je později doinstalovali. Většina prohlédnutí probíhá pomocí F3 - view, popř. Enter, spuštění, přehrátí, vstup do archivu a prohlednutí jeho obsahu. Nejnovější verze Midnight Commanderu umožní prohlédnout si zazipované textové soubory jmeno.txt.gz tak, že normálně dáte view. Používání myši v textovém režimu -------------------------------- Pokud se v Midnight Commanderu nezobrazuje kurzor myši, zkuste se nalogovat jako root (heslo Vám nepovím, neboť jej zadává ten, kdo Unix instaluje z instalačního CD, popř. disket nebo ze sítě). Spuťte program setup příkazem (nalogování jako root je nutnost, alespoň v Linuxu 6.2, jinak bude setup jako neznámý příkaz): setup ... a potom Mouse configuration Potom se objeví myš a zkuste vybrat nějaký typ, někdy pomůže standartní sériová myš. Pokud myš nefunguje nebo zběsile pobíhá po obrazovce, zkuste zespoda na myši přepnout posouvací přepínač s čísly 2 a 3 do druhé polohy. Linux, Unix má narozdíl od MS Windows výhodu, že změny se většinou k dispozici okamžitě a ne až po restartu, takže v Unixu ušetříte mnoho času, který zabýrá restartování v MS Windows. V programu setup dále spusťte setup ... System services (nastavení služeb systému) najděte, zda je zaškrtnutá služba gpm, pokud není zaškrtnuta, tak ji zaškrtněte Teď bude nutné restartovat systém, protože služby se startují při startu resp. ukončují při ukončování práce systému. Nejlepší a nejcitlivější je způsob přes Control + Alt + Delete, je nutné počkat na uložení všeho a umount všech připojených zařízení, aby se necitlivým restartem neponičili (nepoužívejte mechanické Reset na počítači nebo vypínač počítače, dokud se systém sám nerestartujte, tento násilný způsob používejte jedině tehdy, kdy už to po dobrém s počítačem nejde...). Po stisku Ctrl + Alt + Delete by měl počítač vypisovat, co dělá, jako když nabíhá a až se sám restartuje. Za předpokladu citlivého restartu a počkání by měl naběhnout v pořádku, v případě necitlivého vypnutí systému pravděpodobně najdete nějaké chyby na disku. Multimédia - audio a video -------------------------- rvplayer (přehrávač www.real.com) hlásil chybu "segmentation fault" zcat v30_linuxe.tar.z tar xvf - v30_linuxe.tar.z gunzip -r v50bl_linux20elf.tar.gz tar xvf - v50bl_linux20elf.tar.gz ============================================================================== Prikazy: passwd - zmena hesla C shell ... % Bourne shell ... $ parametry (volby) prikazu (programu) "-" rozlisuje mala a velka pismena prikazy lze psat pouze v promptu shellu prikazy musi byt ukonceny Enter (Return) Napoveda man prikaz ... ziskani napovedy (tzv. manualove stranky) k danemu prikazu pr.: man man ... ziskani napovedy k uzivani programu manualovych strankek pr.: man dir ... ziskani napovedy k prikazu dir, tj. vypis adresare man -k co_hledat ... provadi hledani klicoveho slova, zadaneho jako parametr 1 vseobecne uzivatelske prikazy 2 systemove volani 3 uzivatelske knihovni funkce 4 ovladace zarizeni, protokoly 5 formaty souboru 6 hry (rarely available) 7 pripravy dokumentu 8 sprava (administrace) systemu zobrazeni shrnuti prikazem: man # intro kde mistro # napisete cislici k danemu tematu readme, Readme, README jsou tri ruzne soubory, Unix rozlisuje mala a velka pismena Specialni klavesy a kontrolni znaky ----------------------------------- ^C ... znamena Control + C (CTRL-C) CTRL-U ... smazani cele prikazove radky CTRL-W ... smazani posledniho slova na prikazove radce CTRL-S ... zastavuje pohyblivy vystup na obrazovce CTRL-Q ... obnovi vystup zastaveny CTRL-S CTRL-C ... zastavi prikaz nebo proces (process in progress) a navrati se do prikazove radky. To obvykle pracuje, pokud ne, zkuste napsat nekolikrat ^C v radku. Pokud ani to nefunguje, zkuste napsat ~\,q (pro konec), exit, ^D nebo ^Z (znamena podle predchoziho znaceni CTRL-Z) CTRL-Z ... zastavuje prikaz nebo proces (process in progress) CTRL-D ... generuje znak "konec souboru". To muze byt pouzito k ukonceni vstupu do programu (z klavesnice) nebo ke konci session v shellu CTRL-\ ... ~\ ukoncuje program a ulozi obraz tohoto programu do souboru se jmenem "core" pro dalsi debagovani Setup a status prikazy ---------------------- logout ... ukonceni Vaseho Unix session (odpojeni se od systemu, odlogovani se) passwd ... zmena hesla po zeptani na stare a nove heslo stty ... nastaveni terminalovych voleb date ... zobrazeni nebo nastaveni data finger ... zobrazeni informaci o uzivateli ps ... zobrazeni informaci o procesech env ... zobrazeni nebo zmena aktualnich environment (promenne systemu) set ... prikaz C shellu pro nastaveni promennych shellu alias ... prikaz C shellu pro definovani prikazovych aliasu (abbreviations) history ... prikaz C shellu pro zobrazeni prijatych prikazu Souborove a adresarove prikazy ------------------------------ cat ... spojeni souboru a zobrazeni souboru pr. spojeni: cat soubor1.txt soubor2.txt >vystup.txt pr. zobrazeni: cat soubor.txt more ... paginator - dovoli prochazet skrze textovy soubor less ... more versatile paginator than more mv ... presun nebo prejmenovani souboru prejmenovani, pokud je zadane jine jmeno souboru, pokud je zadany jako cil jiny adresar, soubor se potom presune (jako ren,rename v DOSu) cp ... kopirovani souboru (jako copy v DOSu) rm ... smazani souboru ls ... vypis obsahu adresaru (funguje i dir, ktery je v DOSu) mkdir ... vytvoreni adresare cd ... zmena aktualniho adresare pwd ... vypis aktualniho adresare du ... vypise velikosti podadresaru aktualniho nebo zadaneho (jako parametr) adresare df ... vypise volne mista na pripojenych discich chmod ... zmeni mod (pristupove prava) souboru nebo adresare file ... urcuje typ souboru quota -v ... zobrazi aktualni zaplneni disku pro uzivatelske konto Editovaci nastroje ------------------ pico ... jednoduchy textovy editor vi ... obrazovkovy (viditelny) editor diff ... zobrazi rozdily mezi obsahy dvou souboru grep ... prohledavani souboru pro pattern (retezec) sort ... tridi (sort and collate) radky v souboru (pracuje pouze s jednim souborem soucasne) wc ... pocita radky, slova a znaky v souboru look ... diva se na specificke slova v systemovem slovniku awk ... hledani predlohy (retezce) (pattern scanning) a provadeni jazyku (processing language) gnuemacs ... rozsireny textovy editor Formatovaci prikazy a prikazy pro tisk -------------------------------------- lpq ... zobrazeni do tiskove fronty lpr ... poslani souboru do fronty tiskarny k tisku lprm ... odstraneni ukolu (souboru) z fronty tiskarny (printer spooling queue) enscript ... konvertuje textovy soubor na POSTSCRIPT format pro tisk lprloc ... pozice a jmena tiskaren, prices per page (na stranku) pac info ... aktualni billing informace pro toto konto Rizeni programu, roury (pipes) a filtry --------------------------------------- CTRL-C ... prerusi aktualni proces nebo prikaz CTRL-D ... generuje znak konec souboru CTRL-S ... zastavuje pohyblivy vystup na obrazovku CTRL-Q ... obnovuje pohyblivy vystup na obrazovku CTRL-Z ... zastavuje aktualni proces nebo prikaz jobs ... vypis ukolu (jobs) na pozadi bg ... spousti aktualni nebo specifikovany proces na pozadi (bezi soucasne, nezavisle na tom, co dela uzivatel v konzoli) fg ... dava aktualni nebo specifikovany proces na popredi (bezi normalne) !! ... opakuje posledni prikaz prikazove radky !$ ... opakuje posledni slovo posledniho prikazu prikazove radky sleep ... pozastavuje vykonavani na urcity interval kill cislo ... ukonci proces (ps ... vypis procesu a jejich cisel) kill -9 cislo ... nasilne ukonceni (kdyz nic jineho nepomuze) nice ... snizi prioritu prikazu (procesu) renice ... zvysi prioritu prikazu (procesu), nejde to vzdy, priorita uzivatelskych programu je omezena, neomezene to muze delat pouze root (ale musi vedet, ze se to muze nekdy vymstit) & ... pokud jej napiseme teste za koncem prikazu, tak ten prikaz (proces) spoustime na pozadi, tj. neblokuje nam shell a spusti se jako nezavisly program (proces, vlakno) > ... presmerovani vystupu prikazu do souboru >> ... jako >, ale se soubor neprepisuje, ale pridava se na konec (append) < ... presmerovani vstupu ze souboru >& ... presmerovani standartniho vystupu a vystupu chyb do souboru (pouze v C shellu) | ... roura (pipe) - propojuje vystup jednoho prikazu jako vstup do druheho prikazu Dalsi nastroje a aplikace ------------------------- pine ... spousti program na emaily (cteni, psani, ...),elektronickou postu bc ... stolni pocitacka man ... zobrazi Unixove manualove stranky na obrazovku (samozrejme v pripade presmerovani > do souboru, pr. man dir >dir.txt) elm ... dalsi program pro elektronickou postu Jmeno souboru muze byt dlouhe 256 znaku (u Unixu), obsahujici alfanumericke znaky (mimo "/"). Dalsi inforamce o souborech v unix.pdf na str.15. Vytvoreni souboru: * editorem vi, emacs, ... * cat >soubor.txt (cte znaky (radky) z klavesnice a pro ukonceni stisknete CTRL-D, coz je konec souboru) Zobrazeni souboru: * v editoru * cat soubor.txt (nezadavejte ">", jinak by se soubor nezobrazil, ale sel by vystup do souboru) rolovani textu, zastavovani rolovani CTRL-S a obnoveni vypisu CTRL-Q lepsi vypis je pomoci more: more soubor.txt (dalsi radek stisknutim Enter (Return), "q" zpusobi ukonceni, "?" nebo "h" napovedu) less soubor.txt (umoznuje i pohyb nahoru resp. dolu pomoci klaves se sipkamim, "h" napovedu) Vypis souboru ------------- * funguje "dir" jako v DOSu * vypis je take prikazem "ls" ls -a ... vypise vsechen obsah aktualniho adresare, zahrnujici soubory s pocatecnimi periodami (files with initial periods), ktere nejsou obvykle zobrazovany (zobrazuji se soubory s teckou na zacatku, tzv. skryte) ls -l ... vypise obsah aktualniho adresare ve dlouhem formatu, zahrnujici pristupova prava (permissions), velikost a datum ls -s ... vypise obsah aktualniho adresare s velikosti souboru v kilobytech (kB) * v pripade mnoha souboru v adresari (delsim nez obrazovka), muzete pouzit "more": ls|more ============================================================================== Programování v C v Linuxu 6.2 ----------------------------- (podobně by to mělo fungovat i v ostatních verzích Linuxu popř. Unixu) Problémy: Když např. chcete pracovat se souborem a otevíráme soubor pomocí fopen, je dobré testovat stav, zda se podařilo soubor otevřít. !!! fopen vrací 0 v případě chyby !!! fread používat pouze na úspěšně otevřený soubor, jinak se program ukončí a vznikne core, pokud nemáte nějaký debugger, budete možná hledat chybu, co se nepodařilo !!! fread vrací menší počet načtených položek (bytů), pokud došel na konec souboru f0=fopen(jmeno,"rt"); //r=read, w=write, t=text, b=binary if (f0==0) { //soubor se nepodarilo otevrit printf("Chyba pri otevirani souboru %s.\n",jmeno); } else { //otevreni souboru je uspesne precteno=fread(buffer,1,maxbuf-1,f0); // prace se souborem, zpracovani bufferu fclose(f0); } !!! fclose na zavřený nebo neúspěšně otevřený soubor také ukončí program s vytvořením souboru core * soubor core se samozřejmě vytvoří pouze tehdy, když je v daném aktuálním adresáři přístupová práva pro zápis ---------- Jak naprogramovat (C v Unixu/Linuxu): * grafika (obdoba: initgraf, closegraph, line, ellipse, floodfill zname z DOSu) * čtení 1 znaku z klávesnice bez zobrazení a nutnosti stisknout Enter - obdoba funkcí getch() a kbhit() z C pod DOSem * násilné vypsání bufferu stdout na obrazovku, pokud nepoužijeme odřádkování * barvy na obrazovce, změna pozice kurzoru Klávesy v RedHat Linuxu 6.2 --------------------------- Ctrl+M ... jako Enter (Shell); napsání jména souboru, na kterém je kurzor (MC) Ctrl+O ... jako Ctrl+P (Shell); vypnuti / zapnutí oken (MC) Ctrl+P ... vypsani posledniho prikazu (Shell); kurzor nahoru (MC) usleep(mikrosekund) ... vyčkání tolik mikrosekund sleep - čekání