Oper ci s rendszerek i
This presentation is the property of its rightful owner.
Sponsored Links
1 / 46

Operációs Rendszerek I. PowerPoint PPT Presentation


  • 47 Views
  • Uploaded on
  • Presentation posted in: General

Operációs Rendszerek I. Ismerkedés a parancssorral Fájlkezelés parancssorból Egyszerű parancsfájlok. A parancssor (cmd). Jellemzői Majd minden OR alatt van valami hasonló Használata esetenként gyorsabb, mint a GUI alapú megoldásoké Lehet scriptet írni

Download Presentation

Operációs Rendszerek I.

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Oper ci s rendszerek i

Operációs Rendszerek I.

Ismerkedés a parancssorral

Fájlkezelés parancssorból

Egyszerű parancsfájlok


A parancssor cmd

A parancssor (cmd)

  • Jellemzői

    • Majd minden OR alatt van valami hasonló

    • Használata esetenként gyorsabb, mint a GUI alapú megoldásoké

    • Lehet scriptet írni

    • Kevesebb erőforrás igény (mint GUI esetén)

    • Van history (előzmények)

      • könnyebb parancsot ismételni

      • log is egyben

    • Parancsok és kapcsolók pontos szintaxisát ismerni kell (de…)


A parancssor

A parancssor

  • indítása: futtatás  cmd

  • Indulási könyvtár: indítás helye / HOMEPATH

  • kilépés: exit

  • navigáció

    • Parancssorban mozgás: kurzor, HOME és END

    • ↑ és ↓  history

    • F7  parancs history „ablakban”

    • fájlnév kiegészítés: TAB

    • Teljes képernyő: bal ALT+ENTER


Ablak megjelen se

Ablak megjelenése

  • Indítási paraméterek

    • /c : egyetlen (megadott) parancs végrehajtása

    • /t:fg : színek beállítása (pl. 16)

    • /e:on : parancskiterjesztés engedélyezése

    • Stb. (lásd cmd /? és HELP)

  • Címsoron jobb klikk  tulajdonságok

    • Működési környezet beállítása

      • Tippek: HELP „To configure the command prompt”

  • title parancs: ablak címének megadása


Parancsok t pusai

Parancsok típusai

  • belső:

    • cmd.exe tudja pl.:

      • dir

      • copy

  • külső parancsok  másik exe-t futtat le:

    • pl.: sort.exe  c:\Window\System32\sort.exe

      • Vagy nem, ez telepítéstől függ!


Parancsok fel p t se

Parancsok felépítése

  • Parancsnév [kapcsolók] [paraméterek]

    • pl: copy /y fajl1 fajl2

  • Parancsok működése kapcsolókkal (/kapcsolo) módosítható

  • Kapcsolók egyidejű használata parancsfüggő (HELP), lehetnek egymást kizáró kapcsolók is

  • Általában mindig van: /?

  • Ha a program mindenképpen vár paramétert, de nem adjuk meg hibajelzés

  • Egyszerre akár több paraméter is átadható (vagy éppen átadandó)


Seg ts g

Segítség

  • Források

    • Konvencionális kapcsoló: /?

    • help „parancsnév”

    • Start menü – Segítség és támogatás

      • Referencia: „Command-line reference A-Z”, „Command shell overview”

  • Jelölések

    COPY [/d] [/v] [/n] [{/y|/-y}] [/z] [{/a|/b}] Source [{/a|/b}]

    [+ Source [{/a|/b}] [+ ...]] [Destination [{/a|/b}]]

    • COPY: a parancs

    • Source, Destination: paraméterek

    • /d, /v, stb. : kapcsolók

    • [/d] [destination] : opcionális elem

    • {/a|/b} : egymást kizáró (együtt nem használható) elemek


Fontosabb parancsok

Fontosabb parancsok

  • dir: könyvtár tartalmának listázása

  • cd: munkakönyvtár lekérése / beállítása

  • copy: fájlok másolása

  • move / rename: fájlok mozgatása, átnevezése

  • mkdir, rmdir: könyvtár létrehozás, törlés

  • edit: minimal editor


