----------------------------------------------- | --------------------------------------------- | ||Poznamky z knihy Linux - dokumentacni projekt|| | --------------------------------------------- | ----------------------------------------------- !!Pouzite symboly: {pro tento textovy dokument}!! ************************************************* Protoze UNIX vyuziva ruzne znaky jako soucast prikazoveho radku, je pouzit v prevazne vetsine symbol * misto symbolu - ktery se pouziva jako soucast parametru. Tedy * slouzi jako odrazka. Priklad definice shellu: Shell - prikazovy interpret... zapisu jako: Shell * prikazovy interpret... Samotny symbol * jako soucast UNIXu slouzi k zastoupeni vsech moznosti (napr vypis vsech souboru ls *) Prikazy v UNIXu jsou psany malymi pismeny - je to CASE SENSITIVE system=ls<>Ls<>LS<>lS!! Pro zvyrazneni prikazu v textu (pokud neni jako definice na zacatku radku) jsem vlozil mezery mezi jednotlive znaky. Takze prikaz fork je zapsan jako f o r k - v UNIXu by samozrejme tento zapis nefungoval. To je snad vse, nasleduje obsah knihy. Vytah, ktery by mel byt dostacujici. ************************************************************************************************ Start pocitace: --------------- BIOS --> LILO --> KERNEL --> INIT --> GETTY -> LOGIN --> BASH | | >----------> XMD -> BIOS vyhleda na pevnem disku halvni zavadeci zaznam - Master Boot Record. Ten obsahuje kod, jehoz ukolem je zavest operacni system. Tento program se jmenuje LILO (LInux LOader). LILO dale preda kontrolu jadru operacniho systemu. Dale Linux zjistuje technicke vybaveni pocitace. Jestli probehne uspesne je spusten program i n i t. init - kontroluje souborovy system, spousti programy pro obsluhu site, nastavuje systemovy cas... Po provedeni techto ukonu se init stava prarodicem vsech dalsich procesu. Novy proces vznika systemovym volanim f o r k - rozvetneni. Tudis program muze bezet nekolikanasobne. g e t t y - typicky nekolikanasobny proces, volanim programu l o g i n umoznuje uzivateli prihlasit se do systemu. CTRL+C * ukonceni procesu CTRL+Z * pozastaveni procesu ALT+F1..F6 * prepinani konzoli, lze pracovat s vice terminaly najednou...nejdrive je nutne se pokazde prihlasit CTRL+ALT+BACKSPACE * ukonceni x-windows fsck * oprava vadnych souboru a konfliktne obsazenych casti disku su * misto login root, lze z prikazove radky zadat tento prikaz a po napsani hesla je nalogovan root shutdown -h now * pripravi pocitac na vypnuti nebo reset yes * vypisuje y (pouziva se pro pro potvrzovani prikazu, misto rucniho vkladani) Prikazovy interpret ------------------- shell * prikazovy interpret, zobrazuje prikazovy radek, prijima a zpracovava prikazy. Pozor - case sensitive! Shelly maji vlastni programovaci jazyk a programy napsane v tomto jazyku = skripty. Existuje spousta interpretu - a s h, b a s h, k s h .... chsh * zmena/vyber interpretu cat * program, vypisuje prectene radky na vystup sort * po ukonceni vkladani vypise serazene radky head * vypisuje prvni radky souboru tail * vypisuje posledni radky souboru man * vyvolani manualovych stranek, strankuje se - pokracovani mezernikem, ukonceni Q man cat man -k ps * vyhleda vsechno tykajici se ps. Ukonceni vstupu = signal EOF - pomocí CTRL+D /hlavne pro filtry jako cat, sort.../ tree * vypise stromovou strukturu adresaru a souboru na disku ls [-aFR] [adresar] * vypise obsah adresare -F * zobrazuje zda se jedna o adresare (lomitko za nazvem) pr. home/ public/ usr/ com znamena, ze home, public a usr jsou adresare, ale com je program... -R * prochazi rekurzivne adresare = vypisuje veskere obsahy vsech podadresaru, -a * vypise vsechny soubory v adresari vcetne tech, jejich jmena zacinaji teckou (tedy urcite i . a .. = tento a nadrazeny adresar) -l soubor * vypisuje skupinu jiz nalezi soubor pwd * vypisuje aktualni adresar cd [adresar] * zmena aktualniho adresare na adresar, pokud neni uveden, prepnese se do keho adresare ~ * zkratka pro domovsky adresar mkdir adresar [adresare] * vytvori adresar(e) rmdir adresar [adresar] * odstrani prazdny adresar(e) cp [-i] soubor cil * kopiruje soubor do souboru cil, pokud je cil jmeno adresare, prekopiruje se soubor do tohoto adresare, ale ponecha si nazev. cp [-i] soubor1..souborN cilovy_adresar * kopiruje soubory do ciloveho adresare rm [-i] soubor1..souborN * smaze soubory - NEVYZADUJE JIZ POTVRZENI, smaze vse co lze. mv [-i] stary novy * presune stary soubor na misto noveho mv [-i] soubor1..souborN adresar * presunu soubory do adresare presunout znamena vytvorit kopii a smazat puvodni soubor -i * pro vsechny prikazy zapina dotaz systemu pred prepsanim existujiciho souboru!!! touch soubory * provadi aktualizaci casovych udaju a nastavi cas vytvoreni soubroru na aktualni cas chmod [-Rvf] mod soubory * meni pristupova prava souboru. Jsou rozliseny tri typi uzivatelu vlastnik, skupina a ostatni. Atributy jsou r-ead, w-rite, e-x-ecute. napr.: chmod u-r soubor * odebere vlastnikovi cist soubor +,- * pridani, odebrani atributu = * presne udeleni prav, vypis prav pro vsechny 3 typy uzivatelu -f * pokusi se zmenit prava, i kdyz uzivatel neni vlastnikem souboru -R * pro vsechny soubory v adresari a podadresarich, prochazi rekurzivne -v * vypisuje vsechny kroky, ktere podnika du [-abs] [cesta] * zobrazuje info o velikosti diskoveho prostoru, ktery je pridelen adresari urcenemu cestou. Samotny prikaz vypisuje seznam, jehoz polozky ukazuji velikost prostoru, ktery zabira kazdy adresar -a * vypisuje info o souborech i adresaricj -b * velikost se neuvadi v kB, ale v bajtech -s * vypisuje info jen o uvedenych adresarich a ne o jejich podadresarich df * sumarizuje mnozstvi pouziteho diskoveho prostoru uptime * vypisuje celkovy cas od posledniho zavedeni operacniho systemu who * zobrazi seznam prihlasenych uzivatelu am i * zobrazi info o aktualnim uzivateli w[-f] [uzivatelske jmeno] * zobrazi seznam prihlasenych uzivatelu a o jejich cinnosti -f * nezobrazi vzdaleny pristup - kolonku from cat [-nA] [soubory] * vypisuje obsah souboru na vystup, casto pouzit s rourami -n * ocisluje vystupni radky -A * zobrazi ridici znaky jako normalni a ne jako "paznaky" more [-l] [+linenumber] [soubory] * zobrazovani souboru ve formatu ASCII -l * CTRL+L se nebude interpretovat jako nova stranka ovladani:mezernik - nova stranka d - posun o 11 radku (asi pul stranky) / - hledani regularniho vyrazu, pouze / hleda posledne zadany retezec n - zada posledne zadany regularni vyraz : n - pokud bylo uvedeno vice souboru, zahaji se prohlizeni dalsiho : p - presun na predchozi soubor q - konec prohlizeni head [-lines] [soubory] * zobrazi prvnich 10 nebo lines radku souboru, nebo standartniho vstupu tail [-lines] [soubory] * zobrazi poslednich 10 nebo lines radku souboru ci stand. vstupu file [soubory] * snazi se odhadnout o jaky typ souboru se jedna (dle obsahu...) grep [-nvwx] [-number] expression [files] * vyhledava radky obsahujici regularni vyraz (expression) v textu/souborech -n * napise cislo radku na nemz se vyraz nachazi -w * vyhleda pouze uplna slova nikoliv podle casti -x * pracuje pouze s radky -v * zobrazi vsechny NEVYHOVUJICI radky wc [-wcl] [files] * pocita slova, znaky, radky v textu/v souborech, bez parametru spocita vse a bez souboru pracuje se standardnim vstupem -w * slova -c * znaky -l * radky spell [soubory] * kontrola pravopisu v ASCII souborech, vypisuje nespravna slova, pracuje s anglictinou ispell * vylepseny filtr, lze opravovat spatna slova cmp soubor1 [soubor2] * zjistuje kde se soubory lisi, nebo soubor1 a stand. vstup diff soubor1 soubor 2 * porovnava soubory a zobrazuje odlisnosti * vylepseny cmp, hodne voleb, viz man gzip [-v#] [sobory] * komprimuje soubory a nahrazuje je mensimi s priponou .gz gunzip [-v] [soubory] * dekomprimuje soubory typu .gz zcat[soubory] * = gunzip -c tr retez1 retez2 * nahrazuje vyskyty retez1 retezem2, neakceptuje soubory jako parametry pr.: tr [:lower:] [:upper:] text ----> TEXT System X-windows ---------------- startx, xinit * spusteni X-windows fvwm, twm * spravce oken xterm * terminal xclock [-analog] [-digital] [-update poc.sekund] [-hands barva] * hodiny -update * po kolika sekundach se ma aktualizovat vterinovka geometrie okna - hsizexvsize+hplace+vplace (rozmery vyskaxsirka + posunuti od okraju obrazovky) display - machine:server-number.screen-number * jmeno PC na nemz bezi server, cislo serveru a cislo obrazovky nastaveno v promenne $DISPLAY vlastnosti oken: -geometry -display -fg * barva popredi -bg * barva pozadi pr.: xterm -fg green -geometry 40x30-20-40 * spusti okno xterm se zelenou barvou popredi umistene v prave dolni casti obrazovky o rozmerech 40*30 Prace s OS UNIX ---------------- bash ---- Pseudoznaky: * - nahradi hvezdicku libovolnymi znaky ? - nahradi prave jednim znakem TAB * stistknutim teto klavesy se shell pokusi doplnit nazev souboru... > * presmerovani vystupu. cat soubor > novy - zkopiruje soubor do noveho a nebude vypisovat na obrazovku < * presmerovani vstupu. cat < soubor - vypise na obrazovku obsah souboru | * roura řídí tok dat, cat soubor | more - vystup cat je priveden na standartni vstup programu more, ten zajistuje zastaveni vypisu po naplneni stranky. Rizeni uloh ----------- Ulohy mohou probihat na popredi nebo na pozadi Spustime prikaz y e s , ktery pozastavime stiskem CTRL+Z. Prikaz nyni neprovadi vystup, je pozastavena. Vratime se k nemu pomoci prikazu fg [%id]* prepina prikaz na popredi po zastaveni je vypsano: [1]+stopped yes , kde 1 = id procesu, + = posledni pozastaveny prikaz, tedy pouzitim fg se spusti na popredi prave tento kill %id PID * ukonceni procesu, bud pouzijeme cislo ulohy nebo PID jobs * vypise vsechny soucasne procesy /dev/null * soubor, slouzici jako cerna dira, lze vlozit nekonecne dat, aniz by se plnil disk yes > /dev/null * vypisovani y neni videt ale uloha bezi v popredi = nelze psat prikazy pozastavime ulohu a spustime ji na pozadi pomoci bg [%id] * prepina ulohy na pozadi = lze spoustet dalsi procesy, budou jen zpomaleny spoustet na pozadi lze pomoci "prikaz &" napr. yes > /dev/null & ps [-a -u -x] * zobrazi seznam vsech procesu -a * zobrazi vsechny procesy, i ktere spustili jini uzivatele -x * zobrazi procesy, ktere nejsou spjaty s terminalem -u * zobrazi i dalsi uzitecne iformace PID * jednoznacna identifikace procesu, kazdy proces ma sve cislo, lze zjistit pomoci p s Editor Emacs ------------ emacs soubor * spusti editaci souboru (zalezi na nastaveni) OVLADANI: CTRL+F * pohyb kurzoru o znak doprava CTRL+B * doleva CTRL+N * o radek nahoru CTRL+P * o radek dolu CTRL+A * kurzor na zacatek radku CTRL+E * na konec radku CTRL+V * zobrazeni nasledujici stranky CTRL+L * zobrazeni stranky s aktualnim radkem uprostred CTRL+D * zruseni znaku CTRL+K * zruseni textu od pozice kurzoru do konce radku CTRL+X CTRL+S * ulozeni obsahu bufferu do souboru (ulozeni zmen) BACKSPACE * zruseni znaku vlevo CTRL+x CTRL+C * ukonceni editoru CTRL+Z * pozastaveni = na pozadi (do ikony v X-windows) META+F, META+B * skoky o cela slova META+E, META+A * posun o vetu, pokud jsou za teckou dve mezery VICE SOUBORU: CTRL+x CTRL+F * pridani noveho souboru do bufferu, pozaduje zadat jmeno CTRL+X B * prepinani mezi sobory CTRL+X K * ukonceni bufferu Klavesa META = ALT u IBM klavesnice, nebo ESC (nedrzi se stisknuti, ale jako postupna kombinace ESC, X ...) META+X * zobrazuje napovedu CTRL+G * zpet do bufferu PRACE S BLOKY TEXTU: CTRL+SPACE / CTRL+@ * oznaceni zacatku bloku Blok = region = oblast mezi zacatkem bloku a aktualni pozici kurzoru, nezvyraznuje se META+W * zkopirovani bloku do kill-ringu (spec. buffer) CTRL+W * vyjmuti bloku CTRL+K * vyjmuti do konce radku CTRL+Y * vlozeni bloku do textu na pozicu kursoru VYHLEDAVANI A NAHRADA RETEZCU CTRL+S * vyhledavaci mod, zadavaji se znaky hledaneho retezce a kurzor se premistuje nad odpovidajici text smerem dopredu (vpravo a dole) po nalezeni nebo pro ukonceni vkladani - ENTER CTRL+R * pro hledani opacnym smerem - retezec je pred aktualni pozici kurzoru META+X * po vlozeni "query-replace" je prepnuto do modu nahrazovani retezce editor zobrazi vyzvu k vlozeni hledaneho retezce a pak pro vlozeni noveho retezce Postupne prochazi text a pri kazdem vyskytu hledaneho retezce si vyzada potvrzeni pro prepsani (Y/N) META+X * umoznuje vyvolani vnitrni funkce pomoci jejiho nazvu CTRL+P = META+X previous-line ENTER CTRL+V = META+v scroll-up ENTER CTRL+Q * umožní vkládat řídící znaky (CTRL+Q CTRL+Q vloží znak CTRL+Q) META+X auto-fill-mode * přepíná mód automatického doplňování konce řádků NAPOVEDA EMACSu CTRL+H PISMENO * vyvola napovedu k danemu tematu CTRL+H K * napoveda ke klicum CTRL+H CTRL+H CTRL+H * napoveda o napovede!!! CTRL+H T * vyukovy program o emasc CTRL+H W nazev funkce * zjisti klic k funkci (where is) CTRL+H F * podrobne info o funkci CTRL+H I * zobrazi hypertextovou dokumentaci k pouzivani Emacs CTRL+H A * vyvola command-apropos - zobrazi vsechny funkce obsahujici dany retezec PRACOVNI MODY Editor pracuje v ruznych modech podle cinnosti. Mody se lisi funkcemi, klici... -name * obecny tvar pro nazev vsech modu fundamental-mode * zakladni mod bez specialnich funkci CTRL+X B * vyvoloani funkce switch-to-buffer, dále se zadá jméno bufferu, do nehoz se ma editor prepnout (napr. foo) Pokud buffer neexistuje, editor jej vytvori a implicitne nastavi do rezimu fundamental-mode. META+X * pomoci jmena modu lze explicitne nastavit mod bufferu CTRL+H M * zobrazi informace o aktualnim modu!!! text-mode * textovy mod, ma specialni prikazy SHIFT+S * center-paragraph SHIFT+S * center-line ?? PROGRAMOVACI MODY c-mode * mod pro jazyk C, provadi odsazovani podle kontextu pomoci TAB (c-indent-command) cmuscheme * mod pro jazyk scheme META+X runn-scheme * vytvori buffer *scheme*, ktery obsahuje obvykly prikazovy radek jazyka Scheme, kde lze vkladat radky prikazu ukoncene ENTERem scheme-mode * spusti se pokud zavedeme soubor s priponou .ss, .scm (tj. chceme editovat soubor) (pokud nenabehne sam, tak META+X scheme-mode) * neni spojen primo s bufferem, kde bezi *scheme* * CTRL+C CTRL+E * odesle definovanou funkci do bufferu * CTRL+C META+E * po odeslani se prepne do bufferu a lze vkladat interaktivni prikazy * CTRL+C CTRL+L * slouží k zavedení souboru s kodem jazyka Scheme * TAB * odsazování řádků * META+P, META+N * Scrollovani prikazu v historii (Predchozich...) CTRL+X M * mail buffer * mod pro elektronickou postu * po vyplneni polozek TO: a SUBJECT: se preneseme do pole zpravy pomoci CTRL+N * CTRL+C CTRL+C * odeslani zpravy ZVYSENI EFEKTIVITY META+Q * fill-paragraph * automaticke ukoncovani radku CTRL+X+U * pokusi se vratit posledni zmeny KONFIGURACE EDITORU lisp-interaction-mode * spjat s bufferem *scratch* slouzi pro vyhodnocovani jazyka Lisp, pokud buffer neni nalezen, staci vytvorit novy s jakymkoli jmenen a META+X lisp-interaction-mode dále:load-path CTRL+J * eval-print-last-sexp * vyvážená skupina závorek (global-set-key "\CTRL+char" 'goto-line') * parametry klic a funkce ktera se ma provest po stisku Zjisteni jmena funkce, nebo vlastnosti funkce: CTRL+H F * zobrazuje napovedu k funkcim (describe-function) Vyuzijeme TAB k doplnovani jmen * pokud ho stiskneme po prazdnem znaku, vypise jmena vsech dostupnych funkci CTRL+G * prerusi describe-function Prepneme se do bufferu *completions*, ktery obsahuje jmena vsech internich funkci editoru. Vyhledame si funkci napr. goto-line podle reterce "line" Nebo CTRL+H A * command-apropos * zobrazi funkce obsahujici dany retezec dále lze doplnit hodnoty promennych v konfiguracnim souboru .emasc (setq inhibit-startup-message t) * setq - vyraz pro nastaveni promenne * inhibit-startup-message - podle hodnoty teto promenne se rozhoduje zobrazovani informaci t - nastavuje true, nil - false ;; * komentar KONFIGURACE OPERACNIHO SYSTEMU UNIX ------------------------------------ Kazdy uzivatel si nastavuje pracovni prostredi pomoci konfiguracnich souboru, obvykle zacinajicich teckou. bash * prikazovy procesor * interaktivni, spusten po prihlaseni * inicializacni soubor .bash_profile * interaktivni * .bashrc * neinteraktivni * skript prikazoveho procesoru Pro nastaveni stejneho uzivatelskeho rozhrani, vlozime do .bash_profile prikaz source ~/.bashrc * source interpretuje argument jako skript. Po prihlaseni se tedy spusti skript .bashrc Nyni budeme editovat soubor .bashrc alias ll="ls -l" * vytvori alias=vlozime-li do procesoru prikaz ll, bude nahrazen prikazem uvedenym vpravo, tedy ls -l. Prava cast se uzavira do uvozovek (neni nutne pokud jde o jednoslovny vyraz). Pri vkladani specialnich znaku (i ") musi znak predchazet \ napr. /"text # * oznacuje radkovy komentar SYSTEMOVE PROMENNE obvykle velkymi pismeny Prostredi programu lze menit pomoci export PGPATH=/home/xx * kde PGPATH je jmeno nejake systemove promenne echo $PGPATH * zjisteni obsahu promenne PGPATH env * zobrazi vsechny systemove promenne HOME * promenna, obsahuje jmeno domovskeho adresare TERM * typ terminalu (obvykle console - emulace vt100) SHELL * cesta k prikazovemu procesoru USER * jmeno uctu PATH * cesta, kde se automaticky vyhledavaji programy ke spusteni obsahuje seznam adresaru oddelenych dvojteckou (obsah napr.: env | grep ^PATH ) nastaveni v souboru .bashrc: export PATH=${PATH}:.:${HOME}/bin:/bin:/usr/local/bin * {} * nahrazuji uvozovky a znaci, k cemu se vztahuje vyhodnoceni pomoci $ * vyhodnoti se jen PATH a potom HOME, /bin je jiz prikaz * napr echo ${home}foo vypise treba larryfoo (dle domovskeho adresare) ale $HOMEfoo nevypise nic, neexistuje adresar HOMEfoo PS1 * nastaveni tvaru prikazove radky napr. export PS1='\h \w>' * pocitac relat.cesta> export PS1='$PWD#' * pracovni adresar# PWD * print working directory * jmeno pracovniho adresare X-WINDOWS .xinitrc * spisten ve fazi startovani .twmrc * cte spravce oken twm .fvwmrc * cte spravce oken fvwm OSTATNI .emacs * konfigurace editoru .netrc * obsahuje implicitni jmena a hesla pro ftp .rhosts * zpristupnuje ucet ke vzdalenym systemum .forward * inicializacni soubor pro presmerovani elektronicke posty * obsahuje e-mailovou adresu, kam je presmerovana prichozi posta FTP .netrc * implicitní nastavení pro ftp priklad radku souboru .netrc machine floss.life.uiuc.edu login larry password fishSticks machine darwin.life.uiuc.edu login larry password fishSticks Kazdy radek specifikuje jmeno pocitace, prihlasovaci jmeno a heslo, ktere se ma implicitne pouzit. Pokud tyto radky nejsou uvedeny v souboru, musi se pri kazdem prihlaseni zadavat rucne. ftp -n * nechceme-li pouzit implicitni nastaveni ze souboru .netrc pozor na nastavení prav, kvuli zabezpeceni hesel!!! viz. chmod SNADNY VZDALENY PRISTUP .rhosts * pokud se tento soubor nachazi v domovskem adresari, pak lze ze vzdalenych pocitacu spoustet programy na tomto pocitaci format: jmeno_pocitace jmeno_uzivatele ukazka souboru: frobnozz.cs.knowledge.edu jsmith aphrodite.classics.havhaahd.edu wphilps frobbo.hoola.com trixie rsh * program pro vzdaleny pristup -l * zadani jineho jmena pro vzdaleny pristup nez je aktualni prihlaseni ssh * bezpecny vzdaleny pristup frobbo$ rsh -l larry floss.life.uiuc.edu "ls ~" - ukazka pouziti. Z pocitace frobbo vypisujeme obsah domovskeho adresare na pocitaci floss a loginem larry, pokud uzivatel larry ma na floss svuj soubor .rhosts KOMUNIKACE S OSTATNIMI SYSTEMY ------------------------------ komunikace pocitacu v siti. ELEKTRONICKA POSTA mail username zprava * zaslani elektronicke posty uzivateli * cte text po radcich, ukonceni zpravy je CTRL+D /home/larry# mail sam Subject: The user documentation Just testin out the mail system. EOT #stisknuto ctrl+d mail sam < report1 * odeslani souboru sort report1 | mail sam mail * bez parametru umoznuje cteni posty * prikazovy radek uvnitr programu mail je uvozen znamkem & Prikazy: * t message-list * na obrazovce se zobrazi zpravy uvedené v seznamu message-list * d message-list * zprávy uvedene v seznamu message-list se zrusi * s message-list file * zprávy uvedene v seznamu message-list se ulozi do souboru file * r message-list * odpoved nove zpravy, ktere budou odeslany kazdemu, kdo odeslal zprávu uvedenou message-list * q * program mail se ukonci a ulozi kazdou zpravu, která nebyla zrusena prikazem d do souboru mbox kde message-list je seznam cisel oddelenych mezerami 1 3 4, nebo interval 1-5, nebo nazev odesilatele... pine, elm * zpracovani posty VYHLEDANI UZIVATELU SITE finger [-slpm] [user][@machine] * zisk informaci o uzivatelich systemu nebo site internet -s * strucny vypis -p * nezobrazi vypisy ze souboru .forward, .plan, .project -m a info jen o uzivateli * zobrazi jen login .plan, .project * soubory v domovskem adresari, lze je upravovat, zpracovava je program finger * potreba mit povolena prava chmod a+r ~/.plan ~/.project chmod a+x ~/ POUZIVANI SYSTEMU VZDALENYMI POCITACI telnet vzdaleny_system * pripojeni * ukonceni C-], quit xterm -title "lionsden" -e telnet lionsden & * v xwindows otevre vzdaleny pristup v novem okne PRENOS SOUBORU ftp vzdaleny_system * pripojeni pro prenos souboru prikazy: ls * vypis adresaru a souboru get * prenos souboru ze vzdaleneho systemu na lokalni (pracuje s domovskym adresarem) put * prenos z domovkeho do vzdaleneho cd * prepinani adresaru ve vzdalenem systemu bye * ukonceni ftp binary * pro prenos binarniho souboru, jinak predpokladan textovy a muze dojit k poskozeni!!! WWW netscape [url] mozilla lynx [url] * Q * ukonceni programu ZABAVNE PRIKAZY --------------- find cesta [...] vyraz [...] * prikaz pro rekurzivni praci se soubory, vyhledavani * mimo GNU lze zadat jen jednu cestu! * cesta - odkud ma zacit vyhledavani * vyraz - typ vyhledavani * find .-name foobar * find vraci pouze 0, nebo zaporne cislo, pokud nastala chyba pri vyhledavani find VOLBY -follow * prochazi symbolicke odkazy -daystart * meri dobu, ktera uplynula od posledni pulnoci -depth * zpracovani vsech podadresaru pred samotnym adresarem /vhodne pro rm -F/ -no leaf * vypina optimalizaci, ktera indikuje ze adresar obsahuje o dva podadresare mene nez by mel obsahovat -maxdepth levels, -mindepth levels * uroven prohledavani, levels je nezaporne cislo * -maxdepth 0 * zpracuji se jen argumenty na prikazovem radku, bez pruchody podadresari * -mindepth 0 * zakazuje zpracovani argumentu v prikazovem radku, ale ostatni soubory v podadresari zpracuje -version * verze programu find -xdev * informace o tom, ze dane zarizeni se nema prohledavat find TESTY -true -false * vraci hodnotu false -nouser/-nogroup * vraci true pokud soubor nema vlastnika nebo skupinu v souboru /etc/group -uid nn -gid nn * vyhledani souboru podle cisla. lze pouzit +nn a -nn jako ostra nerovnost -gid +100 * cislo skupiny > 100 -type c/d/p/l/f/s * true, pokud je soubor typu text, adresar, pojmenovana roura, symbolicky odkaz, obyc. soubor, soket -type d -xtype * pokud neni zadana volba -follow, pak misto symb. odkazu proveruje soubor na nejz je odkazovano -inum nn, -link nn * zda je cislo i-uzlu nn prislsne danemu souboru, nebo zda ma soubor nn symbolickych odkazu -size nn[b/k] * true, pokud je velikost soboru rovna nn bloku po 512bytech. b/k zapina mereni velikosti primo v bytech nebo kB -perm mode * test bitoveho nastaveni prav -name vzor * true pokud jmeno souboru odpovida vzoru /pr.: -name "foo*" -path vzor find AKCE -print * tiskne jmena souboru, ktere jsou zpracovavany, pokud je vyhodnoceni true -exec command \; * spusti zadany prikaz, ukonceni prikazu \; * jmeno aktualniho souboru v prikazu command je uveden ve slozenych zavorkach {} -ok command \; * jako exec, ale pro kazdy vybrany soubor vyzaduje potvzreni operace find OPERATORY \( expr \) * zavorky meni prioritu operace, musi je predchazet znak \ ! expr -not expr * meni pravdivostni hodnotu vyrazu expr1 expr2 expr1 -a expr2 expr1 -and expr2 * logicka operace AND expr1 -o expr2 expr1 -or expr2 * logicka operace OR expr1 , expr2 * vyhodnoti se oba vyrazy a hodnota se nastavi na hodnotu expr2 PRIKLADY VYHLEDAVANI find .-name foo\* -print * vyhleda vsechny retezce zacinajici na foo * pokud ma byt foo uvnitr retezce pak pouzijeme *foo* find /usr/include/ -xtype f -exec grep foobar \/dev/null {}\; * rekurzivne se provadi prikaz grep od adresare /usr/include, hledame obycejne soubory a symbolicke odkazy * /dev/null {}\; zajisti vypsani jmena souboru, pro nejz nebylo splneno vyberove kriterium find / -atime +1 -fstype ext2 -name core \ -exec rm {}\; * zrusi ze souboroveho systemu ext2 vsechny sobory, ktere nebyly v poslednich 24 hodinach zpristupneny find /home -xdev -size +500k -ls > piggies * hleda, kdo vlastni soubory vetsi nez 500kB * pokud jde o jeden soub. system, nemusi se uvadet argument -xdev Chceme zrusit soubory koncici na .bak, zmenit pristupova prava vsech adresaru na 771 a souboru koncicich na .sh na 755, pripojit souborovy system NFS na telefonni linku a v tomto systemu zadne soubory nekontrolovat. Lze to vyresit jednim prikazem: find .\( -fstype nfs -prune \) -o \ \( -type d -a -exec chmod 771 {}\; \) -o \ \( -name "*.BAK" -a -exec /bin/rm {}\; \) -o \ \( -name "*.sh" -a -exec chmod 755 {}\; \) ARCHIVACNI PROGRAM tar obecne pouzitelny program pro archivaci souboru. Slouceni mnoha souboru do jednoho. tar functionoptions files... * function je jednoznakova indikace funkce, ktera se ma provest * options seznam voleb pro funnkci * files seznam souboru pro pakovani * FUNCTION A OPTIONS NEJSOU ODDELENY MEZEROU FUNKCE c * vytvoreni noveho archivniho souboru x * extrace souboru z archivu t * vypis obsahu archivniho souboru r * pridani souboru na konec archivniho souboru u * aktualizace souboru novejsich nez jsou v archivnim souboru d * porovnani souboru v archivnim souboru se soubory v souborovem systemu OPTIONS v * tisk podrobne informace o prubehu pakovani k * zachovani existujicich souboru pri rozbaleni - nebude prepsan existujici soubor f filename * specifikace jmena archivniho souboru PRIKLAD tar cf mt.tar mt * zabaleni adresare mt do souboru mt.tar tar xvf mt.tar * rozbaleni archivu - vytvoří adresar mt a umístí do nej vsechny soubory. * rozbalení zachovává relativní strukturu adresaru tar cvf mt.tar * - zabali obsah aktualniho adresare ovsem bez struktury a po rozbaleni se ulozi do pracovniho adresare - nikoliv jako vyse!!! tar tvf tarfile * prohlizeni obsahu archivu tarfile, bez rozpakovani TAR + GZIP Program t a r neprovadi pri ukladani dat zadnou kompresi. Proto se pouziva casto v kombinaci s programem g z i p a nebo starsim c o m p r e s s Komprimovany soubor tak lze vyvorit: tar cvf tarfile files... gzip -9 tarfile * ponekud tezkopadna konstrukce, vyzadujici misto pro tar archiv a pak teprve pro komrimace Efektivnejsi je vyuziti moznosti zapisovat na standardni vystup. Pokud misto jmena archivu pouzijeme v programu t a r pomlcku - , pak cte data ze st. vstupu nebo zapisuje na st. vystup. tar cvf – files... | gzip -9 > tarfile.tar.gz gunzip -9c tarfile.tar.gz | tar xvf - * rozpakovani - gunzip provede dekomprimaci a vysledek zapisuje na st. vystup, ktery je vstupem pro tar, jez soubory rozpakuje a uklada. volba z u tar * umoznuje automaticke vytvareni nebo rozpakovani komprimovanzch archivnich souboru tar. funguje jen pro GNU tar cvzf tarfile.tar.gz files... tar xvzf tarfile.tar.gz Ukazka skriptu v bash: do souboru .bashrc vlozit: tarc () {tar czvf $1.tar.gz $1 } tarx () {tar xzvf $1 } tart () {tar tzvf $1 } pak staci jenom zadat tarc directory * vytvori directory.tar.gz tart file.tar.gz * zobrazi obsah archivu tarx file.tar.gz * rozbali archiv Triky při používání programu tar Pro presun cele stromove struktury i mezi systemi lze pouzit: cd from-stuff tar cf – .| (cd ../to-stuff; tar xvf -) Začínáme v adresáři from-stuff, kde vytvoříme soubor tar obsahující celý adresář, a zapíšeme jej do standardního výstupu. Tento výstup pak čte podřízený příkazový procesor (příkazy uvedené v závorkách), který se nejdříve přepne do adresáře ../tostuff a pak spustí příkaz tar xvf, jenž čte ze standardního vstupu. Přitom se žádný archivní soubor tar neukládá na disk – data jsou přímo posílána z jednoho procesu tar do druhého. Druhý proces tar používá volbu v pro zobrazení informací o každém souboru, který se ukládá, a vy můžete kontrolovat, zda kopírování obsahu adresářů probíhá správně. PROGRAM dd - filtr, cte data ze st. vstupu a zapisuje na st. vystup Syntaxe: dd [if=file] [of=file] [ibs=bytes] [obs=bytes] [bs=bytes] [cbs=bytes] [skip=blocks] [seek=blocks] [count=blocks] [conv={ascii, ebcdic, ibm, block, unblock, lcase, ucase, swab, noerror, notrunc, sync}] * vsechny volby maji option-value. Pred a za znakem - se nesmi objevit mezera!!! pro ciselne hodnoty lze pouzit multiplikativni konstanty: b - bloky (512), k - kilobajty (1024), w - slova (2), xm - číselná hodnota x se násobí konstantou m VOLBY if=filein a of=fileout * specifikace vstupniho a vystupniho souboru. Vystupni soubor je zkracen na velikost danou volbou seek ibs=nn a obs=nn * pocet bajtu ctenych a zapisovanych najednou. Dulezite spravne nastaveni pro ruzna zarizeni, jinak prodluzuje dobu programu. sit - 10kB, disketa - 18kB... bs=nn * predefinuje nastaveni ibs a obs na stejnou hodnotu cbs=nn * nastaveni vyrovnavaci pameti pro konverzi na nn bajtu skip=nbl a seek=nbl * kolik bloku se ma preskocit pri cteni a zapisu count=nbl * kolik bloku se ma zkopirovat ze vstupu. conv=conversion,[conversion,...] * konverze podle specifikace. Mozne konverze: ascii - EBDIC na ASCII ebcdic, ibm - ASCII na EBDIC block - vyplnuje mezerami zaznami ukoncene znakem newline na delku uvedenou volbou cbs unblock - opacna konverze k block lcase - na mala pismena ucase - na velka pismena swab - kazdy par vstupnicj bytu se zameni noerror - program dd pokracuje i po chybe sync - kazdy vstupni blok se doplni znaky NULL aby mel delku podle ibs Priklady: dd if=disk.img of=/dev/fd0 obs=18k count=80 * zapis dat na disketu rsh beta 'dd if=/dev/rst0 ibs=8k obs=20k' | tar xvBf - * zalohovani dat po siti z magn. pasky na pocitaci beta do pocitace alfa CHYBY, SKRYTE ZAHADY A DALSI NEPRIJEMNOSTI ------------------------------------------ BUG - stenice = skryta chyba, o niz autori nevedi Pokud narazite na nejaky bug, a jste si jisti ze se jedna o chybu, je treba ji ohlasit autrovi nejlepe prostrednictvim elektronicke posty. Sledovat diskuzni skupiny: comp.os.linux.help nebo comp.unix.misc Popsat: Co ma program delat a co dela vsechna nastaveni systemovych prostredi verze jadra: /proc/version cerze systemovych knihove: /lib jak byl program spusten a co jste delali kdyz k chybe doslo vsechny okolnosti, za kterych doslo k chybe TECHNICKE INFORMACE ------------------- EDITOR vi [vi aj] ================= HISTORIE Prvni textove editory zpracovavali textove soubory po radcich. Napr. Ed - vykonny, pouziva minimum zdroju pocitace. vi ale umoznuje vizualni alternativu s sirsi mnouzinou prikazu Editor vi se startuje stejne jako radkovy editor ex, coz je vlaste vi ve spec. modu. Editor vi/ex byl vyvyinut na univerzite California v Berkeley, Williamem Joyem. Oficialne byl zahrnut v poeracnim sytemu System 5 Unix od AT&T. Nyni je velmi rozsireny a obsahuje mnovo verzi pro ruzne systemy... PRIKAZY EDITORU Ed Editor umi editovat jen jeden souboru v danem okamziku. Pracuje ve dvou modech - prikazovy a textovy. Po spusteni je zapnuty prikazovy rezim. VYTVORENI SOUBORU Pro vkladani textu se vlozi prikaz: a Ukonceni vkladani je prikazem .(teckou) na prvnim sloupci noveho radku. Ulozeni souboru: w soubor.txt Ukonceni editoru: q ***Priklad:*** /home/larry# ed a This is my first text file using Ed. This is really fun. . w firstone.txt q /home/larry# /home/larry# cat firstone.txt This is my first text file using Ed. This is really fun. ***Konec prikladu*** EDITACE SOUBORU ed filename * otevre v editoru dany soubor. ***Priklad*** /home/larry# ed firstone.txt a This is a new line of text. . w q ***Konec prikladu*** Editor vlozi radek mezi puvodni dva. Uchovava si info o aktualnim radku a vklada za nej. Umi ale vkladat i pred radek prikazem: i Vsechny prikazy lze specifikovat na urcity radek. Pro zapis na konec souboru se pouzije prikaz: $a Pro praci s konkretnim radkem se pouzije cisel. Pro vypis aktualniho radku se pouzije prikaz p. ***Priklad*** zmena aktualniho radku na hodnotu 2 /home/larry# ed firstone.txt 2p q ***Konec prikladu*** Shrnuti PRIKAZU: a * vlozeni textu . * ukonceni vkladani textu w soubor* ulozeni obsahu do souboru q * ukonceni editoru $ * posledni radek p * vypis aktualniho radku 2p * vypise obsah 2.radku $p * vypise obsah posledniho radku .p * .misto cisla akt. radku. Vypis akt. radku 1,3p * vypise radky 1-3 1,.p * vypise radky 1-aktualni .,$p * vypise radky od aktualniho do konce souboru d * rusi text radku 1,2d * zrusi prvni dva radky souboru 1,$d * smaze cely text K ovladani: CTRL+H * posun a smazani jednoho znaku vlevo (nefunguje Backspace) EDITOR vi Spousteni: vi filename.txt Prikazovy mod: vlevo obrazovky je sloupec znaku: ~ pro vkladani textu: i - vlozeni textu vlevo od kurzoru a - vlozeni textu vpravo od kurzoru esc - ukonceni text.rezimu, prechod do prikazoveho modu Pohyb kurzoru h * doleva l * doprava k * o radek nahoru j * o radek dolu Ruseni textu x * ruseni znaku na pozici kurzoru dd * ruseni radku Ulozeni souboru :w * ulozeni souboru na disk :q * ukonceni edidoru vi :wq * ulozeni souboru a ukonceni editoru ZZ * (velke ZZ) totez jako :wq, ale neuklada soubor, pokud nedoslo ke zmene :q! * ukonceni nez ulozeni zmen Pokrocilejsi techniky prace s vi Zmena polohy kurzoru h * doleva j * dolu k * nahoru l * doprava w * na zacatek dalsiho slova e * konec dalsiho slova E * no konec nasledujiciho slova pred mezeru b * na zacatek predchazejiciho slova O * zacatek radku ^ * na prvni slovo v radku $ * na konec radku * na zacatek nasledujiciho radku /ENTER - * na zacatek predchazejiciho slova G * na konec slouboru 1G * na zacatek souboru nG * na radek s poradovim cislem n CTRL+SIFT+G * zobrazi cislo aktualniho radku % * na odpovidajici hranatou zavorku H * na prvni radek obrazovky M * na prostredni radek obrazovky L * na na spodni radek obrazovky nl * na sloupec n ni * opakovane vlozeni textu n-krat - cislo, i, znak, esc Rolovani CTRL+f * o stranku nahoru CTRL+b * o stranku dolu CTRL+d * o pul stranky dolu CTRL+u * o pul stranky nahoru vi +10 myfile.tex * otevre soubor s kurzorem na 10. radku Modifikace textu BACKSPACE * posun doleva na AKTUALNIM radku (+mazani znaku-dle implementace) a * pridani textu od aktualni pozice A * pridani textu na konec radku i * vlozeni textu vlevo od kurzoru I * vlozeni textu vlevo od prvniho vyskytu zobrazitelneho znaku v akt. radku o * otevreni noveho radku a vlozeni textu za akt. radek O * otevreni noveho radku a vlozeni textu pred akt. radek X * zruseni znaku na pozici kurzoru dw * zruseni textu od akt. pozice do konce slova dd * zruseni akt. radku D * zruseni textu od akt. pozice do konce radku nx * n-krat opakovane rusi znaku na pozici kurzoru ndd * zruseni n radku dnw * zruseni n slov ndw * zruseni n slov dG * zruseni textu od akt. pozice do konce souboru d1G * zruseni textu od akt. pozice do zacatku souboru d$ * zruseni textu od akt. pozice do konce radku dn$ * zruseni textu od aktualni pozice do konce n-teho radku u * zruseni posledniho prikazu U * zruseni vsech zmen na radku :e! * obnova stavu souboru od okamziku, kdy byl naposledy ulozen Prepisovaci mod r, C * prepis znaku na pozici kurzoru znakem R * prepsani textu novym textem c, W * zmena textu v aktualnim slove c, $ * zmena textu od aktualni pozice do konce radku c,n,w * zmena nasledujicich n slov c,n,$ * zmena do konce n-teho radku C * zmena do konce radku c,c * zmena aktualni radku S * nahrazeni aktualniho znaku v psanem textu n,s * nahrazeni n aktualnich znaku v psanem textu KOPIROVANI A PRESOUVANI CASTI TEXTU y,y * kopie aktualniho radku do nepojmenovaneho buferu Y * kopie aktualniho radku do nepojmenovaneho bufferu c,y,y * kopie nasledujicich n radku do nepojmenovaneho bufferu c,Y * kopie nasledujicich n radku do nepojmenovaneho bufferu y,w * presun slova do nepojmenovaneho bufferu y,n,w * presun n slov do nepojmenovaneho bufferu n,y,w * presun n slov do nepojmenovaneho bufferu y,$ * presun textu od aktualni pozice do konce radkdu Nepojmenovany buffer je oblast pameti, jeji obsah muze byt zrusen jinym prikazem. Pro ulozeni textu na delsi dobu lze pouzit pojmenovany buffer, identifikacni jmeno je jednoznakove pismeno Pro rozliseni nazvu bufferu se pouziva znak " pri odkaz na buffer se pouziva malych pismen pokud ma byt obsah buferu zcela nahrazen a velka pismena, pokud ma byt obsah doplnen. ",a,y,y * presunuti aktualniho radku do pojmenovaneho bufferu a ",a,Y * presunuti aktualniho radku do pojmenovaneho bufferu a ",b,y,w * presun aktualniho slova do pojmenovaneho bufferu b ",B,y,w * pridani slova k obsahu pojmenovaneho bufferu b ",b,y,3,w * presunuti nasledujicich 3 slov do pojmenovaneho bufferu b NALEPENI OBSAHU DO TEXTU p * zkopirovani obsahu nepojmenovaneho bufferu vpravo od pozice kurzoru P * zkopirovani obsahu nepojmenovaneho bufferu vlevo pd pozice kurzoru n,P * zkopirovani obsahu nepojmenovaneho bufferu n-krat vlevo od pozice kurzoru ",a,p * zkopirovani obsahu pojmenovaneho bufferu a vpravo od pozice kurzoru ",b,3,P * zkopirovani obsahu pojmenovaneho bufferu b trikrat vlevo od pozice kurzoru V systemu x-window lze pouzit pro kopirovani do buferu oznaceni textu pomoci leveho tlacitka mysi a jeho vlozeni do textu prostrednim tlacitkem Editoru musi byt prepnut do VKLADACIHO MODU Presouvani textu ",a,d,d * zruseni radku a presunuti do pojmenovaneho bufferu a ",a,4,d,d * zruseni ctyr radku a presunuti do pojmenovaneho bufferu a d,w * zruseni slova a presunuti do nepojmenovaneho bufferu Vyhledavani a nahrazovani textu f,c * vyhledani nasledujiciho znaku c vpravo od kurzoru F,c * vyhledani nasledujiciho znaku c vlevo od kurzoru t,c * presun kurzoru na pozici vlevo od nasledujiciho znaku c T,c * presun kurzoru na pozici vpravo od predchazejiciho znaku c ; * opakovani posledniho prikazu pro hledani , * stejne jako ; ale meni smer hledani /str * vyhledani retezce od aktualni pozice ?str * vyhledani rezezce pred aktualni pozici n * opakovani / nebo ? N * stejne jako n ale meni smer vyhledavani po zadani / nebo ? se na spodu obrazovky vytvori prazdny radek, kam zadate hledany retezec a ENTER Retezec muze byt regularnim vyrazem Mozne pseudoznaky: . * jakykoli znak krome newline \ * uvozuje jakykoliv specialni znak * * vyhovuje vyskyt predchazejicich znaku [] * vyhovuje prave jeden znak uvedeny v zavorkach ^ * vyhovuje prave jeden znak, jen pokud je na zacatku radku $ * vyhovuje znak predchazejici konci radku [^] * vyhovuji znaky neuvedene v hranatych zavorkach [-] * vyhovuji znaky z uvedeneho rozsahu PRIKLAD REG. VYRAZU c.pe * vyhovuji slova jako cope, cape, caper a podobne c\.pe * vyhovuji slova jako c.pe, c.per a podobne sto*p * vyhovuji slova jako stp, stop, stoop a podobne cat.*n * vyhovuji slova jako carton, cartoon a podobne xyz.* * vyhovují xyz do konce řádku ^The * vyhovuji vsechny radky zacinajici na The atime$ * vyhovuji radky koncici na atime ^Only$ * vyhovuji radky obsahujici slovo Only b[aou]rn * vyhovuji slova barn, born, burn Ver[D-F] * vyhovuji slova VerD, VerE, VerF Ver[^1-9] * vyhovuji slova zacinajici na Ver po kterych nenasleduje cislice the[ir][re] * vyhovuji slova their, therr, there, theie [A-Za-z][A-Za-z]* * vyhovuje jakekoliv slovo Editor vi pouziva prikazovy mod ex pro operace vyhledavani a nahrady retezcu. Vsechny prikazy zacinajici : jsou provadeny v modu ex. Obecny tvar prikazu pro nahradu retezce: :,s///g ***Priklady*** :1,$s/the/The/g * vyhleda vsechny vyskyty slova the a nahradi je The :%s/the/The/g * totez. % znaci cely soubor :.,5s/^.*//g * zrusi obsah souboru od aktualniho radku po paty radek :%s/the/The/gc * nahradi vsechny vyskyty slova the slovem The a pred kazdou nahradou zada potvrzeni :%s/^....//g * zrusi prvni 4 znaky kazdeho radku :1,5s/help/&ing/g * v prvnich peti radcich nahradi slovo help slovem helping :%s/ */&&/g * v celem souboru zdvojnasobi pocet mezer mezi slovy k stanoveni rozsahu nahrady slouzi zavorky () :s/^\(.*\):.*/\1/g * zrusi vse co nasleduje po : vcetne dvojtecky samotne :s/\(.*\):\(.*\)/\2:\1/g * vymeni slova na obou stranach dvojtecky SOUHRN PRIKAZU ESC * prepnuti do prikazoveho modu i * text. mod, vlozit text vlevo od kurzoru a * text. mod, vloziz text vpravo od kurzoru h * doleva l * doprava k * o radek nahoru j * o radek dolu :w * ulozeni souboru na disk :q * ukonceni edidoru vi :wq * ulozeni souboru a ukonceni editoru ZZ * (velke ZZ) totez jako :wq, ale neuklada soubor, pokud nedoslo ke zmene :q! * ukonceni nez ulozeni zmen w * na zacatek dalsiho slova e * konec dalsiho slova E * no konec nasledujiciho slova pred mezeru b * na zacatek predchazejiciho slova O * zacatek radku ^ * na prvni slovo v radku $ * na konec radku * na zacatek nasledujiciho radku /ENTER - * na zacatek predchazejiciho slova G * na konec slouboru 1G * na zacatek souboru nG * na radek s poradovim cislem n CTRL+SIFT+G * zobrazi cislo aktualniho radku % * na odpovidajici hranatou zavorku H * na prvni radek obrazovky M * na prostredni radek obrazovky L * na na spodni radek obrazovky nl * na sloupec n ni * opakovane vlozeni textu n-krat - cislo, i, znak, esc CTRL+f * o stranku nahoru CTRL+b * o stranku dolu CTRL+d * o pul stranky dolu CTRL+u * o pul stranky nahoru BACKSPACE * posun doleva na AKTUALNIM radku (+mazani znaku-dle implementace) a * pridani textu od aktualni pozice A * pridani textu na konec radku i * vlozeni textu vlevo od kurzoru I * vlozeni textu vlevo od prvniho vyskytu zobrazitelneho znaku v akt. radku o * otevreni noveho radku a vlozeni textu za akt. radek O * otevreni noveho radku a vlozeni textu pred akt. radek X * zruseni znaku na pozici kurzoru dw * zruseni textu od akt. pozice do konce slova dd * zruseni akt. radku D * zruseni textu od akt. pozice do konce radku nx * n-krat opakovane rusi znaku na pozici kurzoru ndd * zruseni n radku dnw * zruseni n slov ndw * zruseni n slov dG * zruseni textu od akt. pozice do konce souboru d1G * zruseni textu od akt. pozice do zacatku souboru d$ * zruseni textu od akt. pozice do konce radku dn$ * zruseni textu od aktualni pozice do konce n-teho radku u * zruseni posledniho prikazu U * zruseni vsech zmen na radku :e! * obnova stavu souboru od okamziku, kdy byl naposledy ulozen r, C * prepis znaku na pozici kurzoru znakem R * prepsani textu novym textem c, W * zmena textu v aktualnim slove c, $ * zmena textu od aktualni pozice do konce radku c,n,w * zmena nasledujicich n slov c,n,$ * zmena do konce n-teho radku C * zmena do konce radku c,c * zmena aktualni radku S * nahrazeni aktualniho znaku v psanem textu n,s * nahrazeni n aktualnich znaku v psanem textu y,y * kopie aktualniho radku do nepojmenovaneho buferu Y * kopie aktualniho radku do nepojmenovaneho bufferu c,y,y * kopie nasledujicich n radku do nepojmenovaneho bufferu c,Y * kopie nasledujicich n radku do nepojmenovaneho bufferu y,w * presun slova do nepojmenovaneho bufferu y,n,w * presun n slov do nepojmenovaneho bufferu n,y,w * presun n slov do nepojmenovaneho bufferu y,$ * presun textu od aktualni pozice do konce radkdu ",a,y,y * presunuti aktualniho radku do pojmenovaneho bufferu a ",a,Y * presunuti aktualniho radku do pojmenovaneho bufferu a ",b,y,w * presun aktualniho slova do pojmenovaneho bufferu b ",B,y,w * pridani slova k obsahu pojmenovaneho bufferu b ",b,y,3,w * presunuti nasledujicich 3 slov do pojmenovaneho bufferu b p * zkopirovani obsahu nepojmenovaneho bufferu vpravo od pozice kurzoru P * zkopirovani obsahu nepojmenovaneho bufferu vlevo pd pozice kurzoru n,P * zkopirovani obsahu nepojmenovaneho bufferu n-krat vlevo od pozice kurzoru ",a,p * zkopirovani obsahu pojmenovaneho bufferu a vpravo od pozice kurzoru ",b,3,P * zkopirovani obsahu pojmenovaneho bufferu b trikrat vlevo od pozice kurzoru ",a,d,d * zruseni radku a presunuti do pojmenovaneho bufferu a ",a,4,d,d * zruseni ctyr radku a presunuti do pojmenovaneho bufferu a d,w * zruseni slova a presunuti do nepojmenovaneho bufferu f,c * vyhledani nasledujiciho znaku c vpravo od kurzoru F,c * vyhledani nasledujiciho znaku c vlevo od kurzoru t,c * presun kurzoru na pozici vlevo od nasledujiciho znaku c T,c * presun kurzoru na pozici vpravo od predchazejiciho znaku c ; * opakovani posledniho prikazu pro hledani , * stejne jako ; ale meni smer hledani /str * vyhledani retezce od aktualni pozice ?str * vyhledani rezezce pred aktualni pozici n * opakovani / nebo ? N * stejne jako n ale meni smer vyhledavani PRIRUCKA SPRAVCE OPERACNIHO SYSTEMU ------------------------------------ 165