Gyakorl s

Gyakorlás

  • Alapok

    • Indítsa el a parancsértelmezőt (cmd)

    • Állítson be kék háttért és sárga betűket

    • Az ablak címét állítsa át: „parancsaim”-ra

  • On-Line help

    • Hogyan lehet a „dir” parancsot úgy futtatni, hogy az csak a fájlok neveit írja ki? (/B)

    • Melyik paranccsal lehet a c: meghajtó könyvtárstruktúráját (fát) kiíratni?

  • Alapvető parancsok (minden lépés után ellenőrizze az eredményt)

    • Hozzon létre egy „munkáim” könyvtárat

    • Ebben hozzon létre egy „valami.txt” fájl

    • Készítsen másolatot „fontos.txt” néven

    • A „valami.txt” fájl nevezze át „nemfontos.txt” névre

    • Törölje le a létrehozott fájlokat és a könyvtárat


F jlok s k nyvt rak

Fájlok és könyvtárak

  • Diszk és könyvtárstruktúra (részletek később)

    • Diszkeket betűjelükkel azonosítjuk (pl. c:)

    • Diszkeken fa struktúrájú könyvtár-rendszer

    • Az egyes könyvtárak közötti elválasztójel: ‘\’

  • Kitűntetett helyek (könyvtár struktúrában)

    • Gyökér (kiinduló) könyvtár, jele: \

    • Munkakönyvtár (aktuális könyvtár)

    • Felhasználó „HOME” könyvtára (HOMEPATH környezeti változó)

  • Fájl elérési utak megadása

    • abszolút elérés: gyökérkönyvtártól, a fát végigjárva adjuk meg

    • Relatív megadás: a munkakönyvtárhoz képest (relatív) adjuk meg

      • Hivatkozás az aktuális könyvtárra: ‘.’

      • Hivatkozás a szülő könyvtárra: ‘..’

  • Elérési út megadása parancsoknál

    • Abszolút vagy relatív

    • Elérés keresési út (PATH környezeti változó) segítségével

    • Ha nincs kiterjesztés: behelyettesít (exe, com, cmd, bat, stb.)


K rnyezeti v ltoz k

Környezeti változók

  • Különféle azonosítók tárolására alkalmas

    • pl. SystemRoot, windir, UserName, PATH

  • Sajátgép/Tulajdonságok/Speciális/Környezeti változók

  • Kétféle környezeti változó

    • Felhasználó változói

    • Rendszerváltozók

  • Használatuk parancssorban

    • Megadás

      set PATH=c:\mydir

      set PATH=%PATH%;c:\mydir

      set ALMA=%PATH%;c:\mydir

    • Hivatkozás a változóra: %név%

      echo %ALMA%


Gyakorl s1

Gyakorlás

  • PATH

    • Készítsen másolatot a „notepad.exe” fájlról (c:\windows\system32) a saját könyvtárába „notesz.exe” néven

    • Az elérési út megváltozatásával biztosítsa, hogy a „notesz.exe” bárhonnan elindítható legyen

  • Egyéb változók

    • Hozzon létre egy munkakönyvtárat, majd egy „enkonyvtaram” változót, amely értékként a könyvtár elérési útját tartalmazza!

    • Az „enkonyvtaram” változó használatával másolja át a Windows system32 könyvtárában található összes „com” típusú fájlt a létrehozott könyvtárba!

    • Törölje le az „enkonyvtaram” tartalmát és magát a könyvtárat is!


Llom nynevek

Állománynevek

  • Hossza legfeljebb 255 karakter lehet

  • Tartalmazhat szóközt és pontokat (többet)

  • Tartalmazhat ékezetes betűket

  • Tiltott karakterek: ? * \ / : < > |

  • Fájltípusok: kiterjesztés alapján dől el

  • Kiterjesztés az utolsó pont mögött álló rész (lehet több, mint 3 karakter)

    • a „beépített” típusok (exe, cmd, stb.) mellett az alkalmazások is regisztrálhatnak saját típusokat (asszociáció)

  • Kis és nagybetűt megőrzi, de fájlok kezelésekor nem veszi figyelembe

  • Hosszú nevekhez rövid (8.3) változatú név létrehozása automatikusan megtörténik


Oper ci s rendszerek i

  • A .txt fájlnévkiterjesztéshez tartozó fájltípustársítás törléséhez a következőt kell beírnia:

    FTYPE rtffile="C:\Program Files\Windows NT\Accessories\WORDPAD.EXE" "%1"

    ASSOC .rtf=rtffile


Gondok az llom nynevekkel

„Gondok” az állománynevekkel

  • Szóközök a névben: honnan „tudja” a parancs?

    Forrás: elso masodikCél: harmadik

    copy elso masodik harmadik (3 paraméter)

    Megoldás: idézőjelek használata

  • Kis és nagybetűk

    • „Idegen” rendszereknél (pl. Unix) gondokat okozhat

  • Nemzeti karakterek a nevekben

    • A nevek az adott XP példány alapértelmezett kódlapját használva konvertálódnak Unicode-ról, ez pedig már a magyar ékezeteknél is gond lehet (pl. angol az alapértelmezett kódlap) – „Control Panel/Regional and Language/Advanced”


Elnevez si tippek

Elnevezési tippek

  • ekezet nelkul (ha lehet)

  • space nélkül, helyette alulvonás (_)

  • kis-nagybetűk egységesen

  • név önmagáért beszéljen

    • később is tudnunk kell mi az adott fájl

    • ne legyen nagyon hosszú


Gyakorl s2

Gyakorlás

  • Nevükben szóközt tartalmazó fájlok

    • Létrehoz: „alma”, „körte” és „alma körte”

    • Töröl alma körte (idézőjel nélkül)

    • Nézd meg mit csináltál…

    • Töröl alma körte (most már rendesen)

  • Kis és nagybetű

    • Létrehoz: alma

    • Másol: alma→Körte

    • Másol: alma→KÖRTE

    • Másol: alma→ kÖRTE

    • Hány körte van? Pontosan mi a neve?


F jl s k nyvt rkezel s

Fájl és könyvtárkezelés

  • Könyvtárak tartalmának listázása: dir

  • Aktuális (munka) könyvtár nevének lekérése: cd

  • Aktuális (munka) könyvtár megváltoztatása: cd

  • Könyvtárváltás „visszaúttal”: pushd/popd

  • További parancsok

    • Könyvtár létrehozása: mkdir

    • Könyvtár törlése: rmdir

      • Alapértelmezés: csak üres könyvtárat enged törölni!

      • /S kapcsoló: rekurzív törlés, akkor is megy, ha nem üres a könyvtár

      • /Q kapcsoló: /S esetén elnyomja a megerősítés kérést

    • Átnevezés


Alapvet f jlm veletek

Alapvető fájlműveletek

  • Másolás: copy

    • copy <srcfile> <dstfile>

    • Összefűzés: copy <srcfile> <+srcfile> … <dstfile>

  • Mozgatás: move(átnevezésre is használható)

    • move <srcfile> <dstfile>

  • Átnevezés: rename/ren

    • rename <src> <dst>, de dst esetében csak egy fájlnév állhat, elérési út nem (semmilyen módon)!

      • rename c:\tmp\alma.txt korte.txt 

      • rename c:\tmp\alma.txt c:\temp\korte.txt 

  • Törlés: del/erase

    • del <file>

    • Rekurzív törlés (alkönyvtárakban is): del /s <file>


F jlm veletek folytat s

Fájlműveletek (folytatás)

  • Speciális „fájlok” – Unix örökség az eszközök eléréséhez (con, null, stb.)

    • copy con c:\tmp\alma.txt (CTRL-Z!)

    • copy c:\tmp\alma.txt con

    • copy c:\tmp\alma.txt nul

  • Xcopy

    • Rekurzív másolás (üres könyvtárak is): xcopy a: b: /s /e

    • Adott dátum után módosult fájlok másolása: xcopy \rawdata \reports /d:12-29-1993

    • Ugyanez, dátum-korlát nélkül („egyszerű” copy): xcopy \rawdata \reports /u


Gyakorl s3

Gyakorlás

  • pushd/popd

    • Milyen egyéb módon lehet biztosítani a pushd/popd szolgáltatását (legalább egy mélységig)?

  • Copy

    • 3 szöveges fájl létrehozása (pár soros)

    • Fájlok összefűzése egy fájllá

  • Copy con

    • Fájl létrehozása „copy con” módon

    • Fájl kiíratása „copy con” módon

  • Xcopy próbálgatása


Helyettes t karekterek

Helyettesítő karekterek

  • Probléma: valamilyen műveletet (pl. másolás, törlés) egyszerre több fájlon szeretnénk végrehajtani

  • Megoldás: ha a fájlok nevük alapján megkülönböztethetők, akkor a helyettesítő karakterek használata

  • Helyettesítő karakterek:

    • : tetszőleges számú karakter

    • : egyetlen karakter

  • Használatuk (pl): copy ab*cd?.e* d:


Sz veges f jlok

Szöveges fájlok

  • Fájl létrehozása

    • Notepad, edit (karakteres)

    • copy con <fn>

  • Fájl tartalmának megjelenítése

    • type <fn>

    • copy <fn> con

  • Fájl tartalmának módosítása

    • Elsődlegesen editorok (edit, stb.)

    • Tartalommal kapcsolatos műveletek

    • Keresés: find

    • Rendezés: sort

    • Fájlok összehasonlítása: fc


Parancsok egym sut nis ga

Parancsok egymásutánisága

  • Többféle lehetőség

  • &: mindig végrehajtásra kerül

    • cmd1 & cmd2

  • &&: csak akkor kerül végrehajtásra, ha a művelet sikeres

    • cmd1 && cmd2

  • ||: csak akkor kerül végrehajtásra ha a művelet sikertelen

    • cmd1 || cmd 2


Parancsok egym sut nis ga1

Parancsok egymásutánisága

Parancsok csoportosítása

(parancs1 & paramcs2) || (parancs3)

(dir & echo hello & mkdir hello)


Gyakorl s4

Gyakorlás

  • Primitív „move” parancs összefűzéssel

    • Először másol, ha sikeres volt, akkor töröl

  • Előfeltétel ellenőrzés

    • Csak akkor próbálja kiírni egy fájl tartalmát (pl. more), ha az létezik

  • Hibakezelés

    • Ha a másolás parancs nem fut le, akkor írjon ki egy üzenetet (pl. „hát ez nem jött össze”)


Tir ny t s

Átirányítás

  • Szabványos be- és kimeneti, hibacsatornák

  • A „jól nevelt” segédprogramok ezeket a csatornákat használják (nem közvetlen képernyő, billentyű elérést)

  • A parancsértelmező képes a szabványos csatornák „eltérítésére” a program tudta nélkül!

    • kimeneti csatorna átirányítása fájlba

      • dir > alma.txt vagy dir >> alma.txt (utóbbi hozzáfűz)

    • bemeneti csatorna fájlból

      • sort < alma.txt

    • Hibacsatorna átirányítása

      • valami.exe 2> alma.txt

    • Csatornába irányítás

      • valami.exe 2>&1


Parancs sszef z s tir ny t s

Parancsösszefűzés, átirányítás

Összetett feladatok esetén az eredményt több parancs egymás utáni végrehajtása adja

  • Minden parancs kimenetét fájlba irányítom, a következő parancs ebből dolgozik

    • dir > alma & sort < alma

  • Vagy: a parancsok ki- és bemenetét közvetlenül összekapcsolom

    • dir | sort


Egy b hasznos parancsok

Egyéb hasznos parancsok

  • more

  • sort

  • find

  • type

  • tree

  • fc


Gyakorl s5

Gyakorlás

  • Fájlmásolás type paranccsal és átirányítással

  • Döntse el, hogy létezik-e az adott könyvtár, de a tartalmát ne írja ki /Fájl kimenetének (dir) átirányítása „nul” eszközre/

  • Kapcsolók használata nélkül tördelje fel képernyőkre a „dir” parancs kimenetét /pipe használata (dir és more kapcsolata)/

  • Készítsen el a „nevek.txt” fájlt, amelyet töltsön fel a laborban találhatók keresztneveivel. Rendezze ABC sorrendbe a neveket!


Gyakorl s6

Gyakorlás

  • Parancsok működésének kitalálása On-Line help segítségével (sort, fc, find)


Parancsf jlok

Parancsfájlok

  • Ami volt: parancsok összekapcsolása parancssorból (parancsok egymás utáni végrehajtása, függőséggel), az STDIO (átirányítás, pipe)

  • Parancsfájlok: mi az?

  • Általános célú parancsfájlok: parancssori paraméterek

  •  Parancssori paraméteres példa

  • További lehetőségek röviden: változók, elágazások, vezérlésátadás és ciklusok

  •  Egyszerű példák


Batch f jlok

Batch fájlok

  • Fájl kiterjesztése: bat vagy cmd

  • Fájl tartalma: különféle parancsok egymásutánja

  • rem: comment

    • pl: rem Ezt a sort ne hajtsd végre

    • Ki fogja irni, de nem értelmezi

  • echo off

    • Alapból mindent kiír, ezzel a parancs kiírása megakadályozható globálisan

    • Parancs elé tett @ ugyanezt teszi (arra a sorra)

  • Escape karakter: ^


Gyakorl s7

Gyakorlás

  • Egyszerű parancsfájl létrehozása és futtatása: parancsok egymásutánja

  • Előző órák során kipróbált parancs-kombinációk átírása parancs fájlba

  • Echo off hatásának kipróbálása

  • Megyjegyzések a fájlok elejére (ki készítette, mi a célja)


V ltoz k

Változók

  • Lásd Korábbi: környezeti változók!

  • létrehozás: set valtozonev=”valami”

  • törlés: set valtozonev=

  • A változóknak azonnal értéket kell adni

  • Ez sem case sensitive

  • Hatóköre az adott parancsfájl

  • kisebb hatókör kell, akkor setlocal, endlocal

  • Aritmetika: /a

    • set ertek=4+4 – string-ként értelmezi

    • set /a ertek=4+4: 8 (azaz összeadta)


Bemeneti param terek

Bemeneti paraméterek

  • %0: fájl neve

  • %1, %2, … %9: kapcsolók, paraméterek

  • %* - az átadott összes paraméter

  • SHIFT parancs (paraméterek eltolása)

  • SHIFT /3 eltolás a 3. paramétertől kezdődően

    • Pl. a.cmd fájl, benne echo-k (echo %0, echo %1, stb.)

    • a.cmd se ki se be se nyő

    • : %0: a.cmd

    • : %1: se

    • : %2: ki

    • stb.


Gyakorl s8

Gyakorlás

  • Előzőekben elkészített fájlok (pl. move megoldása copy és delete segítségével) kiegészítése

    • Paramétereket parancssorból vegye

    • Ha a forrásfájl nem létezik, akkor írjon ki valamilyen üzenetet (előzetes tesztelés)

  • Egyszerű összeadó gép készítése

    • Adja össze a paraméterként megadott két számot!


If felt teles el gaz sok

IF – feltételes elágazások

IF: feltételtől függő működés megvalósítása

  • IF [NOT] condition (statement1) [else (statement2)]

  • if [not] errorlevelnumbercommand [elseexpression]

  • if [not] string1==string2command [elseexpression]

  • if [not] exist FileNamecommand [elseexpression]

    Ha a kiterjesztett parancsok engedélyezettek:

  • if [/i] string1CompareOpstring2command [elseexpression]

  • ifcmdextversionnumbercommand [elseexpression]

  • ifdefinedvariablecommand [elseexpression]


El gaz sok folytat s

Elágazások folytatás

  • IF „%ComputerName%”==”kalapacs” (echo „De fura nev”) else (echo „Nem is olyan fura nev”)

    • „”-re vigyázni, nélküle nem megy!

    • IF NOT: mint az IF, csak negálva

  • IF [NOT] DEFINIED

    • true, ha a megadott változó létezik: if not definied %temp% (set temp=”C:\temp”)

    • DE: %1, %2, stb. mindig definiálva van!

  • IF [NOT] EXIST: fájl létezését vizsgálja

  • IF[NOT]ERRORLEVEL: elágazás parancs végrehajtási státusza (exit code) alapján

    • DIR q:\ & IF ERRORLEVEL 1 (echo HIBA)

    • Igaz, ha az exit code >= mint az érték


P ld k

Példák

  • if ”%1”==”a” (echo A) else (echo is not A)

  • If ”%varA%” equ ”%varB%” (echo Match!)


El gaz sok folytat s1

Elágazások folytatás

  • Összehasonlítások IF-ben

    • if „stringA”==”stringB”

    • if „%varA%”==”stringA”

    • if „%varA%”==”%varB%”

      • Idézőjel használata hasznos

    • /i kapcsoló használatával nem tesz különbséget a kis- és nagybetűk között

    • EQU equal 

    • NEQ not equal 

    • LSS less than 

    • LEQ less than or equal 

    • GTR greater than 

    • GEQ greater than or equal

      • if „%varA%” lss ”%varB%”: igaz, ha varA kisebb, mint varB


El gaz sok folytat s2

Elágazások folytatás

  • IF igaz és hamis ágához csak egy parancsot írhatunk (vagy láncolni)  goto

  • Például:

    if "%1"=="1" goto alma

    if "%1"=="2" goto korte

    goto exit

    :alma

    echo „ez itt az 1-ag”

    goto exit

    :korte

    echo „ez itt a 2-ag”

    goto exit

    :exit


Gyakorl s9

Gyakorlás

  • Az első paraméterként kapott értéket vizsgáljuk meg. Amennyiben 12 a szám, írjuk ki, hogy "Tizenkettő", amennyiben nem, akkor írjuk ki, hogy "A beírt érték nem tizenkettő!"

  • Move példa hibakezelés része átalakítása „if” szerkezetre

  • Készítsen scriptet, amely az első paraméterként kapott fájlt ellenőrzi, hogy létezik-e. Amennyiben igen, akkor írassa ki, amennyiben nem, hozzon létre egy új fájlt a könyvtár fastruktúrájának tartalmával

  • Négy alapműveletes számológép, RPN megadással (parancssori paraméterekkel)


Iter ci

Iteráció

  • for [módszer] (változónév) in (fájllista) do (parancs)

  • Módszer lehet:

    • /D: Könyvtárak iterálása

    • /R: alkönyvtárakkal együtt

    • /L: értéksorozat végigjárása

    • /F: fájlon belül soronkénti iterálás

    • Kapcsoló nélkül: Fájlok iterálása

  • Példák

    • for %%B in (*.*) do echo %%B

    • for /d %%B in (*.*) do echo %%B

    • for /l %%B in (0,1,10) do @echo %%B

    • For /f %%B in (akarmi.txt) do echo %%B

  • Parancssorban csak %B a változó


Iter ci1

Iteráció

  • for /d %%B in (%SystemRoot% %SystemRoot%\*) do echo %%B

  • for /d %%B in (%APPDATA% %APPDATA%\*) do

    (@for %%C in (”%%B\*.txt”) do echo %%C)


Gyakorl s10

Gyakorlás

  • 1. Készítsen egy olyan scriptet, amely elszámol az első paraméterként megadott értéktől a másodikig. Módosítsa úgy a scriptet, hogy akkor is fusson le, ha az első paraméter nagyobb, mint a második!

  • 2. Hozzon létre egy fájlt, melynek tartalma a következő legyen:

    • Valami_1

    • Valami_2

    • Valami_3

  • Hozzon létre script segítségével könyvtárakat a fájlban szereplő nevekkel!


  • Login